From 6a5debd5319b14aedbf9033508bd6b61c60cbdcb Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 12 Jun 2019 16:10:10 +0200 Subject: [PATCH 001/199] Started work on wind-up. --- .../estimation/measurements/gnss/WindUp.java | 60 ++++++++++++++ .../measurements/gnss/WindUpFactory.java | 80 +++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java create mode 100644 src/main/java/org/orekit/estimation/measurements/gnss/WindUpFactory.java diff --git a/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java b/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java new file mode 100644 index 000000000..615c492f0 --- /dev/null +++ b/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java @@ -0,0 +1,60 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.estimation.measurements.gnss; + +import java.util.Collections; +import java.util.List; + +import org.orekit.estimation.measurements.EstimatedMeasurement; +import org.orekit.estimation.measurements.EstimationModifier; +import org.orekit.utils.ParameterDriver; + +/** Modifier for wind-up effect in GNSS {@link Phase phase measurements}. + * @see WindUpFactory + * @author Luc Maisonobe + * @since 10.1 + */ +public class WindUp implements EstimationModifier { + + /** Simple constructor. + *

+ * The constructor is package protected to enforce use of {@link WindUpFactory} + * to preserve phase continuity for successive measurements involving the same + * satellite/receiver pair. + *

+ */ + WindUp() { + // TODO + } + + /** {@inheritDoc} + *

+ * Wind-up effect has no parameters, the returned list is always empty. + *

+ */ + @Override + public List getParametersDrivers() { + return Collections.emptyList(); + } + + /** {@inheritDoc} */ + @Override + public void modify(final EstimatedMeasurement estimated) { + // TODO + } + +} diff --git a/src/main/java/org/orekit/estimation/measurements/gnss/WindUpFactory.java b/src/main/java/org/orekit/estimation/measurements/gnss/WindUpFactory.java new file mode 100644 index 000000000..a7e2889d4 --- /dev/null +++ b/src/main/java/org/orekit/estimation/measurements/gnss/WindUpFactory.java @@ -0,0 +1,80 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.estimation.measurements.gnss; + +import java.util.HashMap; +import java.util.Map; + +import org.orekit.gnss.SatelliteSystem; + +/** Factory for {@link WindUp wind-up} modifiers. + *

+ * The factory ensures the same instance is returned for all + * satellite/receiver pair, thus preserving phase continuity + * for successive measurements involving the same pair. + *

+ * @author Luc Maisonobe + * @since 10.1 + */ +public class WindUpFactory { + + /** Modifiers cache. */ + private final Map>> modifiers; + + /** Simple constructor. + */ + WindUpFactory() { + this.modifiers = new HashMap<>(); + } + + /** Get a modifier for a satellite/receiver pair. + * @param system system the satellite belongs to + * @param prnNumber PRN number + * @param receiverName name of the receiver + * @return modifier for the satellite/receiver pair + */ + public WindUp getWindUp(final SatelliteSystem system, final int prnNumber, final String receiverName) { + + // select satellite system + Map> systemModifiers = modifiers.get(system); + if (systemModifiers == null) { + // build a new map for this satellite system + systemModifiers = new HashMap<>(); + modifiers.put(system, systemModifiers); + } + + // select satellite + Map satelliteModifiers = systemModifiers.get(prnNumber); + if (satelliteModifiers == null) { + // build a new map for this satellite + satelliteModifiers = new HashMap<>(); + systemModifiers.put(prnNumber, satelliteModifiers); + } + + // select receiver + WindUp receiverModifier = satelliteModifiers.get(receiverName); + if (receiverModifier == null) { + // build a new wind-up modifier + receiverModifier = new WindUp(); + satelliteModifiers.put(receiverName, receiverModifier); + } + + return receiverModifier; + + } + +} -- GitLab From 1fa187cfeb850775a1c3bb4a5c2ef26671943a1b Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 24 Jun 2019 17:32:47 +0200 Subject: [PATCH 002/199] Implemented wind-up computation. --- .../estimation/measurements/gnss/WindUp.java | 52 +++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java b/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java index 615c492f0..8eac099f1 100644 --- a/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java +++ b/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java @@ -19,26 +19,37 @@ package org.orekit.estimation.measurements.gnss; import java.util.Collections; import java.util.List; +import org.hipparchus.geometry.euclidean.threed.Rotation; +import org.hipparchus.geometry.euclidean.threed.Vector3D; +import org.hipparchus.util.FastMath; +import org.hipparchus.util.MathUtils; import org.orekit.estimation.measurements.EstimatedMeasurement; import org.orekit.estimation.measurements.EstimationModifier; +import org.orekit.estimation.measurements.GroundStation; +import org.orekit.frames.Frame; import org.orekit.utils.ParameterDriver; +import org.orekit.utils.TimeStampedPVCoordinates; /** Modifier for wind-up effect in GNSS {@link Phase phase measurements}. + * @see Carrier Phase Wind-up Effect * @see WindUpFactory * @author Luc Maisonobe * @since 10.1 */ public class WindUp implements EstimationModifier { + /** Wind-up cache. */ + private double windUp; + /** Simple constructor. *

* The constructor is package protected to enforce use of {@link WindUpFactory} - * to preserve phase continuity for successive measurements involving the same + * and preserve phase continuity for successive measurements involving the same * satellite/receiver pair. *

*/ WindUp() { - // TODO + windUp = 0.0; } /** {@inheritDoc} @@ -54,7 +65,42 @@ public class WindUp implements EstimationModifier { /** {@inheritDoc} */ @Override public void modify(final EstimatedMeasurement estimated) { - // TODO + + // signal line of sight + final TimeStampedPVCoordinates[] participants = estimated.getParticipants(); + final Vector3D los = participants[1].getPosition().subtract(participants[0].getPosition()).normalize(); + + // get ground antenna dipole + final Frame inertial = estimated.getStates()[0].getFrame(); + final GroundStation station = estimated.getObservedMeasurement().getStation(); + final Rotation offsetToInert = station.getOffsetToInertial(inertial, estimated.getDate()).getRotation(); + final Vector3D iGround = offsetToInert.applyTo(Vector3D.PLUS_I); + final Vector3D jGround = offsetToInert.applyTo(Vector3D.PLUS_J); + final Vector3D dGround = new Vector3D(1.0, iGround, -Vector3D.dotProduct(iGround, los), los). + add(Vector3D.crossProduct(los, jGround)); + + // get satellite dipole + // we don't use the basic yaw steering attitude model from ESA navipedia page + // but rely on the attitude that was computed by the propagator, which takes + // into account the proper noon and midnight turns for each satellite model + final Rotation satToInert = estimated.getStates()[0].toTransform().getRotation().revert(); + final Vector3D iSat = satToInert.applyTo(Vector3D.PLUS_I); + final Vector3D jSat = satToInert.applyTo(Vector3D.PLUS_J); + final Vector3D dSat = new Vector3D(1.0, iSat, -Vector3D.dotProduct(iSat, los), los). + subtract(Vector3D.crossProduct(los, jSat)); + + // raw correction + final double correction = FastMath.copySign(Vector3D.angle(dSat, dGround), + Vector3D.dotProduct(los, Vector3D.crossProduct(dSat, dGround))); + + // ensure continuity accross measurements + // we assume the various measurements are close enough in time + // (less the one satellite half-turn) so the angles remain close + windUp = MathUtils.normalizeAngle(correction, windUp); + + // update estimate + estimated.setEstimatedValue(estimated.getEstimatedValue()[0] + windUp); + } } -- GitLab From f25c5034693f6cf7f41f2d8961ce0c54a8f640de Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 26 Jun 2019 15:06:07 +0200 Subject: [PATCH 003/199] Added getWavelength in GNSS Frequency. --- src/changes/changes.xml | 5 +++++ src/main/java/org/orekit/gnss/Frequency.java | 14 +++++++++++++- .../measurements/gnss/PhaseMeasurementCreator.java | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index bdb091070..7d691ff41 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -20,6 +20,11 @@ Orekit Changes + + + Added getWavelength in GNSS Frequency. + + + + Added phase measurement builder. + Added getWavelength in GNSS Frequency. diff --git a/src/main/java/org/orekit/estimation/measurements/gnss/PhaseBuilder.java b/src/main/java/org/orekit/estimation/measurements/gnss/PhaseBuilder.java new file mode 100644 index 000000000..8241a5415 --- /dev/null +++ b/src/main/java/org/orekit/estimation/measurements/gnss/PhaseBuilder.java @@ -0,0 +1,100 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.estimation.measurements.gnss; + +import org.hipparchus.random.CorrelatedRandomVectorGenerator; +import org.orekit.estimation.measurements.EstimationModifier; +import org.orekit.estimation.measurements.GroundStation; +import org.orekit.estimation.measurements.ObservableSatellite; +import org.orekit.estimation.measurements.generation.AbstractMeasurementBuilder; +import org.orekit.propagation.SpacecraftState; +import org.orekit.time.AbsoluteDate; +import org.orekit.utils.ParameterDriver; + + +/** Builder for {@link Phase} measurements. + * @author Luc Maisonobe + * @since 10.1 + */ +public class PhaseBuilder extends AbstractMeasurementBuilder { + + /** Ground station from which measurement is performed. */ + private final GroundStation station; + + /** Wavelength of the phase observed value [m]. */ + private final double wavelength; + + /** Simple constructor. + * @param noiseSource noise source, may be null for generating perfect measurements + * @param station ground station from which measurement is performed + * @param wavelength phase observed value wavelength (m) + * @param sigma theoretical standard deviation + * @param baseWeight base weight + * @param satellite satellite related to this builder + */ + public PhaseBuilder(final CorrelatedRandomVectorGenerator noiseSource, + final GroundStation station, final double wavelength, + final double sigma, final double baseWeight, + final ObservableSatellite satellite) { + super(noiseSource, sigma, baseWeight, satellite); + this.station = station; + this.wavelength = wavelength; + } + + /** {@inheritDoc} */ + @Override + public Phase build(final SpacecraftState[] states) { + + final ObservableSatellite satellite = getSatellites()[0]; + final double sigma = getTheoreticalStandardDeviation()[0]; + final double baseWeight = getBaseWeight()[0]; + final SpacecraftState state = states[satellite.getPropagatorIndex()]; + + // create a dummy measurement + final Phase dummy = new Phase(station, state.getDate(), Double.NaN, wavelength, sigma, baseWeight, satellite); + for (final EstimationModifier modifier : getModifiers()) { + dummy.addModifier(modifier); + } + + // set a reference date for parameters missing one + for (final ParameterDriver driver : dummy.getParametersDrivers()) { + if (driver.getReferenceDate() == null) { + final AbsoluteDate start = getStart(); + final AbsoluteDate end = getEnd(); + driver.setReferenceDate(start.durationFrom(end) <= 0 ? start : end); + } + } + + // estimate the perfect value of the measurement + double phase = dummy.estimate(0, 0, states).getEstimatedValue()[0]; + + // add the noise + final double[] noise = getNoise(); + if (noise != null) { + phase += noise[0]; + } + + // generate measurement + final Phase measurement = new Phase(station, state.getDate(), phase, wavelength, sigma, baseWeight, satellite); + for (final EstimationModifier modifier : getModifiers()) { + measurement.addModifier(modifier); + } + return measurement; + + } + +} -- GitLab From ffa36f086dcce46aa72836314655cb2c526597a3 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 26 Jun 2019 18:27:15 +0200 Subject: [PATCH 006/199] Improved javadoc. --- .../java/org/orekit/estimation/measurements/gnss/Phase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/orekit/estimation/measurements/gnss/Phase.java b/src/main/java/org/orekit/estimation/measurements/gnss/Phase.java index fca415614..5191b9d55 100644 --- a/src/main/java/org/orekit/estimation/measurements/gnss/Phase.java +++ b/src/main/java/org/orekit/estimation/measurements/gnss/Phase.java @@ -69,7 +69,7 @@ public class Phase extends AbstractMeasurement { /** Simple constructor. * @param station ground station from which measurement is performed * @param date date of the measurement - * @param phase observed value + * @param phase observed value (cycles) * @param wavelength phase observed value wavelength (m) * @param sigma theoretical standard deviation * @param baseWeight base weight -- GitLab From 3a8ed8c52d3b73845870d9de309bde88fc6159a3 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 26 Jun 2019 18:28:14 +0200 Subject: [PATCH 007/199] Fixed wrong wind-up unit: it should be counted in fractions of cycle. --- .../orekit/estimation/measurements/gnss/WindUp.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java b/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java index 8eac099f1..c32bc4e61 100644 --- a/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java +++ b/src/main/java/org/orekit/estimation/measurements/gnss/WindUp.java @@ -38,8 +38,8 @@ import org.orekit.utils.TimeStampedPVCoordinates; */ public class WindUp implements EstimationModifier { - /** Wind-up cache. */ - private double windUp; + /** Cached angular value of wind-up. */ + private double angularWindUp; /** Simple constructor. *

@@ -49,7 +49,7 @@ public class WindUp implements EstimationModifier { *

*/ WindUp() { - windUp = 0.0; + angularWindUp = 0.0; } /** {@inheritDoc} @@ -96,10 +96,10 @@ public class WindUp implements EstimationModifier { // ensure continuity accross measurements // we assume the various measurements are close enough in time // (less the one satellite half-turn) so the angles remain close - windUp = MathUtils.normalizeAngle(correction, windUp); + angularWindUp = MathUtils.normalizeAngle(correction, angularWindUp); // update estimate - estimated.setEstimatedValue(estimated.getEstimatedValue()[0] + windUp); + estimated.setEstimatedValue(estimated.getEstimatedValue()[0] + angularWindUp / MathUtils.TWO_PI); } -- GitLab From c0775ae3794d05cd5b5ea3907b26c4eb670695c5 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 26 Jun 2019 18:29:52 +0200 Subject: [PATCH 008/199] First tests for wind-up effect. --- .../measurements/gnss/WindUpFactoryTest.java | 81 ++++++++ .../measurements/gnss/WindUpTest.java | 188 ++++++++++++++++++ 2 files changed, 269 insertions(+) create mode 100644 src/test/java/org/orekit/estimation/measurements/gnss/WindUpFactoryTest.java create mode 100644 src/test/java/org/orekit/estimation/measurements/gnss/WindUpTest.java diff --git a/src/test/java/org/orekit/estimation/measurements/gnss/WindUpFactoryTest.java b/src/test/java/org/orekit/estimation/measurements/gnss/WindUpFactoryTest.java new file mode 100644 index 000000000..dc36e8a5d --- /dev/null +++ b/src/test/java/org/orekit/estimation/measurements/gnss/WindUpFactoryTest.java @@ -0,0 +1,81 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.estimation.measurements.gnss; + +import org.junit.Assert; +import org.junit.Test; +import org.orekit.gnss.SatelliteSystem; + +public class WindUpFactoryTest { + + @Test + public void testDifferentFactories() { + WindUp windUp1 = new WindUpFactory().getWindUp(SatelliteSystem.GALILEO, 1, "ABC123"); + Assert.assertEquals(0, windUp1.getParametersDrivers().size()); + WindUp windUp2 = new WindUpFactory().getWindUp(SatelliteSystem.GALILEO, 1, "ABC123"); + Assert.assertEquals(0, windUp2.getParametersDrivers().size()); + Assert.assertNotSame(windUp1, windUp2); + } + + @Test + public void testSameFactory() { + WindUpFactory factory = new WindUpFactory(); + WindUp windUp1 = factory.getWindUp(SatelliteSystem.GALILEO, 1, "ABC123"); + Assert.assertEquals(0, windUp1.getParametersDrivers().size()); + WindUp windUp2 = factory.getWindUp(SatelliteSystem.GALILEO, 1, "ABC123"); + Assert.assertEquals(0, windUp2.getParametersDrivers().size()); + Assert.assertSame(windUp1, windUp2); + } + + @Test + public void testCachedInstances() { + + WindUpFactory factory = new WindUpFactory(); + WindUp[] windUp1 = { + factory.getWindUp(SatelliteSystem.GALILEO, 1, "ABC123"), + factory.getWindUp(SatelliteSystem.GLONASS, 1, "ABC123"), + factory.getWindUp(SatelliteSystem.GALILEO, 2, "ABC123"), + factory.getWindUp(SatelliteSystem.GLONASS, 2, "ABC123"), + factory.getWindUp(SatelliteSystem.GALILEO, 1, "XYZ789"), + factory.getWindUp(SatelliteSystem.GLONASS, 1, "XYZ789"), + factory.getWindUp(SatelliteSystem.GALILEO, 2, "XYZ789"), + factory.getWindUp(SatelliteSystem.GLONASS, 2, "XYZ789") + }; + WindUp[] windUp2 = { + factory.getWindUp(SatelliteSystem.GALILEO, 1, "ABC123"), + factory.getWindUp(SatelliteSystem.GLONASS, 1, "ABC123"), + factory.getWindUp(SatelliteSystem.GALILEO, 2, "ABC123"), + factory.getWindUp(SatelliteSystem.GLONASS, 2, "ABC123"), + factory.getWindUp(SatelliteSystem.GALILEO, 1, "XYZ789"), + factory.getWindUp(SatelliteSystem.GLONASS, 1, "XYZ789"), + factory.getWindUp(SatelliteSystem.GALILEO, 2, "XYZ789"), + factory.getWindUp(SatelliteSystem.GLONASS, 2, "XYZ789") + }; + + for (int i = 0; i < windUp1.length; ++i) { + for (int j = 0; j < windUp1.length; ++j) { + if (i != j) { + Assert.assertNotSame(windUp1[i], windUp1[j]); + Assert.assertNotSame(windUp2[i], windUp2[j]); + } + } + Assert.assertSame(windUp1[i], windUp2[i]); + } + + } + +} diff --git a/src/test/java/org/orekit/estimation/measurements/gnss/WindUpTest.java b/src/test/java/org/orekit/estimation/measurements/gnss/WindUpTest.java new file mode 100644 index 000000000..b14e61edb --- /dev/null +++ b/src/test/java/org/orekit/estimation/measurements/gnss/WindUpTest.java @@ -0,0 +1,188 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.estimation.measurements.gnss; + +import java.util.SortedSet; + +import org.hipparchus.geometry.euclidean.threed.Vector3D; +import org.hipparchus.util.FastMath; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.orekit.Utils; +import org.orekit.attitudes.AttitudeProvider; +import org.orekit.bodies.CelestialBodyFactory; +import org.orekit.bodies.GeodeticPoint; +import org.orekit.bodies.OneAxisEllipsoid; +import org.orekit.estimation.measurements.EstimatedMeasurement; +import org.orekit.estimation.measurements.GroundStation; +import org.orekit.estimation.measurements.ObservableSatellite; +import org.orekit.estimation.measurements.ObservedMeasurement; +import org.orekit.estimation.measurements.generation.EventBasedScheduler; +import org.orekit.estimation.measurements.generation.Generator; +import org.orekit.estimation.measurements.generation.SignSemantic; +import org.orekit.frames.FramesFactory; +import org.orekit.frames.TopocentricFrame; +import org.orekit.gnss.Frequency; +import org.orekit.gnss.SatelliteSystem; +import org.orekit.gnss.attitude.GPSBlockIIA; +import org.orekit.gnss.attitude.GPSBlockIIR; +import org.orekit.orbits.CartesianOrbit; +import org.orekit.orbits.Orbit; +import org.orekit.propagation.Propagator; +import org.orekit.propagation.SpacecraftState; +import org.orekit.propagation.analytical.KeplerianPropagator; +import org.orekit.propagation.events.ElevationDetector; +import org.orekit.propagation.events.handlers.ContinueOnEvent; +import org.orekit.time.AbsoluteDate; +import org.orekit.time.FixedStepSelector; +import org.orekit.time.GNSSDate; +import org.orekit.time.TimeScalesFactory; +import org.orekit.utils.Constants; +import org.orekit.utils.IERSConventions; +import org.orekit.utils.TimeStampedPVCoordinates; + +public class WindUpTest { + + @Test + public void testYawSteering() { + // this test corresponds to a classical yaw steering attitude far from turns + // where Sun remains largely below orbital plane during the turn (β is about -18.8°) + // in this case, yaw does not evolve a lot, so wind-up changes only about 0.024 cycle + doTest(new CartesianOrbit(new TimeStampedPVCoordinates(new GNSSDate(1206, 307052670.0, SatelliteSystem.GPS).getDate(), + new Vector3D( 8759594.455119, 12170903.262908, 21973798.932235), + new Vector3D(-2957.570165356, 2478.252315039, -263.042027935)), + FramesFactory.getGCRF(), + Constants.EIGEN5C_EARTH_MU), + new GPSBlockIIA(GPSBlockIIA.getDefaultYawRate(17), GPSBlockIIA.DEFAULT_YAW_BIAS, + AbsoluteDate.PAST_INFINITY, AbsoluteDate.FUTURE_INFINITY, + CelestialBodyFactory.getSun(), FramesFactory.getGCRF()), + SatelliteSystem.GPS, 17, + new GroundStation(new TopocentricFrame(earth, + new GeodeticPoint(FastMath.toRadians(55.0 + ( 1.0 + 10.0 / 60.0) / 60.0), + FastMath.toRadians(82.0 + (55.0 + 22.0 / 60.0) / 60.0), + 160.0), + "Новосибирск")), + 0.476338, 0.500405); + } + + @Test + public void testMidnightTurn() { + // this test corresponds to a Block II-A midnight turn (prn = 07, satellite G37) + // where Sun crosses the orbital plane during the turn (β increases from negative to positive values) + // this very special case seems to trigger a possible bug in Block IIA attitude model. + // The spacecraft starts its turn at about 0.1272°/s and the Sun changes + // side, so the satellites keeps turning for about 70 minutes, completing one turn and an half + // instead of only one half of a turn. One turn and an half seems unrealistic. + // The wind-up effect changes therefore almost linearly by about 1.5 cycle + doTest(new CartesianOrbit(new TimeStampedPVCoordinates(new GNSSDate(1218, 287890543.0, SatelliteSystem.GPS).getDate(), + new Vector3D(-17920092.444521, -11889104.443797, -15318905.173501), + new Vector3D( 231.983556337, -3232.849996931, 2163.378049467)), + FramesFactory.getGCRF(), + Constants.EIGEN5C_EARTH_MU), + new GPSBlockIIA(GPSBlockIIA.getDefaultYawRate(7), GPSBlockIIA.DEFAULT_YAW_BIAS, + AbsoluteDate.PAST_INFINITY, AbsoluteDate.FUTURE_INFINITY, + CelestialBodyFactory.getSun(), FramesFactory.getGCRF()), + SatelliteSystem.GPS, 7, + new GroundStation(new TopocentricFrame(earth, + new GeodeticPoint(FastMath.toRadians( -(25.0 + 4.0 / 60.0)), + FastMath.toRadians(-(130.0 + 6.0 / 60.0)), + 0.0), + "Adamstown")), + -1.853178, -0.361900); + } + + @Test + public void testNoonTurn() { + // this test corresponds to a Block II-R noon turn (prn = 11, satellite G46) + // where Sun remains slightly above orbital plane during the turn (β is about +1.5°) + // this is a regular turn, corresponding to a half turn, so wind-up effect changes by about 0.5 cycle + doTest(new CartesianOrbit(new TimeStampedPVCoordinates(new GNSSDate(1225, 509000063.0, SatelliteSystem.GPS).getDate(), + new Vector3D( 2297608.196826, 20928500.842189, 16246321.092008), + new Vector3D(-2810.598090399, 1819.511241767, -1939.009527296)), + FramesFactory.getGCRF(), + Constants.EIGEN5C_EARTH_MU), + new GPSBlockIIR(GPSBlockIIR.DEFAULT_YAW_RATE, + AbsoluteDate.PAST_INFINITY, AbsoluteDate.FUTURE_INFINITY, + CelestialBodyFactory.getSun(), FramesFactory.getGCRF()), + SatelliteSystem.GPS, 11, + new GroundStation(new TopocentricFrame(earth, + new GeodeticPoint(FastMath.toRadians( 19.0 + (49.0 + 20.0 / 60.0) / 60.0), + FastMath.toRadians(-(155.0 + (28.0 + 30.0 / 60.0) / 60.0)), + 4205.0), + "Mauna Kea")), + -0.105573, 0.351411); + } + + private void doTest(final Orbit orbit, final AttitudeProvider attitudeProvider, + final SatelliteSystem system, final int prn, final GroundStation station, + final double expectedMin, final double expectedMax) { + + // generate phase measurements from the ground station + Generator generator = new Generator(); + ObservableSatellite obsSat = generator.addPropagator(new KeplerianPropagator(orbit, attitudeProvider)); + PhaseBuilder builder = new PhaseBuilder(null, station, + Frequency.G01.getWavelength(), + 0.01 * Frequency.G01.getWavelength(), + 1.0, obsSat); + generator.addScheduler(new EventBasedScheduler<>(builder, + new FixedStepSelector(60.0, TimeScalesFactory.getUTC()), + generator.getPropagator(obsSat), + new ElevationDetector(station.getBaseFrame()). + withConstantElevation(FastMath.toRadians(5.0)). + withHandler(new ContinueOnEvent<>()), + SignSemantic.FEASIBLE_MEASUREMENT_WHEN_POSITIVE)); + SortedSet> measurements = generator.generate(orbit.getDate(), orbit.getDate().shiftedBy(7200)); + Assert.assertEquals(120, measurements.size()); + + WindUp windUp = new WindUpFactory().getWindUp(system, prn, station.getBaseFrame().getName()); + Propagator propagator = new KeplerianPropagator(orbit, attitudeProvider); + double min = Double.POSITIVE_INFINITY; + double max = Double.NEGATIVE_INFINITY; + for (ObservedMeasurement m : measurements) { + Phase phase = (Phase) m; + @SuppressWarnings("unchecked") + EstimatedMeasurement estimated = (EstimatedMeasurement) m.estimate(0, 0, new SpacecraftState[] { propagator.propagate(phase.getDate()) }); + final double original = estimated.getEstimatedValue()[0]; + windUp.modify(estimated); + final double modified = estimated.getEstimatedValue()[0]; + final double correction = modified - original; + min = FastMath.min(min, correction); + max = FastMath.max(max, correction); + } + Assert.assertEquals(expectedMin, min, 1.0e-5); + Assert.assertEquals(expectedMax, max, 1.0e-5); + + } + + @Before + public void setUp() { + Utils.setDataRoot("regular-data"); + earth = new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, + Constants.WGS84_EARTH_FLATTENING, + FramesFactory.getITRF(IERSConventions.IERS_2010, true)); + } + + @After + public void tearDown() { + earth = null; + } + + private OneAxisEllipsoid earth; + +} -- GitLab From e937fcc680766cf3f03bc70c27dc10c0c6a7d8b0 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 26 Jun 2019 18:31:19 +0200 Subject: [PATCH 009/199] New test case triggering issue #567. --- .../original-eclips/beta-crossing-BLOCK-IIA.txt | 16 ++++++++++++++++ .../patched-eclips/beta-crossing-BLOCK-IIA.txt | 16 ++++++++++++++++ .../reference-attitude-generator/README.txt | 4 ++++ .../samples-meta-data.txt | 1 + 4 files changed, 37 insertions(+) diff --git a/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt b/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt index 71df2494e..f4d650813 100644 --- a/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt +++ b/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt @@ -1,4 +1,20 @@ # GPS date week milliseconds Id type satCode PxSat (m) PySat (m) PzSat (m) VxSat (m/s) VySat (m/s) VZsat (m/s) PxSun (m) PySun (m) PzSun (m) β (deg) Δ (deg) xsatX (nominal) ysatX (nominal) zsatX (nominal) ψ nom. (deg) xsatX (eclips) ysatX (eclips) zsatX (eclips) ψ ecl. (deg) +2003-05-14 1218 287890543.000000 G07 BLOCK-IIA G37 -17920092.444521 -11889104.443797 -15318905.173501 231.983556337 -3232.849996931 2163.378049467 72527491932.81 123615203237.56 48113441621.67 -0.02858345891 157.28741114422 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 +2003-05-14 1218 288250543.000000 G07 BLOCK-IIA G37 -17811494.052178 -13035718.625916 -14518972.312267 371.158357449 -3135.769100710 2279.620659361 75738137857.70 121673677205.11 48116010316.00 -0.02483722665 160.32800936546 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 +2003-05-14 1218 288610543.000000 G07 BLOCK-IIA G37 -17653013.139492 -14145826.086833 -13678368.860431 509.044111807 -3030.088029536 2389.275952523 78896844239.17 119648781619.51 48118578549.07 -0.02109835563 163.36495473298 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 +2003-05-14 1218 288970543.000000 G07 BLOCK-IIA G37 -17445183.091710 -15216389.535900 -12799518.751878 645.257312059 -2916.136979331 2492.055750485 82001446785.71 117541905088.21 48121146324.12 -0.01737723148 166.39817094747 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 +2003-05-14 1218 289330543.000000 G07 BLOCK-IIA G37 -17188674.582372 -16244494.600888 -11884945.522334 779.416644168 -2794.268756687 2587.695710322 85049818307.94 115354492390.14 48123713644.55 -0.01366478592 169.42759240896 -0.33254172875995 0.76020807456538 -0.55812156560999 -169.9455703198 0.31591806737127 0.32029196563584 -0.89467755163321 -220.4152707073 +2003-05-14 1218 289690543.000000 G07 BLOCK-IIA G37 -16884293.901461 -17227357.643518 -10937263.850440 911.153035385 -2664.856167835 2675.952991938 88039870176.07 113088043484.85 48126280513.90 -0.00996325250 172.45316480315 -0.33009744634968 0.71487979092753 -0.61642725478099 -172.9298292505 0.71630874230877 -0.29588765734492 -0.63973996875481 -266.0233518924 +2003-05-14 1218 290050543.000000 G07 BLOCK-IIA G37 -16532978.042417 -18162332.650310 -9959171.840395 1040.107962989 -2528.290870160 2756.607531559 90969553750.94 110744112484.02 48128846935.90 -0.00627446076 175.47484481839 -0.26093838121274 0.63583370435310 -0.72637914453727 -181.3469190981 -0.45468695601523 -0.12894675810337 0.98997221182947 -52.6804155834 +2003-05-14 1218 290410543.000000 G07 BLOCK-IIA G37 -16135792.319277 -19046917.782390 -8953442.272886 1165.928693753 -2384.982017938 2829.464114973 93836861787.67 108324306585.77 48131412914.29 -0.00259243789 178.49260013658 0.54246801252882 -0.06587609620096 -0.83748957923806 -245.9681699847 0.27430923139988 -0.58955508224909 0.75982065705180 -362.7193857139 +2003-05-14 1218 290770543.000000 G07 BLOCK-IIA G37 -15693925.829471 -19878761.461092 -7922914.316069 1288.279954142 -2235.355021053 2894.349324253 96639829810.87 105830284972.61 48133978453.09 0.00108214699 178.49358971777 0.69211724389290 -0.66150478630522 0.28876484966384 -325.7804396368 -0.25128687859181 -0.18070251162600 0.95114240264959 -403.0698401951 +2003-05-14 1218 291130543.000000 G07 BLOCK-IIA G37 -15208686.715410 -20655667.828536 -6870485.134898 1406.833609274 -2079.848988995 2951.115017129 99376537460.54 103263757673.83 48136543556.39 0.00475019370 175.48373561673 0.64444842913922 -0.62229845292880 0.44433192284869 -335.0152836415 -0.72330108014870 0.33073506838395 0.60678478087911 -448.7398127066 +2003-05-14 1218 291490543.000000 G07 BLOCK-IIA G37 -14681498.806882 -21375601.540994 -5799100.971831 1521.277939700 -1918.916729766 2999.635895521 102045109807.80 100626484392.96 48139108228.42 0.00841323424 172.47783617055 0.64352971334377 -0.57809870782019 0.50166860780829 -338.1125892420 -0.80225362236861 0.58435430826562 -0.12288788487893 -494.4181537891 +2003-05-14 1218 291850543.000000 G07 BLOCK-IIA G37 -14113895.273050 -22036692.471343 -4711749.004767 1631.315811145 -1753.022712833 3039.810263587 104643718639.31 97920273301.28 48141672473.53 0.01207604346 169.47587935240 0.65592099809128 -0.53413746477348 0.53335242850136 -339.6272670725 -0.42657187957257 0.44195399746003 -0.78922147381573 -180.7268269218 +2003-05-14 1218 292210543.000000 G07 BLOCK-IIA G37 -13507514.724464 -22637239.239780 -3611448.463741 1736.660015287 -1582.640180876 3071.561360670 107170583709.84 95146979798.10 48144236296.21 0.01573397890 166.47784263174 0.67335115604292 -0.49009420418226 0.55353942197699 -340.4943637194 0.20721466868406 0.03243639208154 -0.97834029516791 -225.8228427842 +2003-05-14 1218 292570543.000000 G07 BLOCK-IIA G37 -12864095.438054 -23175712.762879 -2501242.248406 1837.043722954 -1408.252752189 3094.834554911 109623973961.81 92308505238.67 48146799701.08 0.01939658767 163.48369281919 0.69284037398675 -0.44574730162289 0.56681704214836 -341.0256184097 0.74396498512231 -0.35149810218939 -0.56940407073841 -271.4741138435 +2003-05-14 1218 292930543.000000 G07 BLOCK-IIA G37 -12185469.464529 -23650759.165780 -1384188.586932 1932.210924880 -1230.349068362 3109.599752165 112002208711.21 89406795630.61 48149362692.84 0.02305632520 160.49338595010 0.71303778648485 -0.40103396395230 0.57510770713102 -341.3539095182 0.86834398478935 -0.45849756368589 0.18974029113762 -317.1514688070 +2003-05-14 1218 293290543.000000 G07 BLOCK-IIA G37 -11473558.080544 -24061201.623577 -263352.402976 2021.924446755 -1049.424958253 3115.849192462 114303658798.87 86443840299.77 48151925276.36 0.02671789829 157.50686849949 0.73322913147742 -0.35598062938979 0.57935553182145 -341.5450630856 0.73322913147742 -0.35598062938979 0.57935553182145 -341.5450630856 2014-08-08 1804 492023732.000000 G08 BLOCK-IIA G38 2253401.057335 -21679692.764950 14864512.444579 2716.029616919 -1339.608832716 -2455.534650763 53156182131.47 -135752993813.88 41852221396.49 -0.02038337023 22.94697189872 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 2014-08-08 1804 492383732.000000 G08 BLOCK-IIA G38 2645517.159857 -22208312.483626 13960015.011839 2662.994548139 -1238.552585784 -2568.312938707 49584294261.33 -137098790536.86 41849167666.03 -0.01784724118 19.90006100724 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 2014-08-08 1804 492743732.000000 G08 BLOCK-IIA G38 3004961.029605 -22709368.293777 13016170.010057 2609.704416488 -1131.713546392 -2674.075065260 45978379191.41 -138350622717.50 41846113933.26 -0.01531968142 16.84902256608 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 diff --git a/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt b/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt index 108813dcc..0f4af2d3d 100644 --- a/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt +++ b/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt @@ -1,4 +1,20 @@ # GPS date week milliseconds Id type satCode PxSat (m) PySat (m) PzSat (m) VxSat (m/s) VySat (m/s) VZsat (m/s) PxSun (m) PySun (m) PzSun (m) β (deg) Δ (deg) xsatX (nominal) ysatX (nominal) zsatX (nominal) ψ nom. (deg) xsatX (eclips) ysatX (eclips) zsatX (eclips) ψ ecl. (deg) +2003-05-14 1218 287890543.000000 G07 BLOCK-IIA G37 -17920092.444521 -11889104.443797 -15318905.173501 231.983556337 -3232.849996931 2163.378049467 72527491932.81 123615203237.56 48113441621.67 -0.02858345891 157.28741114422 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 +2003-05-14 1218 288250543.000000 G07 BLOCK-IIA G37 -17811494.052178 -13035718.625916 -14518972.312267 371.158357449 -3135.769100710 2279.620659361 75738137857.70 121673677205.11 48116010316.00 -0.02483722665 160.32800936546 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 +2003-05-14 1218 288610543.000000 G07 BLOCK-IIA G37 -17653013.139492 -14145826.086833 -13678368.860431 509.044111807 -3030.088029536 2389.275952523 78896844239.17 119648781619.51 48118578549.07 -0.02109835563 163.36495473298 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 +2003-05-14 1218 288970543.000000 G07 BLOCK-IIA G37 -17445183.091710 -15216389.535900 -12799518.751878 645.257312059 -2916.136979331 2492.055750485 82001446785.71 117541905088.21 48121146324.12 -0.01737723148 166.39817094747 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 +2003-05-14 1218 289330543.000000 G07 BLOCK-IIA G37 -17188674.582372 -16244494.600888 -11884945.522334 779.416644168 -2794.268756687 2587.695710322 85049818307.94 115354492390.14 48123713644.55 -0.01366478592 169.42759240896 -0.33254172875995 0.76020807456538 -0.55812156560999 -169.9455703198 -0.63198647359914 0.76396660028186 -0.13018498700507 -139.6867542484 +2003-05-14 1218 289690543.000000 G07 BLOCK-IIA G37 -16884293.901461 -17227357.643518 -10937263.850440 911.153035385 -2664.856167835 2675.952991938 88039870176.07 113088043484.85 48126280513.90 -0.00996325250 172.45316480315 -0.33009744634968 0.71487979092753 -0.61642725478099 -172.9298292505 -0.74650138153779 0.38883538526575 0.53994697010669 -94.0073674723 +2003-05-14 1218 290050543.000000 G07 BLOCK-IIA G37 -16532978.042417 -18162332.650310 -9959171.840395 1040.107962989 -2528.290870160 2756.607531559 90969553750.94 110744112484.02 48128846935.90 -0.00627446076 175.47484481839 -0.26093838121274 0.63583370435310 -0.72637914453727 -181.3469190981 -0.36298830962792 -0.17176162031315 0.91582609313170 -48.3275735581 +2003-05-14 1218 290410543.000000 G07 BLOCK-IIA G37 -16135792.319277 -19046917.782390 -8953442.272886 1165.928693753 -2384.982017938 2829.464114973 93836861787.67 108324306585.77 48131412914.29 -0.00259243789 178.49260013658 0.54246801252882 -0.06587609620096 -0.83748957923806 -245.9681699847 0.27408964839746 -0.58941247711542 0.75991301901074 -362.7341825475 +2003-05-14 1218 290770543.000000 G07 BLOCK-IIA G37 -15693925.829471 -19878761.461092 -7922914.316069 1288.279954142 -2235.355021053 2894.349324253 96639829810.87 105830284972.61 48133978453.09 0.00108214699 178.49358971777 0.69211724389290 -0.66150478630522 0.28876484966384 -325.7804396368 0.74744142447772 -0.64815651984038 0.14568611039877 -316.9509700472 +2003-05-14 1218 291130543.000000 G07 BLOCK-IIA G37 -15208686.715410 -20655667.828536 -6870485.134898 1406.833609274 -2079.848988995 2951.115017129 99376537460.54 103263757673.83 48136543556.39 0.00475019370 175.48373561673 0.64444842913922 -0.62229845292880 0.44433192284869 -335.0152836415 0.73939362257431 -0.35390237592355 -0.57275664920811 -271.2717174762 +2003-05-14 1218 291490543.000000 G07 BLOCK-IIA G37 -14681498.806882 -21375601.540994 -5799100.971831 1521.277939700 -1918.916729766 2999.635895521 102045109807.80 100626484392.96 48139108228.42 0.00841323424 172.47783617055 0.64352971334377 -0.57809870782019 0.50166860780829 -338.1125892420 0.24262956416955 0.09527023437473 -0.96542968518328 -225.5922811101 +2003-05-14 1218 291850543.000000 G07 BLOCK-IIA G37 -14113895.273050 -22036692.471343 -4711749.004767 1631.315811145 -1753.022712833 3039.810263587 104643718639.31 97920273301.28 48141672473.53 0.01207604346 169.47587935240 0.65592099809128 -0.53413746477348 0.53335242850136 -339.6272670725 -0.42944046609643 0.44327777795854 -0.78681999062493 -179.2787039355 +2003-05-14 1218 292210543.000000 G07 BLOCK-IIA G37 -13507514.724464 -22637239.239780 -3611448.463741 1736.660015287 -1582.640180876 3071.561360670 107170583709.84 95146979798.10 48144236296.21 0.01573397890 166.47784263174 0.67335115604292 -0.49009420418226 0.55353942197699 -340.4943637194 -0.84174540148151 0.52338755914345 -0.13240144266056 -494.2157666481 +2003-05-14 1218 292570543.000000 G07 BLOCK-IIA G37 -12864095.438054 -23175712.762879 -2501242.248406 1837.043722954 -1408.252752189 3094.834554911 109623973961.81 92308505238.67 48146799701.08 0.01939658767 163.48369281919 0.69284037398675 -0.44574730162289 0.56681704214836 -341.0256184097 -0.71882306705221 0.33314279693822 0.61017151287308 -448.5362578119 +2003-05-14 1218 292930543.000000 G07 BLOCK-IIA G37 -12185469.464529 -23650759.165780 -1384188.586932 1932.210924880 -1230.349068362 3109.599752165 112002208711.21 89406795630.61 48149362692.84 0.02305632520 160.49338595010 0.71303778648485 -0.40103396395230 0.57510770713102 -341.3539095182 -0.12654131393739 0.00714308378112 0.99193561899001 -402.8567944686 +2003-05-14 1218 293290543.000000 G07 BLOCK-IIA G37 -11473558.080544 -24061201.623577 -263352.402976 2021.924446755 -1049.424958253 3115.849192462 114303658798.87 86443840299.77 48151925276.36 0.02671789829 157.50686849949 0.73322913147742 -0.35598062938979 0.57935553182145 -341.5450630856 0.56451524410205 -0.27769620205785 0.77730776307654 -357.0865839063 2014-08-08 1804 492023732.000000 G08 BLOCK-IIA G38 2253401.057335 -21679692.764950 14864512.444579 2716.029616919 -1339.608832716 -2455.534650763 53156182131.47 -135752993813.88 41852221396.49 -0.02038337023 22.94697189872 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 2014-08-08 1804 492383732.000000 G08 BLOCK-IIA G38 2645517.159857 -22208312.483626 13960015.011839 2662.994548139 -1238.552585784 -2568.312938707 49584294261.33 -137098790536.86 41849167666.03 -0.01784724118 19.90006100724 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 2014-08-08 1804 492743732.000000 G08 BLOCK-IIA G38 3004961.029605 -22709368.293777 13016170.010057 2609.704416488 -1131.713546392 -2674.075065260 45978379191.41 -138350622717.50 41846113933.26 -0.01531968142 16.84902256608 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 diff --git a/src/test/resources/gnss/attitude/reference-attitude-generator/README.txt b/src/test/resources/gnss/attitude/reference-attitude-generator/README.txt index 3fa89bb75..ad7840fd9 100644 --- a/src/test/resources/gnss/attitude/reference-attitude-generator/README.txt +++ b/src/test/resources/gnss/attitude/reference-attitude-generator/README.txt @@ -12,6 +12,10 @@ The data files for attitude reference were created as follows: curl $baseurl/$week/gbm$week$day.sp3.Z > gbm$week$day.sp3.Z done done + + in a later batch of tests, an additional case was also extracted from + a much earlier file (week 1218 in May 2003): + ftp://cddis.gsfc.nasa.gov/pub/gps/products/1218/ngs12183.sp3.Z 2) ran the FindBaseSamples java program to pick up 5 subsets of alignment events: diff --git a/src/test/resources/gnss/attitude/reference-attitude-generator/samples-meta-data.txt b/src/test/resources/gnss/attitude/reference-attitude-generator/samples-meta-data.txt index 44de31d52..4084629f4 100644 --- a/src/test/resources/gnss/attitude/reference-attitude-generator/samples-meta-data.txt +++ b/src/test/resources/gnss/attitude/reference-attitude-generator/samples-meta-data.txt @@ -1,4 +1,5 @@ # Id type satCode case start (GPS) end (GPS) SP3 files + G07 BLOCK-IIA G37 β≈0 2003-05-14T07:58:10.543 2003-05-14T09:28:10.543 ngs12183.sp3.Z C10 BEIDOU-2I C10 β<0 2014-07-19T23:05:56.543 2014-07-25T23:05:56.543 gbm18016.sp3.Z gbm18020.sp3.Z gbm18021.sp3.Z gbm18022.sp3.Z gbm18023.sp3.Z gbm18024.sp3.Z gbm18025.sp3.Z C11 BEIDOU-2M C12 β≪0 2014-07-27T14:26:43.452 2014-08-02T14:26:43.452 gbm18030.sp3.Z gbm18031.sp3.Z gbm18032.sp3.Z gbm18033.sp3.Z gbm18034.sp3.Z gbm18035.sp3.Z gbm18036.sp3.Z G11 BLOCK-IIR-A G46 β≈0 2014-08-07T09:21:22.513 2014-08-07T10:51:22.513 gbm18044.sp3.Z -- GitLab From 2244930ebb3138677ad7c84bab1d12d746c32420 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 26 Jun 2019 18:33:14 +0200 Subject: [PATCH 010/199] Fixed too fast step increase in a bracketing attempt. Fix issue #568 --- src/changes/changes.xml | 3 +++ .../java/org/orekit/gnss/attitude/GNSSAttitudeContext.java | 4 ++-- .../org/orekit/gnss/attitude/GNSSFieldAttitudeContext.java | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index e9c8d5fbb..aeaff704e 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -21,6 +21,9 @@ + + Fixed too fast step increase in a bracketing attempt. + Added phase measurement builder. diff --git a/src/main/java/org/orekit/gnss/attitude/GNSSAttitudeContext.java b/src/main/java/org/orekit/gnss/attitude/GNSSAttitudeContext.java index f5046d903..7e5255d66 100644 --- a/src/main/java/org/orekit/gnss/attitude/GNSSAttitudeContext.java +++ b/src/main/java/org/orekit/gnss/attitude/GNSSAttitudeContext.java @@ -270,11 +270,11 @@ class GNSSAttitudeContext implements TimeStamped { final double dtMin = FastMath.min(turnSpan.getTurnStartDate().durationFrom(date), dt0 - 60.0); final double dtMax = FastMath.max(dtMin + fullTurn, dt0 + 60.0); double[] bracket = UnivariateSolverUtils.bracket(yawReached, dt0, - dtMin, dtMax, 1.0, 2.0, 15); + dtMin, dtMax, fullTurn / 100, 1.0, 100); if (yawReached.value(bracket[0]) <= 0.0) { // we have bracketed the wrong crossing bracket = UnivariateSolverUtils.bracket(yawReached, 0.5 * (bracket[0] + bracket[1] + fullTurn), - bracket[1], bracket[1] + fullTurn, 1.0, 2.0, 15); + bracket[1], bracket[1] + fullTurn, fullTurn / 100, 1.0, 100); } final double dt = new BracketingNthOrderBrentSolver(1.0e-3, 5). solve(100, yawReached, bracket[0], bracket[1]); diff --git a/src/main/java/org/orekit/gnss/attitude/GNSSFieldAttitudeContext.java b/src/main/java/org/orekit/gnss/attitude/GNSSFieldAttitudeContext.java index dac0472a3..580260d87 100644 --- a/src/main/java/org/orekit/gnss/attitude/GNSSFieldAttitudeContext.java +++ b/src/main/java/org/orekit/gnss/attitude/GNSSFieldAttitudeContext.java @@ -297,11 +297,11 @@ class GNSSFieldAttitudeContext> implements FieldTi final double dtMin = FastMath.min(turnSpan.getTurnStartDate().durationFrom(date).getReal(), dt0 - 60.0); final double dtMax = FastMath.max(dtMin + fullTurn, dt0 + 60.0); double[] bracket = UnivariateSolverUtils.bracket(yawReached, dt0, - dtMin, dtMax, 1.0, 2.0, 15); + dtMin, dtMax, fullTurn / 100, 1.0, 100); if (yawReached.value(bracket[0]) <= 0.0) { // we have bracketed the wrong crossing bracket = UnivariateSolverUtils.bracket(yawReached, 0.5 * (bracket[0] + bracket[1] + fullTurn), - bracket[1], bracket[1] + fullTurn, 1.0, 2.0, 15); + bracket[1], bracket[1] + fullTurn, fullTurn / 100, 1.0, 100); } final double dt = new BracketingNthOrderBrentSolver(1.0e-3, 5). solve(100, yawReached, bracket[0], bracket[1]); -- GitLab From d6a6222d2e895f4d91810a2f53fc1aa8bf3fd7a7 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Thu, 27 Jun 2019 13:44:09 +0200 Subject: [PATCH 011/199] Fixed test data for issue-568. The observed behavior is consistent with the original December 2017 version of Eclips. We cannot state about the validity of the model itself, so we just keep the data as is in a non-regression test, showing the Orekit is consistent Eclips. Fixes #567 --- .../beta-crossing-BLOCK-IIA.txt | 32 +++++++++---------- .../beta-crossing-BLOCK-IIA.txt | 32 +++++++++---------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt b/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt index f4d650813..0a1ed33c8 100644 --- a/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt +++ b/src/test/resources/gnss/attitude/original-eclips/beta-crossing-BLOCK-IIA.txt @@ -1,20 +1,20 @@ # GPS date week milliseconds Id type satCode PxSat (m) PySat (m) PzSat (m) VxSat (m/s) VySat (m/s) VZsat (m/s) PxSun (m) PySun (m) PzSun (m) β (deg) Δ (deg) xsatX (nominal) ysatX (nominal) zsatX (nominal) ψ nom. (deg) xsatX (eclips) ysatX (eclips) zsatX (eclips) ψ ecl. (deg) -2003-05-14 1218 287890543.000000 G07 BLOCK-IIA G37 -17920092.444521 -11889104.443797 -15318905.173501 231.983556337 -3232.849996931 2163.378049467 72527491932.81 123615203237.56 48113441621.67 -0.02858345891 157.28741114422 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 -2003-05-14 1218 288250543.000000 G07 BLOCK-IIA G37 -17811494.052178 -13035718.625916 -14518972.312267 371.158357449 -3135.769100710 2279.620659361 75738137857.70 121673677205.11 48116010316.00 -0.02483722665 160.32800936546 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 -2003-05-14 1218 288610543.000000 G07 BLOCK-IIA G37 -17653013.139492 -14145826.086833 -13678368.860431 509.044111807 -3030.088029536 2389.275952523 78896844239.17 119648781619.51 48118578549.07 -0.02109835563 163.36495473298 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 -2003-05-14 1218 288970543.000000 G07 BLOCK-IIA G37 -17445183.091710 -15216389.535900 -12799518.751878 645.257312059 -2916.136979331 2492.055750485 82001446785.71 117541905088.21 48121146324.12 -0.01737723148 166.39817094747 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 -2003-05-14 1218 289330543.000000 G07 BLOCK-IIA G37 -17188674.582372 -16244494.600888 -11884945.522334 779.416644168 -2794.268756687 2587.695710322 85049818307.94 115354492390.14 48123713644.55 -0.01366478592 169.42759240896 -0.33254172875995 0.76020807456538 -0.55812156560999 -169.9455703198 0.31591806737127 0.32029196563584 -0.89467755163321 -220.4152707073 -2003-05-14 1218 289690543.000000 G07 BLOCK-IIA G37 -16884293.901461 -17227357.643518 -10937263.850440 911.153035385 -2664.856167835 2675.952991938 88039870176.07 113088043484.85 48126280513.90 -0.00996325250 172.45316480315 -0.33009744634968 0.71487979092753 -0.61642725478099 -172.9298292505 0.71630874230877 -0.29588765734492 -0.63973996875481 -266.0233518924 -2003-05-14 1218 290050543.000000 G07 BLOCK-IIA G37 -16532978.042417 -18162332.650310 -9959171.840395 1040.107962989 -2528.290870160 2756.607531559 90969553750.94 110744112484.02 48128846935.90 -0.00627446076 175.47484481839 -0.26093838121274 0.63583370435310 -0.72637914453727 -181.3469190981 -0.45468695601523 -0.12894675810337 0.98997221182947 -52.6804155834 -2003-05-14 1218 290410543.000000 G07 BLOCK-IIA G37 -16135792.319277 -19046917.782390 -8953442.272886 1165.928693753 -2384.982017938 2829.464114973 93836861787.67 108324306585.77 48131412914.29 -0.00259243789 178.49260013658 0.54246801252882 -0.06587609620096 -0.83748957923806 -245.9681699847 0.27430923139988 -0.58955508224909 0.75982065705180 -362.7193857139 -2003-05-14 1218 290770543.000000 G07 BLOCK-IIA G37 -15693925.829471 -19878761.461092 -7922914.316069 1288.279954142 -2235.355021053 2894.349324253 96639829810.87 105830284972.61 48133978453.09 0.00108214699 178.49358971777 0.69211724389290 -0.66150478630522 0.28876484966384 -325.7804396368 -0.25128687859181 -0.18070251162600 0.95114240264959 -403.0698401951 -2003-05-14 1218 291130543.000000 G07 BLOCK-IIA G37 -15208686.715410 -20655667.828536 -6870485.134898 1406.833609274 -2079.848988995 2951.115017129 99376537460.54 103263757673.83 48136543556.39 0.00475019370 175.48373561673 0.64444842913922 -0.62229845292880 0.44433192284869 -335.0152836415 -0.72330108014870 0.33073506838395 0.60678478087911 -448.7398127066 -2003-05-14 1218 291490543.000000 G07 BLOCK-IIA G37 -14681498.806882 -21375601.540994 -5799100.971831 1521.277939700 -1918.916729766 2999.635895521 102045109807.80 100626484392.96 48139108228.42 0.00841323424 172.47783617055 0.64352971334377 -0.57809870782019 0.50166860780829 -338.1125892420 -0.80225362236861 0.58435430826562 -0.12288788487893 -494.4181537891 -2003-05-14 1218 291850543.000000 G07 BLOCK-IIA G37 -14113895.273050 -22036692.471343 -4711749.004767 1631.315811145 -1753.022712833 3039.810263587 104643718639.31 97920273301.28 48141672473.53 0.01207604346 169.47587935240 0.65592099809128 -0.53413746477348 0.53335242850136 -339.6272670725 -0.42657187957257 0.44195399746003 -0.78922147381573 -180.7268269218 -2003-05-14 1218 292210543.000000 G07 BLOCK-IIA G37 -13507514.724464 -22637239.239780 -3611448.463741 1736.660015287 -1582.640180876 3071.561360670 107170583709.84 95146979798.10 48144236296.21 0.01573397890 166.47784263174 0.67335115604292 -0.49009420418226 0.55353942197699 -340.4943637194 0.20721466868406 0.03243639208154 -0.97834029516791 -225.8228427842 -2003-05-14 1218 292570543.000000 G07 BLOCK-IIA G37 -12864095.438054 -23175712.762879 -2501242.248406 1837.043722954 -1408.252752189 3094.834554911 109623973961.81 92308505238.67 48146799701.08 0.01939658767 163.48369281919 0.69284037398675 -0.44574730162289 0.56681704214836 -341.0256184097 0.74396498512231 -0.35149810218939 -0.56940407073841 -271.4741138435 -2003-05-14 1218 292930543.000000 G07 BLOCK-IIA G37 -12185469.464529 -23650759.165780 -1384188.586932 1932.210924880 -1230.349068362 3109.599752165 112002208711.21 89406795630.61 48149362692.84 0.02305632520 160.49338595010 0.71303778648485 -0.40103396395230 0.57510770713102 -341.3539095182 0.86834398478935 -0.45849756368589 0.18974029113762 -317.1514688070 -2003-05-14 1218 293290543.000000 G07 BLOCK-IIA G37 -11473558.080544 -24061201.623577 -263352.402976 2021.924446755 -1049.424958253 3115.849192462 114303658798.87 86443840299.77 48151925276.36 0.02671789829 157.50686849949 0.73322913147742 -0.35598062938979 0.57935553182145 -341.5450630856 0.73322913147742 -0.35598062938979 0.57935553182145 -341.5450630856 +2003-05-14 1218 287890543.000000 G07 BLOCK-IIA G37 -15860708.343599 -14517120.284295 -15324507.264541 728.683190054 -3158.196065982 2163.367392593 72527491932.81 123615203237.56 48113441621.67 -0.02858345891 157.28741114422 -0.19264658102644 0.80412815293100 -0.56237461578791 179.3620016512 -0.19264658102644 0.80412815293100 -0.56237461578791 179.3620016512 +2003-05-14 1218 288250543.000000 G07 BLOCK-IIA G37 -15981252.174476 -15218945.456279 -14524569.377569 771.021830184 -3062.055142768 2279.653563568 75738137857.70 121673677205.11 48116010316.00 -0.02483722665 160.32800936546 -0.20386595725509 0.77943466963808 -0.59238523550021 179.3452001824 -0.20386595725509 0.77943466963808 -0.59238523550021 179.3452001824 +2003-05-14 1218 288610543.000000 G07 BLOCK-IIA G37 -16103885.032908 -15882240.798236 -13683945.240235 816.660261383 -2961.969084602 2389.352236726 78896844239.17 119648781619.51 48118578549.07 -0.02109835563 163.36495473298 -0.21593140999475 0.75372988997884 -0.62069709128541 179.3301775767 -0.21593140999475 0.75372988997884 -0.62069709128541 179.3301775767 +2003-05-14 1218 288970543.000000 G07 BLOCK-IIA G37 -16226370.220198 -16505634.814129 -12805058.873386 865.699012543 -2858.353053120 2492.175111809 82001446785.71 117541905088.21 48121146324.12 -0.01737723148 166.39817094747 -0.22886711774838 0.72712062671754 -0.64723677013551 179.3169903256 -0.22886711774838 0.72712062671754 -0.64723677013551 179.3169903256 +2003-05-14 1218 289330543.000000 G07 BLOCK-IIA G37 -16346407.193980 -17087967.149076 -11890433.943576 918.205174416 -2751.633866615 2587.857724217 85049818307.94 115354492390.14 48123713644.55 -0.01366478592 169.42759240896 -0.24268893713914 0.69971576392431 -0.67193744463760 179.3056409500 -4.75950457943656 2.39958501593525 3.09465324377383 262.8926890823 +2003-05-14 1218 289690543.000000 G07 BLOCK-IIA G37 -16461648.649839 -17628293.579740 -10942685.303823 974.220685869 -2642.245222049 2676.157115340 88039870176.07 113088043484.85 48126280513.90 -0.00996325250 172.45316480315 -0.25740237498782 0.67162456103325 -0.69474057486771 179.2961229139 -6.86890938223713 3.05362244550390 5.41397456493118 269.5675862406 +2003-05-14 1218 290050543.000000 G07 BLOCK-IIA G37 -16569715.028609 -18125889.024253 -9964511.274981 1033.759397035 -2530.625781337 2756.853105576 90969553750.94 110744112484.02 48128846935.90 -0.00627446076 175.47484481839 -0.27299210658959 0.64295058308169 -0.71560453985054 179.2883068950 -4.64906194427921 1.84551286728956 4.37372882011406 275.7431086197 +2003-05-14 1218 290410543.000000 G07 BLOCK-IIA G37 -16668212.020076 -18580249.522017 -8958684.896079 1096.801252923 -2417.216580962 2829.750366204 93836861787.67 108324306585.77 48131412914.29 -0.00259243789 178.49260013658 -0.28928946833141 0.61372202493591 -0.73461342189011 179.2804840717 0.11234967635014 -0.52425602327428 0.87826947719849 346.1181830085 +2003-05-14 1218 290770543.000000 G07 BLOCK-IIA G37 -16754746.284066 -18991092.801818 -7928045.634142 1163.303146180 -2302.458602449 2894.675369587 96639829810.87 105830284972.61 48133978453.09 0.00108214699 178.49358971777 0.30743139063901 -0.58465036196835 0.75077952442781 -0.7174278732 8.80452679309551 -5.02928761815641 -6.55974335745132 86.5304772303 +2003-05-14 1218 291130543.000000 G07 BLOCK-IIA G37 -16826941.211675 -19358357.474591 -6875490.992209 1233.188104915 -2186.789008250 2951.479865563 99376537460.54 103263757673.83 48136543556.39 0.00475019370 175.48373561673 0.32548388982044 -0.55485211827452 0.76563657456631 -0.7203057207 8.38288075590843 -4.79203307620839 -7.02384053728957 89.8933615955 +2003-05-14 1218 291490543.000000 G07 BLOCK-IIA G37 -16882454.159240 -19682200.647348 -5803967.589161 1306.354212630 -2070.640346516 3000.038452723 102045109807.80 100626484392.96 48139108228.42 0.00841323424 172.47783617055 0.34456886140767 -0.52503620582563 0.77820902225588 -0.7201913962 5.21981140638031 -2.94192549641096 -5.20672426472884 95.0576395356 +2003-05-14 1218 291850543.000000 G07 BLOCK-IIA G37 -16918990.722167 -19962994.843015 -4716463.015870 1382.672689206 -1954.437657149 3040.249335968 104643718639.31 97920273301.28 48141672473.53 0.01207604346 169.47587935240 0.36448858705500 -0.49522667786158 0.78860548276108 -0.7179244476 -0.46912708327041 0.56247573424615 -0.69788385950069 -171.2838718492 +2003-05-14 1218 292210543.000000 G07 BLOCK-IIA G37 -16934321.266146 -20201322.821627 -3615996.950815 1461.983657621 -1838.593985377 3072.035658153 107170583709.84 95146979798.10 48144236296.21 0.01573397890 166.47784263174 0.38518412676920 -0.46552070111055 0.79682097444946 -0.7136422496 -5.40550193336383 3.81888267337167 3.98009866640336 -95.1812445857 +2003-05-14 1218 292570543.000000 G07 BLOCK-IIA G37 -16926295.388312 -20397971.843712 -2505612.775914 1544.106512379 -1723.512414934 3095.342696756 109623973961.81 92308505238.67 48146799701.08 0.01939658767 163.48369281919 0.40660317753120 -0.43601912661999 0.80284567461192 -0.7073941430 -6.78278743005358 4.87537801989610 6.13009327202233 -89.8588898937 +2003-05-14 1218 292930543.000000 G07 BLOCK-IIA G37 -16892855.922824 -20553926.702079 -1388369.233733 1628.831664793 -1609.578645173 3110.140270097 112002208711.21 89406795630.61 48149362692.84 0.02305632520 160.49338595010 0.42869016669894 -0.40682063562835 0.80667323706850 -0.6992147513 -4.05613459457975 3.02299589265645 4.59910890873235 -83.8445478991 +2003-05-14 1218 293290543.000000 G07 BLOCK-IIA G37 -16832053.686637 -20670360.797256 -267331.793129 1715.928699179 -1497.163699439 3116.420536123 114303658798.87 86443840299.77 48151925276.36 0.02671789829 157.50686849949 0.45138443361188 -0.37802010554338 0.80830247611761 -0.6891399304 0.45138443361188 -0.37802010554338 0.80830247611761 -0.6891399304 2014-08-08 1804 492023732.000000 G08 BLOCK-IIA G38 2253401.057335 -21679692.764950 14864512.444579 2716.029616919 -1339.608832716 -2455.534650763 53156182131.47 -135752993813.88 41852221396.49 -0.02038337023 22.94697189872 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 2014-08-08 1804 492383732.000000 G08 BLOCK-IIA G38 2645517.159857 -22208312.483626 13960015.011839 2662.994548139 -1238.552585784 -2568.312938707 49584294261.33 -137098790536.86 41849167666.03 -0.01784724118 19.90006100724 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 2014-08-08 1804 492743732.000000 G08 BLOCK-IIA G38 3004961.029605 -22709368.293777 13016170.010057 2609.704416488 -1131.713546392 -2674.075065260 45978379191.41 -138350622717.50 41846113933.26 -0.01531968142 16.84902256608 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 diff --git a/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt b/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt index 0f4af2d3d..8ba82b1c8 100644 --- a/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt +++ b/src/test/resources/gnss/attitude/patched-eclips/beta-crossing-BLOCK-IIA.txt @@ -1,20 +1,20 @@ # GPS date week milliseconds Id type satCode PxSat (m) PySat (m) PzSat (m) VxSat (m/s) VySat (m/s) VZsat (m/s) PxSun (m) PySun (m) PzSun (m) β (deg) Δ (deg) xsatX (nominal) ysatX (nominal) zsatX (nominal) ψ nom. (deg) xsatX (eclips) ysatX (eclips) zsatX (eclips) ψ ecl. (deg) -2003-05-14 1218 287890543.000000 G07 BLOCK-IIA G37 -17920092.444521 -11889104.443797 -15318905.173501 231.983556337 -3232.849996931 2163.378049467 72527491932.81 123615203237.56 48113441621.67 -0.02858345891 157.28741114422 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 -0.24366489641995 0.88330506525899 -0.40049916347036 -165.8467930894 -2003-05-14 1218 288250543.000000 G07 BLOCK-IIA G37 -17811494.052178 -13035718.625916 -14518972.312267 371.158357449 -3135.769100710 2279.620659361 75738137857.70 121673677205.11 48116010316.00 -0.02483722665 160.32800936546 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 -0.27070478934336 0.85739598147546 -0.43771114673526 -166.4967003224 -2003-05-14 1218 288610543.000000 G07 BLOCK-IIA G37 -17653013.139492 -14145826.086833 -13678368.860431 509.044111807 -3030.088029536 2389.275952523 78896844239.17 119648781619.51 48118578549.07 -0.02109835563 163.36495473298 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 -0.29591138199932 0.82868111444498 -0.47510426704617 -167.2860173669 -2003-05-14 1218 288970543.000000 G07 BLOCK-IIA G37 -17445183.091710 -15216389.535900 -12799518.751878 645.257312059 -2916.136979331 2492.055750485 82001446785.71 117541905088.21 48121146324.12 -0.01737723148 166.39817094747 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 -0.31770105580402 0.79670400807068 -0.51412913034094 -168.3402576199 -2003-05-14 1218 289330543.000000 G07 BLOCK-IIA G37 -17188674.582372 -16244494.600888 -11884945.522334 779.416644168 -2794.268756687 2587.695710322 85049818307.94 115354492390.14 48123713644.55 -0.01366478592 169.42759240896 -0.33254172875995 0.76020807456538 -0.55812156560999 -169.9455703198 -0.63198647359914 0.76396660028186 -0.13018498700507 -139.6867542484 -2003-05-14 1218 289690543.000000 G07 BLOCK-IIA G37 -16884293.901461 -17227357.643518 -10937263.850440 911.153035385 -2664.856167835 2675.952991938 88039870176.07 113088043484.85 48126280513.90 -0.00996325250 172.45316480315 -0.33009744634968 0.71487979092753 -0.61642725478099 -172.9298292505 -0.74650138153779 0.38883538526575 0.53994697010669 -94.0073674723 -2003-05-14 1218 290050543.000000 G07 BLOCK-IIA G37 -16532978.042417 -18162332.650310 -9959171.840395 1040.107962989 -2528.290870160 2756.607531559 90969553750.94 110744112484.02 48128846935.90 -0.00627446076 175.47484481839 -0.26093838121274 0.63583370435310 -0.72637914453727 -181.3469190981 -0.36298830962792 -0.17176162031315 0.91582609313170 -48.3275735581 -2003-05-14 1218 290410543.000000 G07 BLOCK-IIA G37 -16135792.319277 -19046917.782390 -8953442.272886 1165.928693753 -2384.982017938 2829.464114973 93836861787.67 108324306585.77 48131412914.29 -0.00259243789 178.49260013658 0.54246801252882 -0.06587609620096 -0.83748957923806 -245.9681699847 0.27408964839746 -0.58941247711542 0.75991301901074 -362.7341825475 -2003-05-14 1218 290770543.000000 G07 BLOCK-IIA G37 -15693925.829471 -19878761.461092 -7922914.316069 1288.279954142 -2235.355021053 2894.349324253 96639829810.87 105830284972.61 48133978453.09 0.00108214699 178.49358971777 0.69211724389290 -0.66150478630522 0.28876484966384 -325.7804396368 0.74744142447772 -0.64815651984038 0.14568611039877 -316.9509700472 -2003-05-14 1218 291130543.000000 G07 BLOCK-IIA G37 -15208686.715410 -20655667.828536 -6870485.134898 1406.833609274 -2079.848988995 2951.115017129 99376537460.54 103263757673.83 48136543556.39 0.00475019370 175.48373561673 0.64444842913922 -0.62229845292880 0.44433192284869 -335.0152836415 0.73939362257431 -0.35390237592355 -0.57275664920811 -271.2717174762 -2003-05-14 1218 291490543.000000 G07 BLOCK-IIA G37 -14681498.806882 -21375601.540994 -5799100.971831 1521.277939700 -1918.916729766 2999.635895521 102045109807.80 100626484392.96 48139108228.42 0.00841323424 172.47783617055 0.64352971334377 -0.57809870782019 0.50166860780829 -338.1125892420 0.24262956416955 0.09527023437473 -0.96542968518328 -225.5922811101 -2003-05-14 1218 291850543.000000 G07 BLOCK-IIA G37 -14113895.273050 -22036692.471343 -4711749.004767 1631.315811145 -1753.022712833 3039.810263587 104643718639.31 97920273301.28 48141672473.53 0.01207604346 169.47587935240 0.65592099809128 -0.53413746477348 0.53335242850136 -339.6272670725 -0.42944046609643 0.44327777795854 -0.78681999062493 -179.2787039355 -2003-05-14 1218 292210543.000000 G07 BLOCK-IIA G37 -13507514.724464 -22637239.239780 -3611448.463741 1736.660015287 -1582.640180876 3071.561360670 107170583709.84 95146979798.10 48144236296.21 0.01573397890 166.47784263174 0.67335115604292 -0.49009420418226 0.55353942197699 -340.4943637194 -0.84174540148151 0.52338755914345 -0.13240144266056 -494.2157666481 -2003-05-14 1218 292570543.000000 G07 BLOCK-IIA G37 -12864095.438054 -23175712.762879 -2501242.248406 1837.043722954 -1408.252752189 3094.834554911 109623973961.81 92308505238.67 48146799701.08 0.01939658767 163.48369281919 0.69284037398675 -0.44574730162289 0.56681704214836 -341.0256184097 -0.71882306705221 0.33314279693822 0.61017151287308 -448.5362578119 -2003-05-14 1218 292930543.000000 G07 BLOCK-IIA G37 -12185469.464529 -23650759.165780 -1384188.586932 1932.210924880 -1230.349068362 3109.599752165 112002208711.21 89406795630.61 48149362692.84 0.02305632520 160.49338595010 0.71303778648485 -0.40103396395230 0.57510770713102 -341.3539095182 -0.12654131393739 0.00714308378112 0.99193561899001 -402.8567944686 -2003-05-14 1218 293290543.000000 G07 BLOCK-IIA G37 -11473558.080544 -24061201.623577 -263352.402976 2021.924446755 -1049.424958253 3115.849192462 114303658798.87 86443840299.77 48151925276.36 0.02671789829 157.50686849949 0.73322913147742 -0.35598062938979 0.57935553182145 -341.5450630856 0.56451524410205 -0.27769620205785 0.77730776307654 -357.0865839063 +2003-05-14 1218 287890543.000000 G07 BLOCK-IIA G37 -15860708.343599 -14517120.284295 -15324507.264541 728.683190054 -3158.196065982 2163.367392593 72527491932.81 123615203237.56 48113441621.67 -0.02858345891 157.28741114422 -0.19264658102644 0.80412815293100 -0.56237461578791 179.3620016512 -0.19264658102644 0.80412815293100 -0.56237461578791 179.3620016512 +2003-05-14 1218 288250543.000000 G07 BLOCK-IIA G37 -15981252.174476 -15218945.456279 -14524569.377569 771.021830184 -3062.055142768 2279.653563568 75738137857.70 121673677205.11 48116010316.00 -0.02483722665 160.32800936546 -0.20386595725509 0.77943466963808 -0.59238523550021 179.3452001824 -0.20386595725509 0.77943466963808 -0.59238523550021 179.3452001824 +2003-05-14 1218 288610543.000000 G07 BLOCK-IIA G37 -16103885.032908 -15882240.798236 -13683945.240235 816.660261383 -2961.969084602 2389.352236726 78896844239.17 119648781619.51 48118578549.07 -0.02109835563 163.36495473298 -0.21593140999475 0.75372988997884 -0.62069709128541 179.3301775767 -0.21593140999475 0.75372988997884 -0.62069709128541 179.3301775767 +2003-05-14 1218 288970543.000000 G07 BLOCK-IIA G37 -16226370.220198 -16505634.814129 -12805058.873386 865.699012543 -2858.353053120 2492.175111809 82001446785.71 117541905088.21 48121146324.12 -0.01737723148 166.39817094747 -0.22886711774838 0.72712062671754 -0.64723677013551 179.3169903256 -0.22886711774838 0.72712062671754 -0.64723677013551 179.3169903256 +2003-05-14 1218 289330543.000000 G07 BLOCK-IIA G37 -16346407.193980 -17087967.149076 -11890433.943576 918.205174416 -2751.633866615 2587.857724217 85049818307.94 115354492390.14 48123713644.55 -0.01366478592 169.42759240896 -0.24268893713914 0.69971576392431 -0.67193744463760 179.3056409500 -0.66956107121424 0.73122499446906 -0.13037629914277 220.3117580683 +2003-05-14 1218 289690543.000000 G07 BLOCK-IIA G37 -16461648.649839 -17628293.579740 -10942685.303823 974.220685869 -2642.245222049 2676.157115340 88039870176.07 113088043484.85 48126280513.90 -0.00996325250 172.45316480315 -0.25740237498782 0.67162456103325 -0.69474057486771 179.2961229139 -0.75580622032824 0.37076016829767 0.53971645788971 265.9911446985 +2003-05-14 1218 290050543.000000 G07 BLOCK-IIA G37 -16569715.028609 -18125889.024253 -9964511.274981 1033.759397035 -2530.625781337 2756.853105576 90969553750.94 110744112484.02 48128846935.90 -0.00627446076 175.47484481839 -0.27299210658959 0.64295058308169 -0.71560453985054 179.2883068950 -0.36365215631851 -0.17097076472351 0.91571071131376 311.6709387053 +2003-05-14 1218 290410543.000000 G07 BLOCK-IIA G37 -16668212.020076 -18580249.522017 -8958684.896079 1096.801252923 -2417.216580962 2829.750366204 93836861787.67 108324306585.77 48131412914.29 -0.00259243789 178.49260013658 -0.28928946833141 0.61372202493591 -0.73461342189011 179.2804840717 0.25697447478444 -0.59697002284611 0.75999402045831 357.2643809672 +2003-05-14 1218 290770543.000000 G07 BLOCK-IIA G37 -16754746.284066 -18991092.801818 -7928045.634142 1163.303146180 -2302.458602449 2894.675369587 96639829810.87 105830284972.61 48133978453.09 0.00108214699 178.49358971777 0.30743139063901 -0.58465036196835 0.75077952442781 -0.7174278732 0.71084225252000 -0.68804932614566 0.14591578674977 43.0475422657 +2003-05-14 1218 291130543.000000 G07 BLOCK-IIA G37 -16826941.211675 -19358357.474591 -6875490.992209 1233.188104915 -2186.789008250 2951.479865563 99376537460.54 103263757673.83 48136543556.39 0.00475019370 175.48373561673 0.32548388982044 -0.55485211827452 0.76563657456631 -0.7203057207 0.70853652639190 -0.41254027862426 -0.57252642670982 88.7267947060 +2003-05-14 1218 291490543.000000 G07 BLOCK-IIA G37 -16882454.159240 -19682200.647348 -5803967.589161 1306.354212630 -2070.640346516 3000.038452723 102045109807.80 100626484392.96 48139108228.42 0.00841323424 172.47783617055 0.34456886140767 -0.52503620582563 0.77820902225588 -0.7201913962 0.25173509038842 0.06874051955808 -0.96535184530720 134.4062311861 +2003-05-14 1218 291850543.000000 G07 BLOCK-IIA G37 -16918990.722167 -19962994.843015 -4716463.015870 1382.672689206 -1954.437657149 3040.249335968 104643718639.31 97920273301.28 48141672473.53 0.01207604346 169.47587935240 0.36448858705500 -0.49522667786158 0.78860548276108 -0.7179244476 -0.36639376607491 0.49645054973117 -0.78695137070410 -179.2789005383 +2003-05-14 1218 292210543.000000 G07 BLOCK-IIA G37 -16934321.266146 -20201322.821627 -3615996.950815 1461.983657621 -1838.593985377 3072.035658153 107170583709.84 95146979798.10 48144236296.21 0.01573397890 166.47784263174 0.38518412676920 -0.46552070111055 0.79682097444946 -0.7136422496 -0.74776198873406 0.65057867196056 -0.13266272948536 -134.2172458888 +2003-05-14 1218 292570543.000000 G07 BLOCK-IIA G37 -16926295.388312 -20397971.843712 -2505612.775914 1544.106512379 -1723.512414934 3095.342696756 109623973961.81 92308505238.67 48146799701.08 0.01939658767 163.48369281919 0.40660317753120 -0.43601912661999 0.80284567461192 -0.7073941430 -0.64503135666117 0.46032519918856 0.60994693204890 -88.5377371477 +2003-05-14 1218 292930543.000000 G07 BLOCK-IIA G37 -16892855.922824 -20553926.702079 -1388369.233733 1628.831664793 -1609.578645173 3110.140270097 112002208711.21 89406795630.61 48149362692.84 0.02305632520 160.49338595010 0.42869016669894 -0.40682063562835 0.80667323706850 -0.6992147513 -0.12250989065038 0.03368820579181 0.99189537325434 -42.8582736661 +2003-05-14 1218 293290543.000000 G07 BLOCK-IIA G37 -16832053.686637 -20670360.797256 -267331.793129 1715.928699179 -1497.163699439 3116.420536123 114303658798.87 86443840299.77 48151925276.36 0.02671789829 157.50686849949 0.45138443361188 -0.37802010554338 0.80830247611761 -0.6891399304 0.45138443361188 -0.37802010554338 0.80830247611761 -0.6891399304 2014-08-08 1804 492023732.000000 G08 BLOCK-IIA G38 2253401.057335 -21679692.764950 14864512.444579 2716.029616919 -1339.608832716 -2455.534650763 53156182131.47 -135752993813.88 41852221396.49 -0.02038337023 22.94697189872 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 0.69714410627109 -0.35471471565335 -0.62303095074839 0.7469827789 2014-08-08 1804 492383732.000000 G08 BLOCK-IIA G38 2645517.159857 -22208312.483626 13960015.011839 2662.994548139 -1238.552585784 -2568.312938707 49584294261.33 -137098790536.86 41849167666.03 -0.01784724118 19.90006100724 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 0.68321862226983 -0.32853868838863 -0.65213084915191 0.7274423684 2014-08-08 1804 492743732.000000 G08 BLOCK-IIA G38 3004961.029605 -22709368.293777 13016170.010057 2609.704416488 -1131.713546392 -2674.075065260 45978379191.41 -138350622717.50 41846113933.26 -0.01531968142 16.84902256608 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 0.66922661106054 -0.30086622771099 -0.67942273738180 0.7058792502 -- GitLab From baa7da49b95962d0713bdaa109590556e44b9353 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 1 Jul 2019 18:12:46 +0200 Subject: [PATCH 012/199] Allow parsing of Rinex 3 files with blank SYS / PHASE SHIFT lines. Fixes issue #569 --- src/main/java/org/orekit/gnss/RinexLoader.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/orekit/gnss/RinexLoader.java b/src/main/java/org/orekit/gnss/RinexLoader.java index ec40540ec..7c17bd77f 100644 --- a/src/main/java/org/orekit/gnss/RinexLoader.java +++ b/src/main/java/org/orekit/gnss/RinexLoader.java @@ -868,7 +868,7 @@ public class RinexLoader { scaleFactorCorrections.add(new ScaleFactorCorrection(satSystemScaleFactor, scaleFactor, typesObsScaleFactor)); break; - case SYS_PHASE_SHIFT : + case SYS_PHASE_SHIFT : { nbSatPhaseShift = 0; satsPhaseShift = null; @@ -877,7 +877,8 @@ public class RinexLoader { satSystemPhaseShift = null; satSystemPhaseShift = SatelliteSystem.parseSatelliteSystem(parseString(line, 0, 1)); - phaseShiftTypeObs = ObservationType.valueOf(parseString(line, 2, 3)); + final String to = parseString(line, 2, 3); + phaseShiftTypeObs = to.isEmpty() ? null : ObservationType.valueOf(to); nbSatPhaseShift = parseInt(line, 16, 2); corrPhaseShift = parseDouble(line, 6, 8); @@ -903,6 +904,7 @@ public class RinexLoader { satsPhaseShift)); inPhaseShift = true; break; + } case GLONASS_SLOT_FRQ_NB : //Not defined yet inGlonassSlot = true; @@ -1108,7 +1110,7 @@ public class RinexLoader { /** Satellite System. */ private final SatelliteSystem satSystemPhaseShift; - /** Carrier Phase Observation Code. */ + /** Carrier Phase Observation Code (may be null). */ private final ObservationType typeObsPhaseShift; /** Phase Shift Corrections (cycles). */ private final double phaseShiftCorrection; @@ -1117,7 +1119,7 @@ public class RinexLoader { /** Simple constructor. * @param satSystemPhaseShift Satellite System - * @param typeObsPhaseShift Carrier Phase Observation Code + * @param typeObsPhaseShift Carrier Phase Observation Code (may be null) * @param phaseShiftCorrection Phase Shift Corrections (cycles) * @param satsPhaseShift List of satellites involved */ @@ -1137,6 +1139,10 @@ public class RinexLoader { return satSystemPhaseShift; } /** Get the Carrier Phase Observation Code. + *

+ * The observation code may be null for the uncorrected reference + * signal group + *

* @return Carrier Phase Observation Code. */ public ObservationType getTypeObs() { -- GitLab From b501e74a06391707f55f47c9b3b79ce02ac3744d Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 1 Jul 2019 18:13:41 +0200 Subject: [PATCH 013/199] Started work on Hatanaka compressed rinex files. --- .../org/orekit/data/DataProvidersManager.java | 2 + .../orekit/gnss/HatanakaCompressFilter.java | 108 +++++++++++++++++ .../java/org/orekit/gnss/RinexLoaderTest.java | 114 +++++++++++++++++- .../GANP00SVK_R_20151890000_01H_10M_MO.crx.gz | Bin 0 -> 8029 bytes src/test/resources/rinex/arol0090.01d.Z | Bin 0 -> 15338 bytes 5 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/orekit/gnss/HatanakaCompressFilter.java create mode 100644 src/test/resources/rinex/GANP00SVK_R_20151890000_01H_10M_MO.crx.gz create mode 100644 src/test/resources/rinex/arol0090.01d.Z diff --git a/src/main/java/org/orekit/data/DataProvidersManager.java b/src/main/java/org/orekit/data/DataProvidersManager.java index cc81c2788..b9e66ddd7 100644 --- a/src/main/java/org/orekit/data/DataProvidersManager.java +++ b/src/main/java/org/orekit/data/DataProvidersManager.java @@ -30,6 +30,7 @@ import java.util.regex.Pattern; import org.orekit.errors.OrekitException; import org.orekit.errors.OrekitMessages; +import org.orekit.gnss.HatanakaCompressFilter; /** Singleton class managing all supported {@link DataProvider data providers}. @@ -102,6 +103,7 @@ public class DataProvidersManager { // set up predefined filters addFilter(new GzipFilter()); addFilter(new UnixCompressFilter()); + addFilter(new HatanakaCompressFilter()); predefinedFilters = filters.size(); diff --git a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java new file mode 100644 index 000000000..4be720f3f --- /dev/null +++ b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java @@ -0,0 +1,108 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.gnss; +import java.io.IOException; +import java.io.InputStream; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.orekit.data.DataFilter; +import org.orekit.data.NamedData; +import org.orekit.errors.OrekitException; +import org.orekit.errors.OrekitMessages; + +/** Decompression filter for Hatanaka compressed RINEX files. + * @see A + * Compression Format and Tools for GNSS Observation Data + * @since 10.1 + */ +public class HatanakaCompressFilter implements DataFilter { + + /** Pattern for rinex 2 observation files. */ + private static final Pattern RINEX_2_PATTERN = Pattern.compile("^(\\w{4}\\d{3}[0a-x](?:\\d{2})?)\\.(\\d{2})[dD]$"); + + /** Pattern for rinex 3 observation files. */ + private static final Pattern RINEX_3_PATTERN = Pattern.compile("^(\\w{9}_\\w{1}_\\d{11}_\\d{2}\\w_\\d{2}\\w{1}_\\w{2})\\.crx$"); + + /** {@inheritDoc} */ + @Override + public NamedData filter(final NamedData original) { + + final String oName = original.getName(); + final NamedData.StreamOpener oOpener = original.getStreamOpener(); + + final Matcher rinex2Matcher = RINEX_2_PATTERN.matcher(oName); + if (rinex2Matcher.matches()) { + // this is a rinex 2 file compressed with Hatanaka method + final String fName = rinex2Matcher.group(1) + "." + rinex2Matcher.group(2) + "o"; + final NamedData.StreamOpener fOpener = () -> new HatanakaInputStream(oName, oOpener.openStream()); + return new NamedData(fName, fOpener); + } + + final Matcher rinex3Matcher = RINEX_3_PATTERN.matcher(oName); + if (rinex3Matcher.matches()) { + // this is a rinex 3 file compressed with Hatanaka method + final String fName = rinex3Matcher.group(1) + ".rnx"; + final NamedData.StreamOpener fOpener = () -> new HatanakaInputStream(oName, oOpener.openStream()); + return new NamedData(fName, fOpener); + } + + // it is not an Hatanaka compressed rinex file + return original; + + } + + /** Filtering of Hatanaka compressed stream. */ + private static class HatanakaInputStream extends InputStream { + + /** First magic header byte. */ + private static final int MAGIC_HEADER_1 = 0x1f; + + /** File name. */ + private final String name; + + /** Underlying compressed stream. */ + private final InputStream input; + + /** Simple constructor. + * @param name file name + * @param input underlying compressed stream + * @exception IOException if first bytes cannot be read + */ + HatanakaInputStream(final String name, final InputStream input) + throws IOException { + + this.name = name; + this.input = input; + + // check header + if (input.read() != MAGIC_HEADER_1) { + throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_UNIX_COMPRESSED_FILE, name); + } + + } + + /** {@inheritDoc} */ + @Override + public int read() throws IOException { + // TODO + return -1; + } + + } + +} diff --git a/src/test/java/org/orekit/gnss/RinexLoaderTest.java b/src/test/java/org/orekit/gnss/RinexLoaderTest.java index 453ed6a87..88603a089 100644 --- a/src/test/java/org/orekit/gnss/RinexLoaderTest.java +++ b/src/test/java/org/orekit/gnss/RinexLoaderTest.java @@ -16,6 +16,7 @@ */ package org.orekit.gnss; +import java.io.IOException; import java.util.List; import org.hipparchus.util.FastMath; @@ -23,6 +24,8 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.orekit.Utils; +import org.orekit.data.NamedData; +import org.orekit.data.UnixCompressFilter; import org.orekit.errors.OrekitException; import org.orekit.errors.OrekitIllegalArgumentException; import org.orekit.errors.OrekitMessages; @@ -42,8 +45,117 @@ public class RinexLoaderTest { } @Test - public void testRinex2Header() { + public void testHatanakaRinex2() throws IOException { + + final String name = "rinex/arol0090.01d.Z"; + final NamedData raw = new NamedData(name, + () -> Utils.class.getClassLoader().getResourceAsStream(name)); + NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); + RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); + + AbsoluteDate t0 = new AbsoluteDate(2001, 1, 9, TimeScalesFactory.getGPS()); + List ods = loader.getObservationDataSets(); + Assert.assertEquals(921, ods.size()); + + Assert.assertEquals("AROL", ods.get(0).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GPS, ods.get(0).getSatelliteSystem()); + Assert.assertEquals(24, ods.get(0).getPrnNumber()); + Assert.assertEquals(90.0, ods.get(0).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(7, ods.get(0).getObservationData().size()); + Assert.assertEquals(-3351623.823, ods.get(0).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(-2502276.763, ods.get(0).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(21472157.836, ods.get(0).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(21472163.602, ods.get(0).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertTrue(Double.isNaN(ods.get(0).getObservationData().get(4).getValue())); + Assert.assertEquals(18.7504, ods.get(0).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(19.7504, ods.get(0).getObservationData().get(6).getValue(), 1.0e-3); + + Assert.assertEquals("AROL", ods.get(447).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GPS, ods.get(447).getSatelliteSystem()); + Assert.assertEquals(10, ods.get(447).getPrnNumber()); + Assert.assertEquals(2310.0, ods.get(447).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(7, ods.get(447).getObservationData().size()); + Assert.assertEquals(-8892260.422, ods.get(447).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(-6823186.119, ods.get(447).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(22280029.148, ods.get(447).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(22280035.160, ods.get(447).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertTrue(Double.isNaN(ods.get(447).getObservationData().get(4).getValue())); + Assert.assertEquals(14.2504, ods.get(447).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(13.2504, ods.get(447).getObservationData().get(6).getValue(), 1.0e-3); + + Assert.assertEquals("AROL", ods.get(920).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GPS, ods.get(920).getSatelliteSystem()); + Assert.assertEquals(31, ods.get(920).getPrnNumber()); + Assert.assertEquals(71430.0, ods.get(920).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(7, ods.get(920).getObservationData().size()); + Assert.assertEquals(-3993480.91843, ods.get(920).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(-3363000.11542, ods.get(920).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(24246301.1804, ods.get(920).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(24246308.9304, ods.get(920).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertTrue(Double.isNaN(ods.get(920).getObservationData().get(4).getValue())); + Assert.assertEquals(6.2504, ods.get(920).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(2.2504, ods.get(920).getObservationData().get(6).getValue(), 1.0e-3); + + } + + @Test + public void testCompressedRinex3() throws IOException { + //Tests Rinex 3 with Hatanaka compression + final String name = "rinex/GANP00SVK_R_20151890000_01H_10M_MO.crx.gz"; + final NamedData raw = new NamedData(name, + () -> Utils.class.getClassLoader().getResourceAsStream(name)); + NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); + RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); + + AbsoluteDate t0 = new AbsoluteDate(2015, 7, 8, TimeScalesFactory.getGPS()); + List ods = loader.getObservationDataSets(); + Assert.assertEquals(188, ods.size()); + + Assert.assertEquals("GANP", ods.get(0).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.BEIDOU, ods.get(0).getSatelliteSystem()); + Assert.assertEquals(2, ods.get(0).getPrnNumber()); + Assert.assertEquals(0.0, ods.get(0).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(6, ods.get(0).getObservationData().size()); + Assert.assertEquals(40517356.773, ods.get(0).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(40517351.688, ods.get(0).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(210984654.306, ods.get(0).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(163146718.773, ods.get(0).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertEquals(35.400, ods.get(0).getObservationData().get(4).getValue(), 1.0e-3); + Assert.assertEquals(37.900, ods.get(0).getObservationData().get(5).getValue(), 1.0e-3); + + Assert.assertEquals("GANP", ods.get(96).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GLONASS, ods.get(96).getSatelliteSystem()); + Assert.assertEquals(20, ods.get(96).getPrnNumber()); + Assert.assertEquals(1200.0, ods.get(96).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(12, ods.get(96).getObservationData().size()); + Assert.assertEquals(21579038.953, ods.get(96).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(21579038.254, ods.get(96).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(21579044.469, ods.get(96).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(21579043.914, ods.get(96).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertEquals(115392840.925, ods.get(96).getObservationData().get(4).getValue(), 1.0e-3); + Assert.assertEquals(115393074.174, ods.get(96).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(89750072.711, ods.get(96).getObservationData().get(6).getValue(), 1.0e-3); + Assert.assertEquals(89750023.963, ods.get(96).getObservationData().get(7).getValue(), 1.0e-3); + Assert.assertEquals(43.800, ods.get(96).getObservationData().get(8).getValue(), 1.0e-3); + Assert.assertEquals(42.500, ods.get(96).getObservationData().get(9).getValue(), 1.0e-3); + Assert.assertEquals(44.000, ods.get(96).getObservationData().get(10).getValue(), 1.0e-3); + Assert.assertEquals(44.000, ods.get(96).getObservationData().get(11).getValue(), 1.0e-3); + + Assert.assertEquals("GANP", ods.get(187).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.SBAS, ods.get(187).getSatelliteSystem()); + Assert.assertEquals(126, ods.get(187).getPrnNumber()); + Assert.assertEquals(3000.0, ods.get(187).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(3, ods.get(187).getObservationData().size()); + Assert.assertEquals(38446689.984, ods.get(187).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(202027899.813, ods.get(187).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(40.200, ods.get(187).getObservationData().get(2).getValue(), 1.0e-3); + + } + + @Test + public void testRinex2Header() { + //Tests Rinex 2 with only GPS Constellation RinexLoader loader = new RinexLoader("^jnu10110\\.17o$"); Assert.assertEquals(44, loader.getObservationDataSets().size()); diff --git a/src/test/resources/rinex/GANP00SVK_R_20151890000_01H_10M_MO.crx.gz b/src/test/resources/rinex/GANP00SVK_R_20151890000_01H_10M_MO.crx.gz new file mode 100644 index 0000000000000000000000000000000000000000..4324185c1403e712849c4bd6b65abf01495a039a GIT binary patch literal 8029 zcmV-jAEMwNiwFpsFB)9}14ltlP%to4R!d(}UotQ;H8D6jFfcGMUobI9UokLEUrkRg zV{&)^tz1o$9LI6J&#$NmMIh|M0QLRBgCiD;;c~^rVq<1Wfx7sh@XeMS4qLz9@4c+* z=>kqUuIP^z4q?YpW6@bpKflS-TD6U^wE9);r#yQ*?r;X*1qub z>3l)&jeGv(>2x?hevG&0kM6Jk@jtKgYyY~rFaP*({Qdv^=P?Wy>UX~G2YfnzxWjPo zZk|sET~Dul-2Li@x0loT=bPvI50CuP4X?d-|MLF+lhWIXb4DxjM9#c90^yuFHvL5pI^*`I3?rt8R+*kg*zd8SS zI=jc4_oqV$C6xExhks(6pWeScoey`X5AROT_qYGVjHI#4k53;ipL~Az<4^AG876Rf zxcT|!*T*qa!ANi1&E4to_LoD6zWvx^sOkEx=kxvhw@}^V>G?e7wfuUdH~eRBP^Vk> zyJ<*hsOCfRA+^-Y{;tpG_oa*$UVC${#}ALEFU{`e@p&5$mYzl&p@-KcH2hx3rNmTU zx0KP#ZKPV#>*16C!az^(892^|%e}nf<1c?aY>xIi_3Q6=%*p>s@5RJUkB>Lsxp$`r z_}33_PH!Gu|XcE0`D-9CJ{{n35+{`(8(`*1kBhj6>*@DGlA`Q?Ijd-~z#a&ng+ z?!SN5Xipq1mTxm!{HAk@-)?Sq-*nwDTKwpa-)?T@<2Rez2~YY>NBg#OYu|LV{_RG) z#oX?{*=WE2ruN3Gp?)2TJe+Qx+~tG_`|fgZx8ZifFm#@Fow)xb?mk)Jir50^J@?=Odo`}&_RsQ^C})4F%J(8U8<>g0met4*TjPP%#6RG#jY~~GpifNTxEJ&<=wG6Z z`>W&qem7qDa-L7WKAyCjG~R=L=k_1f z?#uCby``_Smfs-=x(kTk!^8da94o!B&%giY9+4Vc_yL2EZR(m)?!JrH{u=DpUGAQ) z2LF8j{=_+be}BF_^C5p_w5SIzW1H{a9PQy|8|>?UPLJ<6)(@wfcc7I2X4CQwjN0MW z`tLds?^2$riI2Cw-1>GK{B6jm5KbYU!Z<~L=fjVZ^1u-w&man94{! z4t}>L4V(QOw(0L2w&S}cViNkQdSUcZG;Ac{#K0wL*jjxKA!A$)7pn~$JBMxa&m6WD zKPu)^HLUgWsDa~*l47hikcD#C;4#?(g3L9^Iohyd9~iLfuMHb(7`QJ#b6YR@+&E6E zSiW3iwb}ZTu{u4p+Vy13hE3)3MTo6s-#A|>$$I#OcI~wu>h7~xb&m{%^j=5rc1y?} z`VEm<2?4a-V-1i&sq3*)t<@HzG-%7WCYD;56Rh^!RTEt8{LvbujG?fI!>t|^JhHof zX4+hzMOjx!J;&ss+9ccaDb)spftjdVea$%yXk6XgLWOF2lCE=}lk3)IueR{cOZR)7>@Z(6%JVl0i0LX#P=odK^H)YsOV9 zlijGiiW+&fFVGd?2hr3#%X;vheJ`YDPdD(mtx?^&E6~2CM1Q+>xuU@yc174YgH)eZ zkf#;oPp!b`1e&mJu3ie5j6Jh&j6T`p(Wy^F9t27tw|!iE-%$x?I^<7(iLiQPL}~ba znTX0>TPr<#FqLa>0u7!YWUGRHMSFhyfrld6m1{Q+uTKYl5mT8=V$m|8_0C1Icoo(m z$gw!U$M%K5Z(e zXt`GVGAMQ8K}v4*fL^0a!*3lx1Vk?uY-$7}rS+KMdvmXt`fnOO@DQ}KOjc^WY+Pyf zU~ui)>tjU2&p|SWARbn?447^=0EMDpxZT3NdeB8Q9ZX&1)lN*vd11kxnp~$!<_L$U zhq!Am8Y5K?2rWXodVpvnMj)B+uCx*Si6VF%TO24A5iDwpvtr z$xU9aYK3!x*14^h@`PLUy3wTB8(~EykWFCCkUz|B1+nTDmPi#^kprlQ6>iEdj3n;@ z=vv*B_f)@qwyLmd24SdixUC29&(|K1JYIVPkxwQFumy_)9cf#)A=QwQ2TTE6EP65d z*#jX7n&N~Gzi9MqYh6>_6X_SMq$4mP9!(y?UPyV@gRj2q87m>U!9TEE*Dg$6Rt_Hq zrofTq;LLnWJ@E ztwu3B!aj+l?^`c}nk!|rB;-0}MC{r6s{z!lePIBV`xG@8Agc#HlD8g$Q1RDZGE;%Z zkxC&-_|~>A%qW>d62xJIm|@&?v*l}7mB*dxS4Op^(Ythdqx=Ax21==$%pQ2#t_R;N zTaRX^$p*w+BuXP1K&T6nS%f76Pt<7LiiEQVej9guFRzq5%q%7Jm7SRS`=^ctLI|Kh zxR7I64{Wh+J{DSfL~JLNOo#Ug)iEGUB?^tIw)i;cz$t zvw$@Yt?zBPBdv^S`7tq>#gIoCg7=3beGm`tOz6!WRX{?z2MH7nIa_lcL*UD$Gr0!Z zn?QW@tkzU`QA|WBSQbXY*jZzHtPSAGnFNxJF$XY zObK_u^#=0=UjSbX2o#wW1aCJv24Nd(g8X|pVtuJVK8}eDTT?`SxkOekj-xdEmjO=4 z77&&yco#(2A0i5#@z_}5LOkEK|;{bRgDzvO8 z!gLB1151OdwDt{*1rXD@CIs0dAM9AC=AZ&te%2m*#MI%!U3Ch6`H(@YV7H|?N!?>W zy9R|$30ih6{~+6g(L#x!>R4fDc8Qo92FBfBB77u!PAF*PO=A?~ z2m@pDH(7at&C(LgH_Iwz=e3)Dfa8IACInTJ;LS@yreqQ+AMTA@4F42|ZXuG^O~N&V z3fMl>EFE2^D{al9H(IKz(1U?|Q^XoBv5mCEp6RE^&j6CNQ0Q{7L>aDPq%DpJEXCt$ zotoWxE)pm&lCn&Og&bLd24!(1k`=ir zBK$0|&}>Z18isRW=>nG#NduTaAZ`;eBybNwzGltXG5Qp1q2f9UYfpGeiNh;HK9UG~ za4)SIa|v=uexhPU*i^huKEVAGNd=R4XJYcrtcBqL8BV92B^E=FA> zuQeTa*_<9f>lnzOCVBvDz;&kBeVAfr31*30a+W-JuOUsq9dlSB%vVYYwaWeMxmjP3 zIjtLCJqDx2JlXFA6l)Yak^nMGpK z97%9?E)FsZ%oebP;S_bdiWOon#NtC@0nSQ5lIU7fVxlgIjD*oEBY3yCiF9#^YiT1cr^mo}hZC&=32$Y-nOqykO!ku+PMkdVn{=qC~a?GPZH7*$OOGjP?3>cU+Z zE;)h6!#asD*Ibs!ipmtFZ9E9zsk1h{Q2_i5 zQI8P0lY?%^8_Pck;|HK!23i8AOk&a9Bp>EAQDl%IWTD_eaT7DWrn7+9=^t0|r~qL; zaTIVK!}RIvV-{AFBXE{N;O2$|M5lR$<$dMWiRpt$V5pJcOv1G!K!Q0*T~W5mQ2>9e z@KAFS#nepn45}uw$^cKU9YG{1)|#B(hR?iiKc`TSfdXY#{35 z5iX!D71%UG6&%%n#=)ce?JIxx4|ly0lMo@eDJ+C80In$@QXs&_aB=S9X10M00G1@& zKpMfNfChu8Qi9!E1U2LVQi_4F1qdKegK1+)5kuhSi)b7Mm?M3aE#Sr>9Yp#I2FRp` z9zy?PI1eO?AiYik(k92kG%%_^%^8ka&|Oks_GU5d;vsY5cr@@+&~& z?;$dIpdU#+)C!443ayZ|28BcI;!Zh%BA2be7aF{_5tq}v9`@*aRKH&(Ic zkyX+$rocRnAAtkV*8&_yc7t4)nGz=o+($UaHBj%t^@$4^CRyV)1m?`?kVaz2mjZ@I zb_LH(h%q&6yEx zVPOD(1j7+O8!N{VdySk51wN+)WHlxvCJhNb4YnLeqQHm;0^X7kkyvI#u9@5wt;!l6 z7!k<-90lJ6g}4GMnnL3ucouk)$OECQ^d$i>X{Z$$YbE~Eis$5&7J0-bXcjHP=3vV` zZ{{S>V*yYH#xG=DQ-JB3D_VJGMdvG_#XSL#_`Zb1hk}6Bs8e9fBz(b2FgGl-&)gB2 zlCFW5AWWp0;H5cPBl%bhSal(qK!{{@u8}g*91B95&pM_&O*eCisZI#2I`i8Vc#Syd z5Mexb+UcU#9GRgZ&q#00PtKi51pL<}bdx_?^YC{H0J$l=9r^lz^~Eq4N|8Ck8$g zS-|R8t_-HR1mdxB8qU4bj60QVLnZPFT3ND#z)d;{b+F#aD=hC4oLLpy zq(rPk02x~ADJ54|E~1PY&RBm^ZjnWq3LK1i`OhQ%!g})c1)Jv*bM^+CJ`b_FG zwxtDG!E}SHfXs^m=vz0zGf+}sbpXE~peF`ilNb_^!jh|%DRpIVajBsBTUm8M?g;?a!k7vpZsQvGcxENLaIYFzsp@N3*}}2H_67+zY=ZnO%@ZR?;4>qG z1&?4gU4Wm;aY#{BX9eHMUO6Z1irXp6PBtq9gbmVX@Hz{uSYx6ouX6*22u+&7jaIBN z61}WYT$zPpUVY^@$Bp&uGb`YHK|aGzc{VGU5Vao2_r_2ymq-YqB=q?affum{Lgul# zv|?l19Eyd83Li`zP|7_@G%zyt3J=0WR>cS?cy!1_)|VIBP9_V@nJAvIrgoD05G#hsAU)S~b zjVv>8V~)HZyg3Z%a}1KaB{0E4&goUYROP!1!}^tqJEP;=!N47e>sj%oHLVI;mha(o zoe(#8(gZ3{3*+KuY^GneRes)<{zW(@*JDzic<71Sg=}FZj_i@ABlV^d=2fS_nxAD3 z$1tgV*w%BGst#2e%K#;1^ig%C@RU=5_klcj026Gy=h;F*k-ipY0%Z##AiP%VKoTo! zi;<^6{IGIm&>0{^q%cW&TEtzvyiR^znQ`iUJ+ypE+DUE7a&eztlNCUj&C05VGB^ZJ z=$w-I z=okQkHDzx?Cz>ETOMFLe3T={W^SkU<(G%+AQ6sEP&V*pkk~|yF(hFR;=VmR*CQoMN zFx#|I)Ll_hBzzE&8f&DLArLL=Hf&pF+U*$$_*ScgCWZ)#?`Ip0^~70zcd>rCSXOhj z`dH1S<|z~fhnj7xjL;Kp2T76^4S2$HbW4K8tfG{=;_K(Wm?}%;u7D3@Qb4pkq|WPu z{>S}!d4V?S3)8enLX($J=J07fTrl*G+&%$rS8i9cWq@F7`904eaXX#@lL-X8QAzJj z@XfXeOuw9Z%)7|8MYv-n9cQ($(%!i`6smG%7Fe_;0UQKy#VPTaHejlf@TDb1M*dYu zoN5=2!veu!Sfz$3szO7dD$paw)u`%Z4^k^=;DdsnY6!1Ma#5K&c2 zcxq<-mU|L>c4&qt5%@8(Jp%5QCcyO&ezn0pxDU@;v=pW_q#)X4&ZLAwe~`!nI0N(E zP<+^0mK5$>oclvO zxy6>};?y!LQyaMl4b#Ay;f|ePhL(3EF7rO6uRWza^Kfoj>VD8+sbWxlXz#L1HMBcc z<#U%%dDcX~tk^E1(3y*~G?loo27Ms(phqSEZm2Wgq3|Spves)ES*?O<#`b`#i0@u* zZGxnAR_%3!z{){D@?_;>9#m{iYLxjGjrA`IgJoX|o%o>LcC5w_S>jGjO`DV_;}05?A&*bZdZztP z6qwfOP$(a$?J|qmk_DyAm7@@KI3}>hsYn86X$&rWVQLTyD0I#;^Gz)+A~Shz#(5zm zOh;8$9V9_ojR}H@Feqjw8$~^y7}BwAZ!J$Y@c1IB4OM&=QDJx}4WpKL<+CV+_0rn4+CO(`1t zLG+7SzDZuXCu|j16^-=hgCqYm4@47JdSv~{uIce35umHA*O{zbNjPS zphY4-5UYYt;*pL%(@~Yq z?R}PLXPCOqnNdKTv!gP65x}l60`kO6^;T&{b}sVt{v zNw0gL%{)%TGnXt=>Q2oLQ#+ngHQH;3L1U4ZQYiD7TLn+f#Kxk6a%A}xkBT{6DN04TiKfG? zhzpg`lmfMh_{yW8ODNgR^H&PgeV)h)SISgZd*Exd%n>@5m|(A3B(mRFSQ0JT-DJxY zj`VA(%zsjQZ#S%yr< fJq{i!HN714;xc!jJCC$#yY>G8c_pQu2?7zJM}$KpQnYBL zh?FS>Ux1*J1xgVGQk-Cs5z?ZaGICtd5a?pY$Dase;Aqh#Or91oWPp$%Lr08(218D) z2m*?fCr3c2B*O9KK^ZP$!~hE7iI6EKt#C~8#0dzlRDu}HisA^ADJjSj6iKz@Nw#iP zvUI6{PMJ7k2+Dwwv}m5O2dg*daFRmeUY15}VWZ0-eWeAib zO|(Xo3_?g2*>GP@dBY}*oHU?ogoVMU3L83d!c2kVJ8_cdY50su+@g&Q8X%@jNg9?< zj}?4WEN|{nVUs3BoKR69Bnd>NPmF+I!X(K>CP9v%gezAe{UQ$)K?Der5nv_4K?6U1Ctu1xtKsOtY8;GHByvg5bAvyW=mcXRKpE!&M<=u zOy%HH3pU6=!woaQAY2TPVh4g)kLGZL4L#Wq!8wymD=a)8hV&K#%Vh8Z}w5po)DxY2RZbc8Vm9UwHf*-b#y;YJvCjPZsG zIG=$b&FQVzMA3D$QHC2#CqYE8PvMXQy$8*R+@hSoTPKt{-6fRORV!S?<4%z{t&wHslN%`_Wtj4^c4Xv<2& z3^yp%0uDRf0K?kj*02-X8NR)q6~LuY_SqniCKL{Ulc>7_MYu8Y8)m#E#L;btO*Ux7 zyWRPE**T#ia5{$p2OMRLOvf7$O=Zy>Zscr6Z(7?C1{-y7yhRKx2#}njju#5U| z=?)+uUJLwJ0{~751Oo&CsEU`r`84HH2=reJ0QjZ^77zqB7)Sya2)G6=hA{_$mI4nF zux1tHU$;u(L0I+^DkK3tWs#2&l5i4;>_}YIYgl>)q%R~u%s^65fC)ed!4ZN0Dq}%m z3ULJ$8yvw=N0?m{X>f$6MDYeu3>T41&;mm#Nd_~(0T@9r11`#-256GOrZ(l1GRhzZ zk9y;va4>@b}S_&DQ$5|N!b*el4ycR z)v*SPf#V<@1p^!ig$8=W0rA{8B~Q8u1~WL|AR8sfGSc9Thb$5e7Fm!*ZgB=Vut6?0 z<;g*UG6%WDB@D=Q$4;uoP%~J}CewDz)+x%5gj`!IO~4d19x{>FX(T~xS;iKeQI9!* z0Vrv(rEUs^O}M;{>^7N7MS;;!fn+B+lSuyMh6rfNc($QzK>1>ZNV~M@p%2u!R*PROV_|M>2|+HXxJ$+1k~zA|;tOP*glGD+8wv ziXi&5tL+rvs2Wfdc3b+C9u=t+oMyJGQj#bt8A=du3bL^#Z4^0WN<13iK$m@8l33LC zPT>mWslyZ$ty*ABDH+uUI0On_iImUCVn?d4bSq(J=M%y<^qxqWYYPlXq_ru^j%a;j zcZInmqe==?%%xRQ&`8=h&Tb%vRn3yd`9>)%43o9h=XmLhO;iR?ET4T!K7EpuPzG3# z`YcEd6kuCNkqaqP9Sce;x+Rptj$!c~2n-Z}NMPzxO0!(pSQPBtOLg+M;0rw4 zQW%td?BZhDh*r9u5na{9FDxm{IyNCts)W6ik`$<#W;Hjwf^=+&HJD6+CR{=aw1Pwmd681lC52a9*v4XeL`wUbba!gQ|V?fV#k|na~*1HOR3u$#H8L7XPD!9Jyym5reXO(-DJ*E0bb&OJ_VFN*B}NB1yEiuS|20d);RRW*Lo1 zY%;;|d#h{Hn5nkyC5E%fT%|}<;LRN|Qn)&2LuoitB+n##VX47(V+XHYOk{^Un`ESr zv%_M6_mS^SrC!r9wP!stDm9o&IB)#v5>`NDiHC6|CzrXUF^wSSt8z?f+D(zZbC#Fl z>2Z17AaAm97n9;Th|YO!msVp#Yn$>fH+0VAye?n4-8yn1ZQ3D4k8SreUD+LF=o*@- ze7r6lmGVZ;|G7=g+EuOz7fCXHldhhs;G^ms`p*l>kzf?%rNqc!M0S@_b{_PI^Z6(Y zswv)wWi!}AFXSi-O6r3;Y(k#$g456bhH$g8%^H~ElKT^3MXBs z1oZzRu%UjZX5vO)_2XynHWpmPU=jssP_}q$)>$#PQu~)`r)|r-+|2Q%K<{1EE{f#!{TN zW$pHT-b5&ImrzIMDHrA_g4Kw-vSz-OW~>8twpD%J^lGZcde-)OM3PJhhe*PuaGV!_ zmd9n(rA(a_Y?>HA0@r|XR&T4Znljx$WWldc#4QdA~%#< zLW0n$ZB|Yb3~S2rPexx$c<P(@V`5=}-t=2;mRZpDY+JW$j+IO~wpH9_WYhV1i}#pB zf=a{#M$Z&RS2j!ZhKTqk7K`a7*TsLq<5tH;D~f1T6*Nbs#%)80h|Wlyb#!7CI+H5} zbff`ZWf)>p7)}C2i?nB2NBlzYnsp)k0Y?c`&&$7arklUs*p&}CG_(=0{V=CX1&j4cA}sbx#9If3CJBW5IzJR#j`skV=P}q_r?gK`FEn zDeELvGPrK9iD^LjCW$&rxMq0`Sdb^gRA8n+v7~4!8hr$bNdsY$E+&anQb*AjWS{nB zjB#ldIcp!dCb$-=BS<)Wl|+iNC5ZG}mYGdUA!AY%Y)tWRB&R4SM`#45e-(AA33+6@ z^kDcEsCuDPAlFZ8$${9~NjMpRMOJf0xH=(;OhR^ML5FMNm7f{JjW`9T47Did1R2da zY4F%Z3Mo=^rk<)cSNW+&3*)6=$c?Nco)}1gkUERO^qJ6>XmZ6^rAeHG)nN@P79{6e za+R6Z_NEsGgNZO4C z2Sz>iTX(r!ibz}a19X7|bhKDo!s&pm2dp&)a!GM@-x_Z{=b>1duk^)X&P8n8C5Ec{ zWK$`p^%SMU^_@_`u}Zir&-o~}$Ct*ce6YiSO-f!x(vfnfL4l+clZ2VHf^WYy783P{ zr5bEGDz(6hsW%2kOjmmVCqRn{g=VO7vJ|Ca^meAFqU|YZ-Y133^(Yz!SF@Q+1m{QS z3avshgWl;)m-%#DH+q_aKzvoSM*1m`_Eoe?Yq9uiuR}Y6mTR8}tl1{F)+@asNhzLr zSu-`epGkm)6>qyqCFO)kkfw_6t8;W^N%0oFiwGGJx~%!wNjC?wyGT5;(?{)FbM!@p zjA?;)7ir)~wg+2ti$Z~#=3@{>fN#XVl(Lwk$Y3eOX}1_!GzA#Z1H3$$~Ra8IDHH`uC{h+{UxOCYqdTHryY5E=QnWAOPm+Ge+u_TgZGOc zXnenlXsZK!Sh#AI>A!gTl0?Rc%qy^r(qxY%Z~&Z}qV%BWCrM`2iPE=m3gC(uR2s~6 zVVdHWu)3Fni-un^NIc2An++9i%e7`u+h{!}7FP#|7no*M zyuo=zE4n1Evr2q8NM4-=&tOD*UkZ|R$EvTS6v@P3A`46{Jdje?NyIkKsJWP7q?z_R zVmQ@Hd}*;mh0p5DstJY0gkp93m3312&wAm9SR77|Dx0e+KoRxOHK(!u`HRp8Oe+Sw zB8X=bwqeUF#XJdU-x!t6g>N@YaIpJEQ97{@C%CwXh41WQ)t8Nx=d(|Gb^11H%j+io zOKruh7l-zfwzC+_=VNLVv5CZIz?4~Y+je!mHcmB~H1}nL($?=4W_KL16;*S2ok5VO zfo+*6A?t#?#(9f9AqNS2bVf%ZT&nd%8hn*mZ}Q7+5^GckOy7OnJT0n3Qr#?-O{JyX!8aD(%~e0g zhNpFRizQxMSlzTLnd_}u!zSNt5-FPW-eEL$<2ht9NR{=(c?g%?i?KQ(_})e3-r}vN z(_DO`N|h{%NK293p8{^-eOhgzd=Ne;kb$}fzTBCVq8zR$4RuHp9*Ueh;bz9maM*E> zJlu)a(3A~Kue5WR&7HapSb;RfxLKNz&4T%~csm|W)!f`_6Qy~rN6;#}m>1fS4Uo2- zwsf>d_R6W_*V~w_T9X*QM~Y1qbs=uUUObXV5_;P2~ zMaYXy<=w5s$#9C6L67R{O1H_4_^@j>x0gnvfa?>^$5FbMotc`?z*MDzHBNku!?U&F zb*APBsDC87j=jct@CZ8Cu6xUOz!7=!7VZr4C|@C(^z}OgObD5|yIzi?mGF>SIiHf)$<3x4zOE zhjDEhYPe$RIL`c@Aw1|NeCE39%Y@>&E2N%Xgc$6sYlu|sxvTuxth2m*9>t%YBz_mf zemulkynFzrM~QSPAQgQBssNruE{SlGleGPR6t$`i=UeE~ zq)hB6YK38YK6r5SYkvoY6vkn}+u(!6%t;pKU>x%pGF@+^NvH?UVnHqxMbF*mYJ{>R zQZp7d{MI!d8SMySM$I$z5I96SSMnUeU!UoUa_ zn2o-dWwpw&&z<r+hkF{Dw2wlcu5O6p^!DVP%_`R>m5EXrG}L3^ z+Rb9$f%kAIrM#VJHF=dV2I#olo2fLvDHe@B0kq0)%udTW%4ED)7J`C)9vzY5IkCvV zBpatCa2QY6BS@`?xs8UQGlM)y?wfaPjL6)SE(dgEko&VerH}KW9^oQ`QV_u_Lf5FhMs`x1`P3DRGCs&>2(5{7BBv6{NWxwurZq{4%jIHz4IkS|yTTdGk`UBRG>j(!I*AVP z9g$vBB;uDp`%7qra>*DX#m6$BqM04srjNBE6u9&1pRXY%KW)41zYWF4+|7YQfQt;l z47JL%dWIlr31Q}F2t_oi2YUWoUSUXtWj7HPCRErmola64i^sRvm8+AELW6usYd>Lp zeVO(5pU#hJm_^%22%;`V(Q}pz*Yh#7gY@MZQa4OW6m3agNg^t(GXqB`XpfudKeLFd z@G{+#fg%MwD?CQf@Gv78b9z|E|Cu|9XHYN@VDkm%KPCZ8w5bQH@nEvJUN zoxKl~aPZYEb1bWacnP}>reKmCt!plE$W^_nK**RHUl>t0j;>o3p#KwjWKi2NHqy#X z$skGOO-7oJsY$tH8`?uA_!F)eg~3qq#=zJP{9>F8+0U{x&jy}7iZCNe7>2ZZculA? zou8pLcm|G08zybUuyjI$HOxZINF*&r<=iNkSwnl!N?E#9XN1qtFxYZ>G8FhSb^tAx zEeh8%YXFRk8cpPdXkicos5X?McN&U&aOKP(Xv2#Ni=~h;uI1+J5sk-?q>4IfPJOME z0HHb;MpBresDSu}^N1hfvFXeTCq#%c&6qjCOogO!Nm|-0XJqOjq6g$r2$5!MeW&Iy zg}dyPiO$F(<6^_A_&hK5w40{NfBJO6PZ<`hUV|pyMB2I(dnC0axiPnUevu>eBzB~O zrL0LPdWh4r8h>ykN--LW;^#hB;E^SKrte^ozsOY>kfka(01>P;t!0}8{<=Wf7BQ}TvUtYp;>HYKvCVRAt-tnYyQFeIXTu3luMeb!Nd zB&ylLr1)P~N?(1&9O zt{pWMaU#t+@i~gn15!o}w{pfvkwG}a+gg~H;mF(`57BdHM}cEffav{^YFY)~4kAK8+`4@s0RSPZia9kWGx)K)V5g8AvC zw4IM;i>4m)LVpVfJ3&WKBgKTH0qiUq#7%g%t5{}Yb&Wg23D?QM- z{Kb_MyS5gD(m;HsNW7|FW>%z)BLMAF0Av(=f_Fruz~=7L#{sH}~jV z^)7cbW_+aUJCf|C<7lcC#HEMa9sMu_5512_&mTk=8o7bn9F3ojlN@xU# zxui$=6L?T3Sv;|E|0twSlKVuKM4A%rPyfJ_-9%^nVHaUskFA;*Do@#2-dGc|cnxxa z@sg#$>`c%?6j-uLKBCLPaw>68{ZK10Fq1j0OQR?(R??d#@-8ApH?ojw2o-=DMW{@l z0inghYV6*ZksSw;0#%ejN88$yRDw%gs!X1n-!c#Y3#4IsLoBFpOc1gHAe_$K1VtZH&RSq466Gkj1p{Pd1Cgh1dPZ4+0BnD|RZVfUpo-))(+9XrBh!Jo? zohqYJ{e)Pr*=4}y(tM?sh#o=LuZb*3XOnG;t%MlGo|SqwgmZSd4!|;VqGj6rIK4)u z*db;nu+Ye&nk#LKH69Q;GG|`Q(2+H0QE`=!+>%_1P5W9gYA|FDnYhwg+zWmrIR1-U z1u+tXR=}0X?2CTG3%B?d2p@!NIalWY@$=L^Ub@ z0L=2oH|tqDJbfT1pD3lY(%Ztw4ANA3&`n(j$rNAASY`=%g2wxe7qsH1<_?rORj9glGR5e zwK^gx$Gn)487lCR)s&>-wqp>}2K`&vOdQ2aIwxG3nUZ;VS?UZurv>ERiUh*xOP17O zav?`ix&}`e$|rnMkp57$R@2Pk!(3iSus*HBp-5!L;E~~ZpHk^uDfUI4FjdYGIhpN< z!p$*eDH`AhNi9A~z$B7Yx_jEhA`yd4vPWh!2-Q}4+i6N*7t zE*cssp3q<}12pyINdg!`v8WItvIL@1=i7~?3L;s`TS8-+P6N_+Jq5y`nOvgwZYU&QBP!LLZiLCA96Zk^Kbka=Ha3G~r z!MD-G#17T8xl$m7c)-G-if{T#8>x|G*#sr3XKXO#3u}hbt7PTDsZ#;F4hqX(A1X8{u^LCt6w6Z36xOOV zG#Jme&RQidfj`76GPyG5bgL$6`OJ?C3iu!qQ+VtONj@!&uc!ltBlk5E{-@Hy57i=3oXvF@U!#isV3prLOuY1%bg z?w&rRQ;SqtZ8?^OeEP#l(^JJ`3|%oX$rcVIRwRQIr0!}ofaZ=-$Vi%-gq&eys38fk z6in+^bXpshNl~D0ZdufQ`J_-881ZI>5W_Ifqez@Y(_?WRo^q!ZABi|iU|0FkWC{%W zaG%mQdNS<4Av5GIkfzjZN=9+2Lry2w+fgX87_pBR?f+CQsbs6oMM-=YpH~; zaVn=YAek6jbFxA~$=$Yqqv&8EM`Ue#6VhZ$X;mO`+@uq1x6QOvGT-L74jpG}C=BS} zfg*=Xedw*k#cP~OjWC)ZXAzUC=5k*+?!XzV+ctbau3d|7Bo}#Bz>(!}TOpyNDEVZ~ zJ<-*4Z<$;pn?JsGoA^8GhT-PRf}14nq>sEecxNErKkZ$4XZsH9f z1+uKWfWV7D5>>qB#EB8HRiltDf@!)SuAZP>`sXP?McdkgVmGB&p!K$6z}d;$tDZAS32Q7*BmhrFygwqrtX1YqR zmN~Anw9woyOCvqkrYJhVf&{Z!w8L@l5#pLQOyY7$uQy|Dt?X&moifLtLhZn9nLSsE zjowT#UKwG$%|A@l^D-3QQfcy92yMNP1iYBSIrkpvt!!~woDHqyIe>Jpj1Op|z21}F zewX6w<)|WStG6QYZ0*EJyTEuPW1wO;FJQ1yPQvBl<^( z9-A*Vf5=O`Q%vN?_Q;VN^vAZ-&Y3$p>s6^G$9a7dU9;6NMrG%0l}UurAlY}xU)s-z zsRrP*xB?H{i8qx`HEbx#g_qoy_Iw=^*Ua3h8fp}M=adLG8*$ErxCx{{_n_PXu}W!8 zJS`Ty0YMRCxG;|<&NMy`!&@2c_+1KGGU2q&NUPZr4#RMvq%PkQqUu99rv#s6m10j> zoxPb->Ll6)K3(ApqTsy4G8$MRoa<$|skpJ72L*|)?dIdIVF<%`rf{V|=B%&UvZOTd z6|E0cuV`KpovIA;QAwt!Aeo-+01Z|-r~E~!De2%YZ=EE*qolg5TKNR-5K$b$zvm{L zOgsOCNi1I9yr(hj?ev@vQiJhuztpMJvLoWMjUt0XQ1M}=`ek(L)ee&Y!La3w6xoLZ ztr#_TTc?}{RC#|(%FP)j3+muwwzX;FLSSv9HX?MSQhIcEwxy*JV&n3~u3}=$!(D_0 z#Ud`|MO;kuijpjgsI?+r#BbM*D;}U9(2sN|Hc@FJaH#<_MaJT-u>vZvD9Uv~B@8AM zQQ+{kQH4$0387@M9}~iUWk8o-f^{X~`RxNF+wr?WsBbsr6OB40M?oj$K*5{I&<`sAv~2!^<5ac1O(Z ze&W<6h1_aB+gvFz{}sDm$vS)x8FLd(b$xBsjZ{i3W9zMknfp$e`0mH6MCJnpY~& zxY3$}qY~c{R$ao*jCsZ#c_{f415S^fDMeK=sP_~j8ht)sU$ms*T%CxGYCzLBxsj;Jpz5)Fnj6O zxZ`Y$Qq$rY6T4+4f|tTiHXAx}bkhVP%Tn14$JB% zH5+I5cGGdxu`Sbv*l44^H<}3Yl8iV0uhh9S%4v<5*lrnrVgvz>;^CnOb5MrpvZ2Oe z${Q0F_uw3fE{7Tc#B9{3+Y5>Byw2|nSd&6_zZgbs^A6e zVboeS%?1S!EGrWViG<6dW3PcUiYI{t!PX)gO}ik)Wh29#grU0P&$f#GW&*NT?^js9(mCs!vtuXfc6Z8( zdX)BLE47)cTs|vCY}TH8Voz5WncRpMim84tg3XiHTEGl1VARN(OS#gJzszo|KzDiw z$C@G>+qw>4`cH5MQk*B-T;!q-qq{lcB#ESwrJ0f5ZU&-%$3`Fm&PcOp*&rf>_=4ya)(VW@ihR!IiC+Sl0 z%Ap=9h~!itL4dhWz+Anx_gV2Bg2BtOjw5}?4%~GD%l{#hXfD<*Di7+us#Ox=%4Aq= zY*ycEYL=CCE4HacUi%*K>}vMPhWm@WsDWc+{dSS^t5PAzr?A>Ey{~j?L&Y?~#uUXVOA)G=sh%P{cMFEb8@17U9i=TbMmq;r z;t?R2b%YTgEH~1(5n)xVG|MWug;_p!q-n8Bu=@dt%x+#gAVfK#mTCS{Xu_Ly_IIZ;5yu-p&b8#cP=8MU6fSA7e;Q1paww3hlsDRhoD78MTMs=rf zm6M3|pDJHN5wcdhya+5y(nuN7f9a*#@&(0Zc%w^}#P&gm%i1GA=i*d_E@Mj@Xd+1E z9dY|dC2$D@J%V`?aMr`bS4*Z4Iu|QqM=HkYN#uJP0=Ri$ZwJ{*Yl zIq&2?yVl(^Y_PM&lhQr$LXeS6Z!7F-Chw`I5(m$%_&b!8195>KV33)P#gPVF9a7Wh ztdn=9V-d3|^+`tyg~g^>4%<2{sazXtPS|2qbQ8{5O~+x|<5cNzywr_sGLU>xH!|g? znk&Xr!Ix4z#PE@ZdzroT=bXL|f3-15j5;;2C?;quPmpAT4rf{6NdS!8zo27D8v;{$ z&7o%(Plgrkbf`Xn)3v%XR)Sn4z_o^dGn~Zp=qU~~lnSj=S zb20u7ihPaq3PC}yCrZ&Yk(?}x1~OD|4n5aK*;2F!^*~IHWqw2hD@?t26+KF_L(o!3 zb(|WT!~+p_8GkYUlS@*ZGfxcks}hPFNM%VJi0Qkc(X%l`fD(uHPVq}PSnpcNR$?=f zTuJNVSeiacjE4?Ha zp`$K|$!Moy*k*eUFp;d@!k9PT{v_#?VrNw*qUOjtj%qRJC5zw%^EIzVdyO`hQMC93 zdGaSj>JU^S;&PHUs@&ymg1t(}gyGi+$x}tA|AcoOR?U9kH^-=1t z{lmsXq!M8NYyN_ z+p5^-cy<%t1}VZt+12|Y!{b2ER-`w48|+S+{fqzRn3IPr$>a(G z0j2jH`R4I?qc=Y$Hr1+>^*uT4&m5R+u-iPXFlAGP7}{ysOeOi;dV$z(z*i2+JFp#o z_YsMrg~ScB$2n7PwV{#6caB+|Bn=mP#`oyu&%#hZ)yfiSKd4$Ww6YS{C~LP8sb!|p z(WHj+vx&T$>NL|v1u@|CC+Z&f#G&+gWC7?zWYBqA%nUMGMPm*VXk+#mBUcDR#UL?4 z)5@IUsR$tL)vRHARAYY+hjQ|rNT?TK0rcE9L504BZzXDo4x3W4ZCERszmSl4Tu3n3bZ^Q0PUqQus2UAHTfzDTSbKM;l*Ao@UxjCNE z-d9<5fhG`NcH5j1P>z=a;ORCK6zCCk{a!YR>Q(4SPobCo<>q)Ln4NGl+q@Qbpq3Ly z+*>`#!4>6z6UqjmB}pNGKmqt8cCi%y#(tAaU~mG?3iRGU6qdrxcitd4%ae-3CX5C> zg?|%&1RD^JG-r8$Hk;roxU8%=*Fmb`-2fJr+b$?6s46Youy+bBH)_tgvEmdPF%F2+ zQwcbA4X5Q;RW}n$^g?$@3a>=oWlXsVAI^UxMwncjPu$gDsDjGM>@fAbH)EQMqYP4b zK|w#-ExH_jrc#@$?P3G}twKt_4ZEtk0HZe;UG3 zT(Hg+IN(TG!5#C3RS91z%t+W(xLB~4__N2IUb9Wr)CdYb50G!;QTT)5N>sLdb%7Cu zL^ud0Hg!!+H0ZE4L(bT;${b;b9HwEGX&^pej7G7|6$4$&(wBv0HOM*kmz8%FO6~%I zbV6Q?I2Z%cGUHek5`?4@or%-oVF~sV@nORX@pZ0vLBAL^bduCQ8bpD1ge-c#*AbGLnG&DgR8xr?4)RPO7K64KZxO7zPPJS;BV-lxgvlU_1$gA}ab9Lc4u+4}E!kT0(~77mYY3y@>(MIpo)8HADM?~ns0m4<0lm&QERiE`9>Kn4r)I*jX7gmt1Ls%#iY=WHR z5wRK7m=2VKh+rNMXcX1V9%q|@(_L*iw1sfe?$BjBjNamBbtK5hbsTRWP}jo>j=qPHLLj z@`42~#o;1?rlDcBR6r%)fhVn7G|Hk`Aw`6}T@kf?d_hrIxJ9J}cuI-mGQ!PQ^h*+CFNI+7 z&vvEqNQkC^z(R|lNh4x|_&Xsl;+T$1DSu(Aj7ZSTzf7ck~hIO!rKNyU5 z%Qz_N&eTzDPfIgfJtYn1NVwEHC(9qmihMbd26a^<)W8 z#t9)7*rjKgoRYK2lor+y%G7_MQ~RJbfwQz`x&?d@v80C49YWA$tts$R_6B45J;q;3 z_s`)TkHQKC*4c=X)P#|I;4vD`vG!-YD4~kw5v+J9N7t)DhUs9)iqs)Sa4uuk2O+xH zZ4XOegnz{&zZ@zOax8BcjcyXfd@l3|!U7qv63a@7s5T)pkp-WTRRABs4v{pXT|wE% zdBVNC8jA-qffDjq%*$rsYXEy3QANQh=~u8{ny^DjP&CXDGv1|Va>RM^x{+=R63-?B z$wH*nbYj9&>IZRPM}-{r6eArqDBo|{^YZ2GU zWIp2BN3Dn)+aS=!BL*Nl8IsZ1iFx{u3n)98k5X8`rD#|dRfWsv;em<32e{VhtSRf7 z4fmW7DO^RvAt`u`mI(&qd(9^iBDAp~27U;Pel=;Z9QKMg6LHXDVMxGYu$+J99Y;w~)|R}J&#ag-ll zi3z~35fT3gXmLcaK2b~+kpmn7G6?L!MXV&~31*?vQ4^5FFp=okZG(h0fqBGq2LY%- zJ-s8@2*#2~P-!SqTDLX|3V1~~0lZKYr5$A8M*Lux#4zD~{1Ju(<^gG}b_T~XX^Ct) zM@MMzUF;PCM+^l0oD_~r&LzKuZq&qtLK-YOW5*y7aN!CXjy6%=nUj`HLT0`#6a2}5 z0x~I-L4`aCP)sWj8)M|=!W>11d-NzrODN^lX`9F)TSAsrJ{xkF9-VE)B;fAq-M}+!4=(q_x)!9Pp%M89c0&)5>jE zRect4C7RMnGzxjz(xE936BmW7)nHLe#zz^^{QZ@br6X~upc?=NTF6w!gy3;@A$Ts(G($=_bG#F~ zBlMt^JQKR0QpPFyQYQjel27zRmeFT4Sl&^Y0ZslEB4O(gWvp95#igR!v6Yfr7In*n z6LODGgX@q6zYvg7C_R*D$&*B@@KNLjXcEGS8VHhT#JF4s(HRO8cl0FS#x>#U1st0~ zmPNDh8Y>AbGBhP6{RNC+#Nc9BA}`Z4hFz$VRn|=jIS!nEWnVZPvs5LwikK96M{zh# z#e1aziz87LpugRI*M_ z3t6G+G*Wm3$Ar6$e8JpEmbiKaex#?hAYA_)heE*VmM-07u`*o@bw{Z5YaN%#H}Rri;$N}34Y>K zq(xvv7K4}brk*S~eT Date: Tue, 2 Jul 2019 11:28:06 +0200 Subject: [PATCH 014/199] Made getFootprint public. --- src/main/java/org/orekit/propagation/events/FieldOfView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/orekit/propagation/events/FieldOfView.java b/src/main/java/org/orekit/propagation/events/FieldOfView.java index 480b5d09e..939270199 100644 --- a/src/main/java/org/orekit/propagation/events/FieldOfView.java +++ b/src/main/java/org/orekit/propagation/events/FieldOfView.java @@ -288,8 +288,8 @@ public class FieldOfView { * @return list footprint boundary loops (there may be several independent * loops if the Field Of View shape is complex) */ - List> getFootprint(final Transform fovToBody, final OneAxisEllipsoid body, - final double angularStep) { + public List> getFootprint(final Transform fovToBody, + final OneAxisEllipsoid body, final double angularStep) { final Frame bodyFrame = body.getBodyFrame(); final Vector3D position = fovToBody.transformPosition(Vector3D.ZERO); -- GitLab From a0bf8d554e2cd444ab1890602fdd2f95c0807b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petrus=20Hyv=C3=B6nen?= Date: Tue, 2 Jul 2019 11:36:05 +0200 Subject: [PATCH 015/199] Update src/changes/changes.xml --- src/changes/changes.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 7758025f8..b8c0ed8c1 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -20,6 +20,9 @@ Orekit Changes + + Make FieldOfView.getFootprint public. + start) { + return line.substring(start, FastMath.min(line.length(), start + length)).trim(); + } else { + return null; + } + } + + /** Extract a double from a line. + * @param line to parse + * @param start start index of the real + * @param length length of the real + * @return parsed real, or {@code Double.NaN} if field was empty + */ + private double parseDouble(final String line, final int start, final int length) { + if (line.length() > start && !parseString(line, start, length).isEmpty()) { + return Double.parseDouble(parseString(line, start, length)); + } else { + return Double.NaN; + } + } + } } diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 index 1b27e32a3..84ea4f5e6 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 index 44c731433..7bcda4d6d 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 index 1a50a7c75..54ba0b22d 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 index 65112144f..15383c862 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 @@ -549,3 +549,5 @@ ITRF_VERSIONS_PREFIX_ONLY = The first column of itrf-versions.conf is a plain pr # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = file {0} is not a supported Hatanaka-compressed file diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 index 6685d1121..9866db109 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 index a869fdb31..b5ccdac0a 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = la première colonne du fichier itrf-versions.conf e # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = impossible de calculer la direction de pointage pour le point singulier: latitude = {0}, longitude = {1} + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = le fichier {0} n''est pas reconnu en tant que fichier compressé par la méthode d''Hatakana diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 index 96a47ada7..061ba5c63 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 index c045d4784..d836ae270 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 @@ -549,3 +549,6 @@ ITRF_VERSIONS_PREFIX_ONLY = la prima colonna di itrf-versions.conf è un prefiss # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = impossibile calcolare la direzione di mira al punto singolare: latitudine = {0}, longitudine = {1} + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 index 180800946..8fb9fbac3 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 index 678e9b8ae..8a9d0971c 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 @@ -548,3 +548,6 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# file {0} is not a supported Hatanaka-compressed file +NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE = diff --git a/src/test/java/org/orekit/errors/OrekitMessagesTest.java b/src/test/java/org/orekit/errors/OrekitMessagesTest.java index fde540d31..05db2942d 100644 --- a/src/test/java/org/orekit/errors/OrekitMessagesTest.java +++ b/src/test/java/org/orekit/errors/OrekitMessagesTest.java @@ -31,7 +31,7 @@ public class OrekitMessagesTest { @Test public void testMessageNumber() { - Assert.assertEquals(183, OrekitMessages.values().length); + Assert.assertEquals(184, OrekitMessages.values().length); } @Test diff --git a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java new file mode 100644 index 000000000..09845ff53 --- /dev/null +++ b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java @@ -0,0 +1,181 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.gnss; + +import java.io.IOException; +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.orekit.Utils; +import org.orekit.data.NamedData; +import org.orekit.data.UnixCompressFilter; +import org.orekit.errors.OrekitException; +import org.orekit.errors.OrekitMessages; +import org.orekit.time.AbsoluteDate; +import org.orekit.time.TimeScalesFactory; + +public class HatanakaCompressFilterTest { + + + @Test + public void testNotFiltered() throws IOException { + + final String name = "rinex/aaaa0000.00o"; + final NamedData raw = new NamedData(name, + () -> Utils.class.getClassLoader().getResourceAsStream(name)); + final NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); + Assert.assertSame(raw, filtered); + } + + @Test + public void testWrongVersion() throws IOException { + doTestWrong("rinex/vers9990.01d", OrekitMessages.UNSUPPORTED_FILE_FORMAT); + } + + @Test + public void testWrongFirstLabel() throws IOException { + doTestWrong("rinex/labl8880.01d", OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE); + } + + @Test + public void testWrongSecondLabel() throws IOException { + doTestWrong("rinex/labl9990.01d", OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE); + } + + private void doTestWrong(final String name, final OrekitMessages expectedError) + throws IOException { + final NamedData raw = new NamedData(name.substring(name.indexOf('/') + 1), + () -> Utils.class.getClassLoader().getResourceAsStream(name)); + try { + new HatanakaCompressFilter().filter(raw).getStreamOpener().openStream(); + Assert.fail("an exception should have been thrown"); + } catch (OrekitException oe) { + Assert.assertEquals(expectedError, oe.getSpecifier()); + } + } + + @Test + public void testHatanakaRinex2() throws IOException { + + final String name = "rinex/arol0090.01d.Z"; + final NamedData raw = new NamedData(name, + () -> Utils.class.getClassLoader().getResourceAsStream(name)); + NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); + RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); + + AbsoluteDate t0 = new AbsoluteDate(2001, 1, 9, TimeScalesFactory.getGPS()); + List ods = loader.getObservationDataSets(); + Assert.assertEquals(921, ods.size()); + + Assert.assertEquals("AROL", ods.get(0).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GPS, ods.get(0).getSatelliteSystem()); + Assert.assertEquals(24, ods.get(0).getPrnNumber()); + Assert.assertEquals(90.0, ods.get(0).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(7, ods.get(0).getObservationData().size()); + Assert.assertEquals(-3351623.823, ods.get(0).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(-2502276.763, ods.get(0).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(21472157.836, ods.get(0).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(21472163.602, ods.get(0).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertTrue(Double.isNaN(ods.get(0).getObservationData().get(4).getValue())); + Assert.assertEquals(18.7504, ods.get(0).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(19.7504, ods.get(0).getObservationData().get(6).getValue(), 1.0e-3); + + Assert.assertEquals("AROL", ods.get(447).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GPS, ods.get(447).getSatelliteSystem()); + Assert.assertEquals(10, ods.get(447).getPrnNumber()); + Assert.assertEquals(2310.0, ods.get(447).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(7, ods.get(447).getObservationData().size()); + Assert.assertEquals(-8892260.422, ods.get(447).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(-6823186.119, ods.get(447).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(22280029.148, ods.get(447).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(22280035.160, ods.get(447).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertTrue(Double.isNaN(ods.get(447).getObservationData().get(4).getValue())); + Assert.assertEquals(14.2504, ods.get(447).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(13.2504, ods.get(447).getObservationData().get(6).getValue(), 1.0e-3); + + Assert.assertEquals("AROL", ods.get(920).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GPS, ods.get(920).getSatelliteSystem()); + Assert.assertEquals(31, ods.get(920).getPrnNumber()); + Assert.assertEquals(71430.0, ods.get(920).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(7, ods.get(920).getObservationData().size()); + Assert.assertEquals(-3993480.91843, ods.get(920).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(-3363000.11542, ods.get(920).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(24246301.1804, ods.get(920).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(24246308.9304, ods.get(920).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertTrue(Double.isNaN(ods.get(920).getObservationData().get(4).getValue())); + Assert.assertEquals(6.2504, ods.get(920).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(2.2504, ods.get(920).getObservationData().get(6).getValue(), 1.0e-3); + + } + + @Test + public void testCompressedRinex3() throws IOException { + + //Tests Rinex 3 with Hatanaka compression + final String name = "rinex/GANP00SVK_R_20151890000_01H_10M_MO.crx.gz"; + final NamedData raw = new NamedData(name, + () -> Utils.class.getClassLoader().getResourceAsStream(name)); + NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); + RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); + + AbsoluteDate t0 = new AbsoluteDate(2015, 7, 8, TimeScalesFactory.getGPS()); + List ods = loader.getObservationDataSets(); + Assert.assertEquals(188, ods.size()); + + Assert.assertEquals("GANP", ods.get(0).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.BEIDOU, ods.get(0).getSatelliteSystem()); + Assert.assertEquals(2, ods.get(0).getPrnNumber()); + Assert.assertEquals(0.0, ods.get(0).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(6, ods.get(0).getObservationData().size()); + Assert.assertEquals(40517356.773, ods.get(0).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(40517351.688, ods.get(0).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(210984654.306, ods.get(0).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(163146718.773, ods.get(0).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertEquals(35.400, ods.get(0).getObservationData().get(4).getValue(), 1.0e-3); + Assert.assertEquals(37.900, ods.get(0).getObservationData().get(5).getValue(), 1.0e-3); + + Assert.assertEquals("GANP", ods.get(96).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.GLONASS, ods.get(96).getSatelliteSystem()); + Assert.assertEquals(20, ods.get(96).getPrnNumber()); + Assert.assertEquals(1200.0, ods.get(96).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(12, ods.get(96).getObservationData().size()); + Assert.assertEquals(21579038.953, ods.get(96).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(21579038.254, ods.get(96).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(21579044.469, ods.get(96).getObservationData().get(2).getValue(), 1.0e-3); + Assert.assertEquals(21579043.914, ods.get(96).getObservationData().get(3).getValue(), 1.0e-3); + Assert.assertEquals(115392840.925, ods.get(96).getObservationData().get(4).getValue(), 1.0e-3); + Assert.assertEquals(115393074.174, ods.get(96).getObservationData().get(5).getValue(), 1.0e-3); + Assert.assertEquals(89750072.711, ods.get(96).getObservationData().get(6).getValue(), 1.0e-3); + Assert.assertEquals(89750023.963, ods.get(96).getObservationData().get(7).getValue(), 1.0e-3); + Assert.assertEquals(43.800, ods.get(96).getObservationData().get(8).getValue(), 1.0e-3); + Assert.assertEquals(42.500, ods.get(96).getObservationData().get(9).getValue(), 1.0e-3); + Assert.assertEquals(44.000, ods.get(96).getObservationData().get(10).getValue(), 1.0e-3); + Assert.assertEquals(44.000, ods.get(96).getObservationData().get(11).getValue(), 1.0e-3); + + Assert.assertEquals("GANP", ods.get(187).getHeader().getMarkerName()); + Assert.assertEquals(SatelliteSystem.SBAS, ods.get(187).getSatelliteSystem()); + Assert.assertEquals(126, ods.get(187).getPrnNumber()); + Assert.assertEquals(3000.0, ods.get(187).getDate().durationFrom(t0), 1.0e-15); + Assert.assertEquals(3, ods.get(187).getObservationData().size()); + Assert.assertEquals(38446689.984, ods.get(187).getObservationData().get(0).getValue(), 1.0e-3); + Assert.assertEquals(202027899.813, ods.get(187).getObservationData().get(1).getValue(), 1.0e-3); + Assert.assertEquals(40.200, ods.get(187).getObservationData().get(2).getValue(), 1.0e-3); + + } + +} diff --git a/src/test/java/org/orekit/gnss/RinexLoaderTest.java b/src/test/java/org/orekit/gnss/RinexLoaderTest.java index 88603a089..020251801 100644 --- a/src/test/java/org/orekit/gnss/RinexLoaderTest.java +++ b/src/test/java/org/orekit/gnss/RinexLoaderTest.java @@ -16,7 +16,6 @@ */ package org.orekit.gnss; -import java.io.IOException; import java.util.List; import org.hipparchus.util.FastMath; @@ -24,8 +23,6 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.orekit.Utils; -import org.orekit.data.NamedData; -import org.orekit.data.UnixCompressFilter; import org.orekit.errors.OrekitException; import org.orekit.errors.OrekitIllegalArgumentException; import org.orekit.errors.OrekitMessages; @@ -44,115 +41,6 @@ public class RinexLoaderTest { Utils.setDataRoot("gnss:rinex"); } - @Test - public void testHatanakaRinex2() throws IOException { - - final String name = "rinex/arol0090.01d.Z"; - final NamedData raw = new NamedData(name, - () -> Utils.class.getClassLoader().getResourceAsStream(name)); - NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); - RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); - - AbsoluteDate t0 = new AbsoluteDate(2001, 1, 9, TimeScalesFactory.getGPS()); - List ods = loader.getObservationDataSets(); - Assert.assertEquals(921, ods.size()); - - Assert.assertEquals("AROL", ods.get(0).getHeader().getMarkerName()); - Assert.assertEquals(SatelliteSystem.GPS, ods.get(0).getSatelliteSystem()); - Assert.assertEquals(24, ods.get(0).getPrnNumber()); - Assert.assertEquals(90.0, ods.get(0).getDate().durationFrom(t0), 1.0e-15); - Assert.assertEquals(7, ods.get(0).getObservationData().size()); - Assert.assertEquals(-3351623.823, ods.get(0).getObservationData().get(0).getValue(), 1.0e-3); - Assert.assertEquals(-2502276.763, ods.get(0).getObservationData().get(1).getValue(), 1.0e-3); - Assert.assertEquals(21472157.836, ods.get(0).getObservationData().get(2).getValue(), 1.0e-3); - Assert.assertEquals(21472163.602, ods.get(0).getObservationData().get(3).getValue(), 1.0e-3); - Assert.assertTrue(Double.isNaN(ods.get(0).getObservationData().get(4).getValue())); - Assert.assertEquals(18.7504, ods.get(0).getObservationData().get(5).getValue(), 1.0e-3); - Assert.assertEquals(19.7504, ods.get(0).getObservationData().get(6).getValue(), 1.0e-3); - - Assert.assertEquals("AROL", ods.get(447).getHeader().getMarkerName()); - Assert.assertEquals(SatelliteSystem.GPS, ods.get(447).getSatelliteSystem()); - Assert.assertEquals(10, ods.get(447).getPrnNumber()); - Assert.assertEquals(2310.0, ods.get(447).getDate().durationFrom(t0), 1.0e-15); - Assert.assertEquals(7, ods.get(447).getObservationData().size()); - Assert.assertEquals(-8892260.422, ods.get(447).getObservationData().get(0).getValue(), 1.0e-3); - Assert.assertEquals(-6823186.119, ods.get(447).getObservationData().get(1).getValue(), 1.0e-3); - Assert.assertEquals(22280029.148, ods.get(447).getObservationData().get(2).getValue(), 1.0e-3); - Assert.assertEquals(22280035.160, ods.get(447).getObservationData().get(3).getValue(), 1.0e-3); - Assert.assertTrue(Double.isNaN(ods.get(447).getObservationData().get(4).getValue())); - Assert.assertEquals(14.2504, ods.get(447).getObservationData().get(5).getValue(), 1.0e-3); - Assert.assertEquals(13.2504, ods.get(447).getObservationData().get(6).getValue(), 1.0e-3); - - Assert.assertEquals("AROL", ods.get(920).getHeader().getMarkerName()); - Assert.assertEquals(SatelliteSystem.GPS, ods.get(920).getSatelliteSystem()); - Assert.assertEquals(31, ods.get(920).getPrnNumber()); - Assert.assertEquals(71430.0, ods.get(920).getDate().durationFrom(t0), 1.0e-15); - Assert.assertEquals(7, ods.get(920).getObservationData().size()); - Assert.assertEquals(-3993480.91843, ods.get(920).getObservationData().get(0).getValue(), 1.0e-3); - Assert.assertEquals(-3363000.11542, ods.get(920).getObservationData().get(1).getValue(), 1.0e-3); - Assert.assertEquals(24246301.1804, ods.get(920).getObservationData().get(2).getValue(), 1.0e-3); - Assert.assertEquals(24246308.9304, ods.get(920).getObservationData().get(3).getValue(), 1.0e-3); - Assert.assertTrue(Double.isNaN(ods.get(920).getObservationData().get(4).getValue())); - Assert.assertEquals(6.2504, ods.get(920).getObservationData().get(5).getValue(), 1.0e-3); - Assert.assertEquals(2.2504, ods.get(920).getObservationData().get(6).getValue(), 1.0e-3); - - } - - @Test - public void testCompressedRinex3() throws IOException { - - //Tests Rinex 3 with Hatanaka compression - final String name = "rinex/GANP00SVK_R_20151890000_01H_10M_MO.crx.gz"; - final NamedData raw = new NamedData(name, - () -> Utils.class.getClassLoader().getResourceAsStream(name)); - NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); - RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); - - AbsoluteDate t0 = new AbsoluteDate(2015, 7, 8, TimeScalesFactory.getGPS()); - List ods = loader.getObservationDataSets(); - Assert.assertEquals(188, ods.size()); - - Assert.assertEquals("GANP", ods.get(0).getHeader().getMarkerName()); - Assert.assertEquals(SatelliteSystem.BEIDOU, ods.get(0).getSatelliteSystem()); - Assert.assertEquals(2, ods.get(0).getPrnNumber()); - Assert.assertEquals(0.0, ods.get(0).getDate().durationFrom(t0), 1.0e-15); - Assert.assertEquals(6, ods.get(0).getObservationData().size()); - Assert.assertEquals(40517356.773, ods.get(0).getObservationData().get(0).getValue(), 1.0e-3); - Assert.assertEquals(40517351.688, ods.get(0).getObservationData().get(1).getValue(), 1.0e-3); - Assert.assertEquals(210984654.306, ods.get(0).getObservationData().get(2).getValue(), 1.0e-3); - Assert.assertEquals(163146718.773, ods.get(0).getObservationData().get(3).getValue(), 1.0e-3); - Assert.assertEquals(35.400, ods.get(0).getObservationData().get(4).getValue(), 1.0e-3); - Assert.assertEquals(37.900, ods.get(0).getObservationData().get(5).getValue(), 1.0e-3); - - Assert.assertEquals("GANP", ods.get(96).getHeader().getMarkerName()); - Assert.assertEquals(SatelliteSystem.GLONASS, ods.get(96).getSatelliteSystem()); - Assert.assertEquals(20, ods.get(96).getPrnNumber()); - Assert.assertEquals(1200.0, ods.get(96).getDate().durationFrom(t0), 1.0e-15); - Assert.assertEquals(12, ods.get(96).getObservationData().size()); - Assert.assertEquals(21579038.953, ods.get(96).getObservationData().get(0).getValue(), 1.0e-3); - Assert.assertEquals(21579038.254, ods.get(96).getObservationData().get(1).getValue(), 1.0e-3); - Assert.assertEquals(21579044.469, ods.get(96).getObservationData().get(2).getValue(), 1.0e-3); - Assert.assertEquals(21579043.914, ods.get(96).getObservationData().get(3).getValue(), 1.0e-3); - Assert.assertEquals(115392840.925, ods.get(96).getObservationData().get(4).getValue(), 1.0e-3); - Assert.assertEquals(115393074.174, ods.get(96).getObservationData().get(5).getValue(), 1.0e-3); - Assert.assertEquals(89750072.711, ods.get(96).getObservationData().get(6).getValue(), 1.0e-3); - Assert.assertEquals(89750023.963, ods.get(96).getObservationData().get(7).getValue(), 1.0e-3); - Assert.assertEquals(43.800, ods.get(96).getObservationData().get(8).getValue(), 1.0e-3); - Assert.assertEquals(42.500, ods.get(96).getObservationData().get(9).getValue(), 1.0e-3); - Assert.assertEquals(44.000, ods.get(96).getObservationData().get(10).getValue(), 1.0e-3); - Assert.assertEquals(44.000, ods.get(96).getObservationData().get(11).getValue(), 1.0e-3); - - Assert.assertEquals("GANP", ods.get(187).getHeader().getMarkerName()); - Assert.assertEquals(SatelliteSystem.SBAS, ods.get(187).getSatelliteSystem()); - Assert.assertEquals(126, ods.get(187).getPrnNumber()); - Assert.assertEquals(3000.0, ods.get(187).getDate().durationFrom(t0), 1.0e-15); - Assert.assertEquals(3, ods.get(187).getObservationData().size()); - Assert.assertEquals(38446689.984, ods.get(187).getObservationData().get(0).getValue(), 1.0e-3); - Assert.assertEquals(202027899.813, ods.get(187).getObservationData().get(1).getValue(), 1.0e-3); - Assert.assertEquals(40.200, ods.get(187).getObservationData().get(2).getValue(), 1.0e-3); - - } - @Test public void testRinex2Header() { diff --git a/src/test/resources/rinex/labl8880.01d b/src/test/resources/rinex/labl8880.01d new file mode 100644 index 000000000..888ef4bc8 --- /dev/null +++ b/src/test/resources/rinex/labl8880.01d @@ -0,0 +1,3 @@ +1.0 COMPACT RINEX FORMAT CRINEX WRONG LABEL +RNX2CRX ver.4.0.3 18-May-12 22:10 CRINEX PROG / DATE +This is an intentionally wrong file for testing purposes COMMENT diff --git a/src/test/resources/rinex/labl9990.01d b/src/test/resources/rinex/labl9990.01d new file mode 100644 index 000000000..15ddecdd2 --- /dev/null +++ b/src/test/resources/rinex/labl9990.01d @@ -0,0 +1,3 @@ +1.0 COMPACT RINEX FORMAT CRINEX VERS / TYPE +RNX2CRX ver.4.0.3 18-May-12 22:10 CRINEX WRONG LABEL +This is an intentionally wrong file for testing purposes COMMENT diff --git a/src/test/resources/rinex/vers9990.01d b/src/test/resources/rinex/vers9990.01d new file mode 100644 index 000000000..bcb222309 --- /dev/null +++ b/src/test/resources/rinex/vers9990.01d @@ -0,0 +1,3 @@ +9.9 COMPACT RINEX FORMAT CRINEX VERS / TYPE +RNX2CRX ver.4.0.3 18-May-12 22:10 CRINEX PROG / DATE +This is an intentionally wrong file for testing purposes COMMENT -- GitLab From c4ae23ecc7f1b22e1cc9c0d1a440ba036dca66af Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 3 Jul 2019 15:41:13 +0200 Subject: [PATCH 017/199] Copy Rinex header unchanged in Hatanaka compress filter. --- .../orekit/gnss/HatanakaCompressFilter.java | 84 +++++++++++++++++-- .../gnss/HatanakaCompressFilterTest.java | 7 +- 2 files changed, 80 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java index bea62936b..3ccc44b27 100644 --- a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java +++ b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java @@ -37,7 +37,7 @@ import org.orekit.errors.OrekitMessages; public class HatanakaCompressFilter implements DataFilter { /** Pattern for rinex 2 observation files. */ - private static final Pattern RINEX_2_PATTERN = Pattern.compile("^(\\w{4}\\d{3}[0a-x](?:\\d{2})?)\\.(\\d{2})[dD]$"); + private static final Pattern RINEX_2_PATTERN = Pattern.compile("^(\\w{4}\\d{3}[0a-x](?:\\d{2})?\\.\\d{2})[dD]$"); /** Pattern for rinex 3 observation files. */ private static final Pattern RINEX_3_PATTERN = Pattern.compile("^(\\w{9}_\\w{1}_\\d{11}_\\d{2}\\w_\\d{2}\\w{1}_\\w{2})\\.crx$"); @@ -52,7 +52,7 @@ public class HatanakaCompressFilter implements DataFilter { final Matcher rinex2Matcher = RINEX_2_PATTERN.matcher(oName); if (rinex2Matcher.matches()) { // this is a rinex 2 file compressed with Hatanaka method - final String fName = rinex2Matcher.group(1) + "." + rinex2Matcher.group(2) + "o"; + final String fName = rinex2Matcher.group(1) + "o"; final NamedData.StreamOpener fOpener = () -> new HatanakaInputStream(oName, oOpener.openStream()); return new NamedData(fName, fOpener); } @@ -73,18 +73,33 @@ public class HatanakaCompressFilter implements DataFilter { /** Filtering of Hatanaka compressed stream. */ private static class HatanakaInputStream extends InputStream { - /** Compact Rinex version key. */ + /** Index of label in data lines. */ + private static final int LABEL_START = 60; + + /** Label for compact Rinex version. */ private static final String CRINEX_VERSION_TYPE = "CRINEX VERS / TYPE"; - /** Compact Rinex program key. */ + /** Label for compact Rinex program. */ private static final String CRINEX_PROG_DATE = "CRINEX PROG / DATE"; + /** Label for end of header. */ + private static final String END_OF_HEADER = "END OF HEADER"; + /** File name. */ private final String name; /** Line-oriented input. */ private final BufferedReader reader; + /** Indicator for header. */ + private boolean inHeader; + + /** Line pending output. */ + private String pending; + + /** Number of characters already output in pending line. */ + private int countOut; + /** Simple constructor. * @param name file name * @param input underlying compressed stream @@ -98,7 +113,7 @@ public class HatanakaCompressFilter implements DataFilter { // check header final String line1 = reader.readLine(); - if (!CRINEX_VERSION_TYPE.equals(parseString(line1, 60, CRINEX_VERSION_TYPE.length()))) { + if (!CRINEX_VERSION_TYPE.equals(parseString(line1, LABEL_START, CRINEX_VERSION_TYPE.length()))) { throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); } final int format100 = (int) FastMath.rint(100 * parseDouble(line1, 0, 9)); @@ -106,19 +121,58 @@ public class HatanakaCompressFilter implements DataFilter { throw new OrekitException(OrekitMessages.UNSUPPORTED_FILE_FORMAT, name); } final String line2 = reader.readLine(); - if (!CRINEX_PROG_DATE.equals(parseString(line2, 60, CRINEX_PROG_DATE.length()))) { + if (!CRINEX_PROG_DATE.equals(parseString(line2, LABEL_START, CRINEX_PROG_DATE.length()))) { throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); } + inHeader = true; + pending = null; + } /** {@inheritDoc} */ @Override public int read() throws IOException { - // TODO - return -1; + + if (pending == null) { + // we need to read another line from the underlying stream and uncompress it + uncompressLine(); + if (pending == null) { + // there are no lines left + return -1; + } + } + + if (countOut == pending.length()) { + // output an end of line + pending = null; + return '\n'; + } else { + // output a character from the uncompressed line + return pending.charAt(countOut++); + } + } + /** Read and uncompress one line. + * @exception IOException if we cannot read a line from underlying stream + */ + private void uncompressLine() throws IOException { + countOut = 0; + final String inLine = reader.readLine(); + if (inLine == null) { + // there are no lines left + pending = null; + } else { + if (inHeader) { + // within header, lines are simply copied out without any processing + pending = inLine; + inHeader = !END_OF_HEADER.equals(parseString(inLine, LABEL_START, END_OF_HEADER.length())); + } else { + // TODO + } + } + } /** {@inheritDoc} */ @Override @@ -140,6 +194,20 @@ public class HatanakaCompressFilter implements DataFilter { } } + /** Extract an integer from a line. + * @param line to parse + * @param start start index of the integer + * @param length length of the integer + * @return parsed integer + */ + private int parseInt(final String line, final int start, final int length) { + if (line.length() > start && !parseString(line, start, length).isEmpty()) { + return Integer.parseInt(parseString(line, start, length)); + } else { + return 0; + } + } + /** Extract a double from a line. * @param line to parse * @param start start index of the real diff --git a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java index 09845ff53..9ede40e83 100644 --- a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java +++ b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java @@ -22,6 +22,7 @@ import java.util.List; import org.junit.Assert; import org.junit.Test; import org.orekit.Utils; +import org.orekit.data.GzipFilter; import org.orekit.data.NamedData; import org.orekit.data.UnixCompressFilter; import org.orekit.errors.OrekitException; @@ -73,7 +74,7 @@ public class HatanakaCompressFilterTest { public void testHatanakaRinex2() throws IOException { final String name = "rinex/arol0090.01d.Z"; - final NamedData raw = new NamedData(name, + final NamedData raw = new NamedData(name.substring(name.indexOf('/') + 1), () -> Utils.class.getClassLoader().getResourceAsStream(name)); NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); @@ -128,9 +129,9 @@ public class HatanakaCompressFilterTest { //Tests Rinex 3 with Hatanaka compression final String name = "rinex/GANP00SVK_R_20151890000_01H_10M_MO.crx.gz"; - final NamedData raw = new NamedData(name, + final NamedData raw = new NamedData(name.substring(name.indexOf('/') + 1), () -> Utils.class.getClassLoader().getResourceAsStream(name)); - NamedData filtered = new HatanakaCompressFilter().filter(new UnixCompressFilter().filter(raw)); + NamedData filtered = new HatanakaCompressFilter().filter(new GzipFilter().filter(raw)); RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); AbsoluteDate t0 = new AbsoluteDate(2015, 7, 8, TimeScalesFactory.getGPS()); -- GitLab From eaa302aeee5069b45107d5d6fa3a8faab4e07ea0 Mon Sep 17 00:00:00 2001 From: Evan Ward Date: Fri, 5 Jul 2019 14:06:34 -0400 Subject: [PATCH 018/199] Prepare for next development cycle --- pom.xml | 2 +- src/changes/changes.xml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8bc0350a1..d68a1ad05 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.orekit orekit jar - 10.0 + 10.1-SNAPSHOT ORbit Extrapolation KIT http://www.orekit.org/ diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 7758025f8..355287b0f 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -20,6 +20,8 @@ Orekit Changes + + . + +## Calling for the vote + +Everything is now ready so the developers and PMC can vote for the release. +Send a mail to the developers list with a subject line of the form: + + [VOTE] Releasing Orekit X.Y from release candidate n + +and content of the form: + + This is a VOTE in order to release version X.Y of the Orekit library. + Version X.Y is a maintenance release. + + + Highlights in the X.Y release are: + - feature 1 description + ... + - feature n description + + The release candidate n can be found on the GitLab repository as + tag X.Y-RCn in the release-X.Y branch: + + + The release notes can be read here: + . + + Maven artifacts are available at + . + + The votes will be tallied in 120 hours for now, on 20yy-mm-ddThh:mm:00Z + (this is UTC time). + +## Failed vote + +If the vote fails, the maven artifacts must be removed from OSS site by +dropping the repository and non-maven artifacts must be removed from the +`staging` directory in the Orekit site. Then a new release candidate must +be created, with a new number, a new tag and new artifacts. Another vote is +needed for this new release candidate. So make the necessary changes and then +start from the “Tag and sign the git repository” step. + +## Successful vote + +When the vote for a release candidate succeeds, follow the steps below to +publish the release. + +## Tag release version + +As the vote passed, a final signed tag must be added to the succeeding release +candidate, verified and pushed: + + git tag X.Y -s -u 0802AB8C87B0B1AEC1C1C5871550FDBD6375C33B -m "Version X.Y." + git tag -v X.Y + git push --tags + +## Merge release branch + +Merge the release branch into the `develop` branch to include any changes made. +Then updated the version numbers to prepare for the next development cycle. + + git checkout develop + git merge --no-ff release-X.Y + +Edit pom.xml version to SNAPSHOT and make space in the changelog for new +changes. Then commit and push. + +## Publish maven artifacts + +The maven artifacts must be published using OSS site to release the repository. +Select the Orekit repository and click the “Release” button in Nexus Repository +Manager. + +## Publish maven site + +The maven generated site should then be moved out of the staging directory. +Beware to create a new `site-orekit-X.Y` directory for the site and link the +latest version to it. This allows older versions to be kept available if +needed. + + mv staging/site-orekit-X.Y ./ + ln -snf site-orekit-X.Y site-orekit-latest + ln -snf site-orekit-X.Y site-orekit-development + +## Upload to gitlab + +Navigate to Self > Settings > Access Tokens. Enter a name, date, and check the +“api” box, then click “Create personal access token”. Copy the token into the +following command: + + for f in $( ls target/orekit-X.Y*.jar{,.asc} ) ; do + curl --request POST --header "PRIVATE-TOKEN: " --form "file=@$f" \ + https://gitlab.orekit.org/api/v4/projects/1/uploads + done + +Copy the URLs that are printed. + +Next, navigate to Projects > Orekit > Repository > Tags. Find the X.Y tag and +click the edit button to enter release notes. Paste the URLs copied from the +step above. + +Navigate to Projects > Orekit > Releases and make sure it looks nice. + +## Update Orekit site + +Several edits need to be made to the Orekit website. Fetch the current code: + + git clone https://gitlab.orekit.org/orekit/website-2015 + +Edit `download/.htaccess` and replace the URLs of of the 3 Orekit artifacts +with the ones created by gitlab in the previous step. + +Edit `download.html` and update the URLs to point to the new Orekit artifacts. + +Edit `_layouts/home.html` and edit the text of the bug button to use the new version. + +Edit `_config.yml` and add the new version to the list of versions. + +Run: + + jekyll serve + +and make sure the website looks nice. View it on http://localhost:4000/ + +If everything looks good publish the changes by running: + + ./bin/build_and_publish.sh + +## Mark resolved issues as closed + +In gitlab select all the issues included in the release and close them. +Navigate to Projects > Orekit > Issues. Search for `label:Resolved`. Make sure +they were all fixed in this release. Click “Edit Issues”, check all the boxes, +set milestone to X.Y and status to closed. + +## Announce release + +The last step is to announce the release by sending a mail to the announce +list. -- GitLab From 36097f7665857c4b1f24cb2a3162a82c0a670691 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 8 Jul 2019 10:19:56 +0200 Subject: [PATCH 020/199] Save compact rinex version. --- .../java/org/orekit/gnss/HatanakaCompressFilter.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java index 3ccc44b27..530c079ed 100644 --- a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java +++ b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java @@ -91,6 +91,9 @@ public class HatanakaCompressFilter implements DataFilter { /** Line-oriented input. */ private final BufferedReader reader; + /** Compact rinex version multiplied by 100. */ + private final int cVersion100; + /** Indicator for header. */ private boolean inHeader; @@ -108,7 +111,7 @@ public class HatanakaCompressFilter implements DataFilter { HatanakaInputStream(final String name, final InputStream input) throws IOException { - this.name = name; + this.name = name; this.reader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)); // check header @@ -116,8 +119,8 @@ public class HatanakaCompressFilter implements DataFilter { if (!CRINEX_VERSION_TYPE.equals(parseString(line1, LABEL_START, CRINEX_VERSION_TYPE.length()))) { throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); } - final int format100 = (int) FastMath.rint(100 * parseDouble(line1, 0, 9)); - if ((format100 != 100) && (format100 != 300)) { + cVersion100 = (int) FastMath.rint(100 * parseDouble(line1, 0, 9)); + if ((cVersion100 != 100) && (cVersion100 != 300)) { throw new OrekitException(OrekitMessages.UNSUPPORTED_FILE_FORMAT, name); } final String line2 = reader.readLine(); -- GitLab From 3db6d36aeb42a54d9a6db64198f3ebd25e4ed781 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 8 Jul 2019 10:22:50 +0200 Subject: [PATCH 021/199] Added a test file exercising some seldom compact rinex features. The test file was made up by uncompressing, editing end recompressing an existing IGS file. The file exercises: - reinitialization of the differential process - use of a non-standard differential order (5 instead of 3) - use of optional receiver clock offset --- .../gnss/HatanakaCompressFilterTest.java | 23 ++++++++++++++++++ .../ZIMM00CHE_R_20190320000_15M_30S_MO.crx.gz | Bin 0 -> 9310 bytes 2 files changed, 23 insertions(+) create mode 100644 src/test/resources/rinex/ZIMM00CHE_R_20190320000_15M_30S_MO.crx.gz diff --git a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java index 9ede40e83..0806cd8b5 100644 --- a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java +++ b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java @@ -179,4 +179,27 @@ public class HatanakaCompressFilterTest { } + @Test + public void testWith5thOrderDifferencesClockOffsetReinitialization() throws IOException { + + // the following file has several specific features with respect to Hatanaka compression + // - we created it using 5th order differences instead of standard 3rd order + // - epoch lines do contain a clock offset (which is a dummy value manually edited from original IGS file) + // - differences are reinitialized every 20 epochs + final String name = "rinex/ZIMM00CHE_R_20190320000_15M_30S_MO.crx.gz"; + final NamedData raw = new NamedData(name.substring(name.indexOf('/') + 1), + () -> Utils.class.getClassLoader().getResourceAsStream(name)); + NamedData filtered = new HatanakaCompressFilter().filter(new GzipFilter().filter(raw)); + RinexLoader loader = new RinexLoader(filtered.getStreamOpener().openStream(), filtered.getName()); + + List ods = loader.getObservationDataSets(); + Assert.assertEquals(30, ods.size()); + for (final ObservationDataSet dataSet : ods) { + Assert.assertEquals(0.123456789012, dataSet.getRcvrClkOffset(), 1.0e-15); + } + ObservationDataSet last = ods.get(ods.size() - 1); + Assert.assertEquals( 24815572.703, last.getObservationData().get(0).getValue(), 1.0e-4); + Assert.assertEquals(130406727.683, last.getObservationData().get(1).getValue(), 1.0e-4); + } + } diff --git a/src/test/resources/rinex/ZIMM00CHE_R_20190320000_15M_30S_MO.crx.gz b/src/test/resources/rinex/ZIMM00CHE_R_20190320000_15M_30S_MO.crx.gz new file mode 100644 index 0000000000000000000000000000000000000000..7563cffeadcb6bdb30382799f0e8a041ff2b2a58 GIT binary patch literal 9310 zcmV-kB%#|MiwFSKN*`SU1Fc-!Zd_M#eebV0Kma0nXnF72_jw2)OEj&CLchr8Ra_U`WM_J6*Y zw|%+!gxlQxbh~~3^FF~pefacg`;9-J-roJ&_1$*+_S5wt*Oc<76g%#nX`^W&&XPk4GVaX#1YwttEP#Q%7rhqcOjF1inQpKSHE-XwqL_VexarP;l` zeK_3@5>`vew#J)MCqLKvXsx~Jx_|9>vy?Z(X1Z{rFOXFT?C1LrlE$w;|LJfN@Hdj1 zZ+P`&V%N8~Z-2MFzy1ih{_(r(?`{t_cq7~PF2CD8;_p5FzOz4WAMy7df8W_x{Qecc zf8E|S{Eol(`0MBO^F7wdwcgrT){EDvGzAl%a{1&$G7*_+x?Fpet0$mTLYX2GnXA-sK|2>LW+HwHPP0lxY-lTD3<0j1; z!^?hS{U)ayOE7C&S8>7Y{VaS-iX(ZWL}V=4uIuHyI8R8mR3v^Hna4f?>} zY9n(wt;LcxsOO$|b(Y+6o~sSM*K#@^V|nG%m^RxO98>LVOq;!P>&EJ{w}M^fifZAQ ztA#&TR}+7(;`f0+nrWUn&7P<6RykM92Pcks@Chkq;e*E1e#})c(TTS>CmiGXm^rmc zKBnchIH$Vod`w-1S0^{3)l`Zf5O*c!sM*Eu+F6OwD%ksyvWpQm!78SaeHJ~$NP{}w zrWj$8wKbd_KVst%OyUU_#Rz-Q=9-XF?FejI#r~$*w2~Gp!63+M)k#b!2}EzC#^+SB zl>IqpYj~j+IYTZ645!wEd##L_R^GAJ9P8mAgB0^L7ay9dK@PZMB|RAfc|DDRyjJbY zE+alBn{;p`NMg#ZXkW1Z+~c4+pr8n9{U7;4VnbaoZW(6Ohw1$Lt2@F4D7gm zkZ|i|j$)ccUysm^Qy_hT3BXN306Ug^#5`+iqb~lMHh%~IZN~wn7=ZE(%R5vk4xnf= z;uarIQNcy5Id72lvPPZTarxB-nUAa1w<8Yga4e8(A_|_+#)LWAj$DAQcYZcQ#@fPh zAMJE~<^6g~F+pC3Sm9OemTa_*n*_lJ+~V#dS4;)V;doxfEw^K9BOA_kYiYlp=jr;i zt(>mc#_JINw75S&8u%)}CfKlTj4`n#F?C+XA!KY&hk0vDcZr|Ab$kvASztH@?l;E5 zB8xtU%f{n^s8t+;E+4RJ7)o4*;9y5OcaGEb>oC>RxPzFU?N>Xn(XT>2j{9ZI5|4zz zN&}z5?m%g+sBBi(e_xUYZ`s4i?*-Y<{SW#HlC=nAbk8fOPx)&ma>R;J(( zKqs)1E&D0)Doo{uJ%@vWU$nwv;0k?ikV?o^8QR^AS7|tMq50z`?N?XNel-JS)&=^= zO@47PZ&wFCi_(CtOx2)18+i+5Z$WP%vPURyOAFLtJvlR}=m9&2^kP-M*=LtQf)HwFdT5)3-PpS({KUH#f2jM$`_UZr92GmR>KUZQEdoqJdTQo zCTy#u3I_q~(S@b+#|Z8(5Vken-C8LmP*89H7Y1AbO`#z`skNFe!2w$`!bhuZ}#72LS1#fMs0*bQN8~l#jAQ z{3O?tK^wJoxL2cwG%`a?l4GFz_#C!<5F_-w4B*B-trABE+)GxmT41^nfBcgT3+A;v zG_Ug`HaUwt;#bj~OI|Rp*a<2-ffLp_*7I~cK7pOWzF>Q?#ZohZ#e^6TVcT?6q&#SD zO#p9%RN@u5pfK)neBz04JGBWoCz?(N9mw>u>MyuAYZni!kqEQ`EkFXGC_EEB5<1IQ z(*@-?sp~oR>Tm@5K!+eOZo7^J@Qy=0irJj0^rCgMGJO+@Rxw%tj+R3y$G@6^j1^4r z@(ESxJ)I9J?vXgc&too}M5gS~CLbk?P#;XeXf3EK0I^N8IpT4=PT3ng9XdM!1q3b* z^yw_F04n4k!*bVF`6Oa7Hev+mKRw46!e9a|SP@tS+*)#kl~S@2RpM}*R4h!=h+RCC zA(5d$l$v1*1rM77Yj9|a^Kdc2OGrw`!5?dS1x9npyEbYYC)WoAaM;w|bK@ipd<)xn zW#DAy1;{?y8za7NzP&BNJKKM z(9JhpD9d^U4dO`v)+E#$Wd;1lX9{K{QNvzIzA4=F1@IYuQic~x^F49_gUAc=jP{f! zb8sr1B1V-E&_ajEzhJ3NpPWPpVp-O^ppTeDl_8T#6L*ePfa@wlC+66&B;NdWXaKK= z4%=2;&oH&jX=(DgHV6QmU5w!3x>FmIhJwsW)syRtlzR*zX%&sq<|IxFOK~9~Cj^Yr z7#u5~$lqYTs7ua`02`8nA@zWmQ~LS~d4dSyUPj}Tvy(r58gi>s*j2w};s%MN1QzBa z18k*X2ku*w<)_}c1m;1k6BN{EG|SNkZj}Q90FM&U#tu6M^8(#it}4{gzEQM~3Q6&P zfKw5um@9_k^r|QetuA+63xx%!v}FP&eUxkrvX^~Vzz7M?7POJ{RSH{O7w}vVbtpLB zgp>}v3z(5mGmwFk#_e@p11Gt4NnvgmY|55j%1v?Nqiy7I`Bsbl_+MW+Bqn0zEAXwY7ZP7V1yu$ z$L`CTMK)UX=?g&8{Mjvldr?lPz~u{+r-vv(%ds;#&>R$rr)WBS!92(u znKIGrP-L!(3^zZ^NR4qbh9e<7D`I+LbV?~bkO<#2BBq9^wy@R#9(d14F@bQ9owwxd923*~ zoCnzn4KF!E@zYK`S-Eok#Y907FiV~t)z3|2gI?6oJ7@)-E(5-X z+YHcyO@!iDQ0(kvSO2h!N`|t|DO|{?4G=l(I<#SzLjUs%AwJivaEtdOT++aXB&i2T;fVab}4g z3$v%BdQ9Lm8Jd*;1o>j1T*)iQP@fQs>LK$of^VP3wbDF!$e?hW5)nr9=N{3|k7)%M zyi-Js=tN6~-Wf0!^vy;G%ZgX`uMlX1E=?evu@kUHU?v@3UZ<NPpv5c z06)@AFGGED(1&31P(>7Z&ViIBr`w3~WTH4Nt;A^E-T7}KfK5>@!jG9eJDPqEK_#xh z2+!_rTlH*-#eiec`&Geme4dtVERlaIu-2^5zq$F`cSU<7Z3N_tE(rJ)r!NdBYNvbC z4orpegcx%;TC@P{HcZh3ko@X~ifr_#1RI#}C5i8jd6TF0`vAFr9=;bQNN;N zVbGljR~ZwY#<-le0=Ja+H%bsdP}|je#A;v{;Ez}kvP-7G=zUiPBRwGjh$+VCr;?|1 zu2~@9?AyqUi^5F;5i4?lCp~akLL4)QccJCvQ8AdKG=>7FMr9Z!!aa~tE{$Rqc9X6T zB&>5cmK$-6FegQfT7#uE_dMkiQ5ssvUt>7JloaW*fs+ms{cR5-OuAZ3Avm?5b*&6c z`Ed9s_&7|B= zQ*-SBP&i{V1~V?oL#O0{Qg-ROQVuegxPkjPd3U1(jhS(sv$aGch*L=?E`+{y@eb-~2kWe86d3X}*j=B0&kT}}%fy9zU- zUO}K(2j2&!e-_G z+a>s;^K%@hV86m#M>&2TD>8AR9??dnjIcsQ^#qX&+~~xL`vELHvrE1($uKsOV#SoZ zxS5CWJk!BviXH?CMjb#YPTD-#gPDo2GDuS+XHC^qXxW2FLtEeh6$hXrb8QirYi@Hc zY{r@4%E})J^E@V%73yHJs;p;VQL=K3GxAuhS>yv}u=#AtNi$F&sdy=OQ$Q$(jyrVp zkeYZRWTYnL8O0L|Xr3|?s@HPQRVgygz}i!_!MqNQsgj%}mn~4TF>IpzOMMQKDmO9@ z1Jr%(Et!X685Dt>W@T%MaZZ7HV?eEDkBO5U^7U-zMHJFpMN6Y*f_V&i37Z%kp_J)F zSB%0krCuUMbRl6?Bm#9eezoT@-`^HY}EL4W%;Ol{Z!8Y)j=S%nmfq(J-bmJ!81%V7+=o zbUigc!*U5XCxdTkd1z2Y4W0LQ*ZHX0kaS9puncsY>m&|P@#=9Wt%sGyp6<@s1Efs% zWD!BRSR*ma)FX;q6q0dzr{iEqsRdjza(-N)8clFqyXV~85_lp(VmG8i!waj9tf8R& z+7#dmZ$GRh!!8UZ&B(4|4hqQ6sQEe8qA(HjEqZcaUe!UfCB{ph&TCdKdM8UL*gLd< zG4bKYfVsh{0rx!D&ohDdSCv|B+4G3ZLU8*$ug2s?SNhKEsq=dvurflwo4PLFYs!y2 z(2CU65bU6sdM0T(U&s$qMg~X~;@zJDJ-a!4Z{X5(5qnZ?p(anXC(#=JC($ zxd+`!zPasY%?ldnY>FEO+g6ztp(Us+qg z#DSL+wa5q`rP3Zx=O&gC%$O;F{KV$d+B3h)SlkT#T_nlFHO*h`elV*Zh9W)A;c`(b zez+TIEcFoua9;}(QWQdUMB$w!&bRG8`f*N`3ab3#S3F^OiVBi>8auK#ilgpUzw$)e?bbgEQF3wz$z!AAfm25;fNl7Y}UG%g=1blB(b~T^i zIcglw1ek`NmcbK@_)SlUu(@=RJR^H4Dw(N8ESI%k%0XHn1Iw~D=4`v?p&)+@NbRhT zQDAwf9@eID0}|Ff1;;shuGI^RDxIZVl>3Tm#*Iw~4m&hvUM(PM%MdF!QMWSI5Q(uy zafy>A%J-) zK|{gQGji~&9ZMbbs81HVsEq)w9{!_S&*#|QAwUk5`|`cb1Rl1Y=;iF^gUo!HK4|o; zW}>o}XS~`*KpKx*z@d)LiPYg>V_pn6vSTTp;)9l-;KXgQDGDyLf5Xnkuq3|hW9G;) zrnK|>jHGps1)l~G;*Am2yHUv7_Q7(3d)v^4_sDS%$wtfkBS3B`bTkOS8QjiG$!YRPR_~yB~JTWn?@Z!|>cb z1_r)(=TkZ#lb1AdW-Y#@<){4Dy4uJWMyYgbd3HDxHgLJJ*AejQg9b?fJC-_r1rPSF zru3q#?Q+M`U>8+ME+c@%Qdp*;`yQuw^kIu+#;0#GIK_#3q!z zk7II!PCN-I6JkZyj4}KQF^#fhsEAxx0+#A= z^M0L4>$sjGm#XVJ8$NTEWI# zjQiV=N){*r^lXkj!^z7kOygy_+3OqYguOvZb$ifzc$8yz7~sFLRfd87>^Yj07+{8? zGQy#>e`UBGGBd-~Ds-=@FBXBP7pY;~uCXkm%{-!oqEX#)tz$1aJrHJ)5VChu5_0UTxoQ9adb2K*b==` zYC2tkNN#oIgIF=CdU>Y%__BI2@@g!9gramMW)7YE32`1?IJz~K#X)|Dn%54aQIy%` zMOPxayr#;siz<~oBr^3Tvo0P@f>B{nyi=I7wKGtOb0SSNSEoSoW68ZDi zhF5*(2qVBK)VfM>l)xYyr(emQMZx3n)Jk5wHYFQDbto-RrCxW@SjsCERb-q$*`p8Y z>TK+?+Dq$M{KFJJ9&;*;PM|tTm!`^w(xr^gYu+{vQCPBSz_5aC%r7aA(-o&Zo7z>} zPmyBPZD~V|BF8-XeBKM_B{={CW?fa@!A|*PPx>AdvR469p3xRbAGCR_&`W=+niMkY z1XQ1kqgSn%?@Ke)uIVtQck0O9?hF%oA05lWSX<|@AeM1u`Hkuopr1TbG~lpU*=B(8 zVR`jEQ&^IFx}SRk!=bzHdWshe#aid|{w)SZyrN#2SxlA(vgyyO35DT3ZDm{to46StN|oDVSC6`5_-q9R80u8D zjfWsq3RYBCAQUYulT>upGajYu6c`wrUa8^PaYdZg>lIuIR4@i6uB{}-oI(W!WVfgS zT}sF4K-B4?8aZ#KNP9Djdcf+q2FSdRR958z-h}Mk%C-6By$mdSJyodXQ8m*x_L^u_ zY0;gJ`VE!So=)RTZ~0XXOlL++w6ctq(^bYplV|DK(=SMg?uv`mseA8M(w-}V7-eIM z#AN_mmL6F2;Ojs~eN#))XugZ%Q#kryy zSZx8)`{_k2)Dfq-4Dl`1gVo5gkuIs|jC`Fvf5+1Hz$pt~N&rA<>feY80*2;HHBByK zg-uyKIzg(MPxu8O`Drkjhe77hLPuD+)S|=L*!OLxQt!%LS51K`=7~ckNWx^{ZH@AZ z^Ms-;uQxRHKq|&di5-E<)Hj8}JNt5IZ2V5$4daWPh8ps7Vb_Zn>dBaR`6LgDSyq+5HCLhG z70fHnt*Xh{^NQ;FqnA-GSJ|_UetOYZhw@A%i`aCehW<#;@S6*yA1xAg({pI9Jp3{T zuO`tW)MDW6%X{rNfVFK>>;MU-g#(a#WZ_lpMY7^)=IJSS@U>=pCsby$hv&jYCo(H9 zOY$Vcwg}v+Nv!!-id2Nfr05>1=J)%sp0KFhZ1^?C6zLwGPUrNM2~0<_0?pf`oCwec zsqa*%Q-nGx@9*PPZhLpqi~X-28DGw{u%W(MHSa2V(FCQ`*pp^^C||muB4N*RsY=;~ zQ;BV{!i9UIAhWWnk!vHExlxu*cu}e6nbaT7uRf9ON^Z=&(VW$3N*W0CNm!bv)zm_f zq7m5o#ddziNm)|or>{c3NbdsgRr!ZQ_40eoTg5SIhf>mA$KE1Ep$_~YlvKH=bfv0! z8MaPSmopGG6KZtK0_nU>7fSIibs~Dj`8t)kh#T~(uII7kr^d9X(PQkKjypC~=dWaS z6evNDxNR4cXx>{!?lU7H>n($-L|zbhZGhiuCTEN1NF#tE$My`1e;W;54QBq`j1HBK ziupvBGksF|T1n-N>iEe1%^0d!f?3$>ayOboHHfiSXvv0#t~1G#n;ehA^qz;jy!Vqm zYB{O{1Y^dk03g$FyGJ04HR_5>qL^XlKZ#P(s*^W4+x%zRGoiQ9c+k|ec7G_SOw52!T1 zFHmBva@Vxin7q7eV}f0NtvNp71`3i|bW5}UTs}h^(OV`A-ZQc;m1U1&DU3qKJN9xD z5xpE=tdPAYZ${sI_V04Cdg=u9QeE>hB5x^Yt#9+>uqqF8-M<)tXs#V`bX9{qzomnT zBTpAk^tcsiRl`01I>bGynhq literal 0 HcmV?d00001 -- GitLab From 88568a6766e6563b0b8afeff49f5b9fcf7d03d2d Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 8 Jul 2019 15:10:28 +0200 Subject: [PATCH 022/199] Set up internal class handling numerical data series differentials. --- .../orekit/gnss/HatanakaCompressFilter.java | 61 +++++++++++++++++++ .../gnss/HatanakaCompressFilterTest.java | 56 +++++++++++++++++ 2 files changed, 117 insertions(+) diff --git a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java index 530c079ed..f35fd4936 100644 --- a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java +++ b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java @@ -227,4 +227,65 @@ public class HatanakaCompressFilter implements DataFilter { } + /** Processor handling differential compression for one data field. */ + private static class Differential { + + /** Length of the uncompressed text field. */ + private final int fieldLength; + + /** Number of decimal places uncompressed text field. */ + private final int decimalPlaces; + + /** State vector. */ + private final long[] state; + + /** Number of components in the state vector. */ + private int nbComponents; + + /** simple constructor. + * @param fieldLength length of the uncompressed text field + * @param decimalPlaces number of decimal places uncompressed text field + * @param order differential order + */ + Differential(final int fieldLength, final int decimalPlaces, final int order) { + this.fieldLength = fieldLength; + this.decimalPlaces = decimalPlaces; + this.state = new long[order + 1]; + this.nbComponents = 0; + } + + /** Handle a new compressed value. + * @param value value to add + * @param buffer buffer where character representation should be appended + * @exception IOException if buffer cannot be appended + */ + public void accept(final long value, final Appendable buffer) + throws IOException { + + // store the value as the last component of state vector + state[nbComponents] = value; + + // update state vector + for (int i = nbComponents; i > 0; --i) { + state[i - 1] += state[i]; + } + + if (++nbComponents == state.length) { + // the state vector is full + --nbComponents; + } + + // output uncompressed value + final String unscaled = Long.toString(state[0]); + for (int padding = fieldLength - (unscaled.length() + 1); padding > 0; --padding) { + buffer.append(' '); + } + buffer.append(unscaled, 0, unscaled.length() - decimalPlaces); + buffer.append('.'); + buffer.append(unscaled, unscaled.length() - decimalPlaces, unscaled.length()); + + } + + } + } diff --git a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java index 0806cd8b5..a2c037208 100644 --- a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java +++ b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java @@ -17,6 +17,9 @@ package org.orekit.gnss; import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.List; import org.junit.Assert; @@ -202,4 +205,57 @@ public class HatanakaCompressFilterTest { Assert.assertEquals(130406727.683, last.getObservationData().get(1).getValue(), 1.0e-4); } + @Test + public void testDifferential3rdOrder() { + doTestDifferential(15, 3, 3, + new long[] { + 40517356773l, -991203l, -38437l, + 3506l, -630l, 2560l + }, + new String[] { + " 40517356.773", " 40516365.570", " 40515335.930", + " 40514271.359", " 40513171.227", " 40512038.094" + }); + } + + @Test + public void testDifferential5thOrder() { + doTestDifferential(12, 5, 5, + new long[] { + 23439008766l, -19297641l, 30704l, 3623l, -8215l, + 14517l, -6644l, -2073l, 4164l, -2513l + }, + new String[] { + "234390.08766", "234197.11125", "234004.44188", "233812.11578", "233620.08703", + "233428.37273", "233236.98656", "233045.91805", "232855.17422", "232664.75445" + }); + } + + private void doTestDifferential(final int fieldLength, final int decimalPlaces, final int order, + final long[] compressed, final String[] uncompressed) { + try { + Class differentialClass = null; + for (final Class c : HatanakaCompressFilter.class.getDeclaredClasses()) { + if (c.getName().endsWith("Differential")) { + differentialClass = c; + } + } + final Constructor cstr = differentialClass.getDeclaredConstructor(Integer.TYPE, Integer.TYPE, Integer.TYPE); + cstr.setAccessible(true); + final Object differential = cstr.newInstance(fieldLength, decimalPlaces, order); + final Method acceptMethod = differentialClass.getDeclaredMethod("accept", Long.TYPE, Appendable.class); + + for (int i = 0; i < compressed.length; ++i) { + final StringBuilder output = new StringBuilder(); + acceptMethod.invoke(differential, compressed[i], output); + Assert.assertEquals(uncompressed[i], output.toString()); + } + + } catch (NoSuchMethodException | SecurityException | InstantiationException | + IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + e.printStackTrace(); + Assert.fail(e.getLocalizedMessage()); + } + } + } -- GitLab From b21e7f5e40c9a1170eb7a84d38bd7be1ad552fe2 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 8 Jul 2019 16:20:28 +0200 Subject: [PATCH 023/199] Set up internal class handling text data series differentials. --- .../orekit/gnss/HatanakaCompressFilter.java | 56 +++++++++++++- .../gnss/HatanakaCompressFilterTest.java | 77 +++++++++++++++++-- 2 files changed, 124 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java index f35fd4936..c7644edb3 100644 --- a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java +++ b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java @@ -19,6 +19,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.nio.CharBuffer; import java.nio.charset.StandardCharsets; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -227,8 +228,8 @@ public class HatanakaCompressFilter implements DataFilter { } - /** Processor handling differential compression for one data field. */ - private static class Differential { + /** Processor handling differential compression for one numerical data field. */ + private static class NumericDifferential { /** Length of the uncompressed text field. */ private final int fieldLength; @@ -242,12 +243,12 @@ public class HatanakaCompressFilter implements DataFilter { /** Number of components in the state vector. */ private int nbComponents; - /** simple constructor. + /** Simple constructor. * @param fieldLength length of the uncompressed text field * @param decimalPlaces number of decimal places uncompressed text field * @param order differential order */ - Differential(final int fieldLength, final int decimalPlaces, final int order) { + NumericDifferential(final int fieldLength, final int decimalPlaces, final int order) { this.fieldLength = fieldLength; this.decimalPlaces = decimalPlaces; this.state = new long[order + 1]; @@ -288,4 +289,51 @@ public class HatanakaCompressFilter implements DataFilter { } + /** Processor handling text compression for one text data field. */ + private static class TextDifferential { + + /** Buffer holding the current state. */ + private CharBuffer state; + + /** Simple constructor. + * @param fieldLength length of the uncompressed text field + */ + TextDifferential(final int fieldLength) { + this.state = CharBuffer.allocate(fieldLength); + for (int i = 0; i < fieldLength; ++i) { + state.put(i, ' '); + } + } + + /** Handle a new compressed value. + * @param complete sequence containing the value to consider + * @param start start index of the value within the sequence + * @param end end index of the value within the sequence + * @param buffer buffer where character representation should be appended + * @exception IOException if buffer cannot be appended + */ + public void accept(final CharSequence complete, final int start, final int end, + final Appendable buffer) + throws IOException { + + // update state + final int length = FastMath.min(state.capacity(), end - start); + for (int i = 0; i < length; ++i) { + final char c = complete.charAt(start + i); + if (c == '&') { + // update state with disappearing character + state.put(i, ' '); + } else if (c != ' ') { + // update state with changed character + state.put(i, c); + } + } + + // output uncompressed value + buffer.append(state); + + } + + } + } diff --git a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java index a2c037208..00913c81e 100644 --- a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java +++ b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java @@ -211,8 +211,7 @@ public class HatanakaCompressFilterTest { new long[] { 40517356773l, -991203l, -38437l, 3506l, -630l, 2560l - }, - new String[] { + }, new String[] { " 40517356.773", " 40516365.570", " 40515335.930", " 40514271.359", " 40513171.227", " 40512038.094" }); @@ -224,8 +223,7 @@ public class HatanakaCompressFilterTest { new long[] { 23439008766l, -19297641l, 30704l, 3623l, -8215l, 14517l, -6644l, -2073l, 4164l, -2513l - }, - new String[] { + }, new String[] { "234390.08766", "234197.11125", "234004.44188", "233812.11578", "233620.08703", "233428.37273", "233236.98656", "233045.91805", "232855.17422", "232664.75445" }); @@ -236,7 +234,7 @@ public class HatanakaCompressFilterTest { try { Class differentialClass = null; for (final Class c : HatanakaCompressFilter.class.getDeclaredClasses()) { - if (c.getName().endsWith("Differential")) { + if (c.getName().endsWith("NumericDifferential")) { differentialClass = c; } } @@ -251,6 +249,75 @@ public class HatanakaCompressFilterTest { Assert.assertEquals(uncompressed[i], output.toString()); } + } catch (NoSuchMethodException | SecurityException | InstantiationException | + IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + Assert.fail(e.getLocalizedMessage()); + } + } + + @Test + public void testTextDates() { + doTestText(35, + new String[] { + "------@> 2015 07 08 00 00 00.0000000 0 34@----------", + "------@ 1@", + "------@ 2 2@----------", + "------@ 3 1@----------", + "------@ 4 0@----------", + "------@ 5 27@----------" + }, new String[] { + "> 2015 07 08 00 00 00.0000000 0 34", + "> 2015 07 08 00 10 00.0000000 0 34", + "> 2015 07 08 00 20 00.0000000 0 32", + "> 2015 07 08 00 30 00.0000000 0 31", + "> 2015 07 08 00 40 00.0000000 0 30", + "> 2015 07 08 00 50 00.0000000 0 27" + }); + } + + @Test + public void testTextSats() { + doTestText(108, + new String[] { + "> 2015 07 08 00 00 00.0000000 0 34@ C02C05C07C10C14E11E12E19E20G01G02G03G06G07G09G10G16G17G23G26G31G32R03R04R05R12R13R14R15R19R20R21S20S26@", + " 1@@", + " 2 2@ 23 6 31 2R03 4 5 13 4 5 9 20 21S S 6&&&&&&@", + " 3 1@ E 1 2 9 20G01 2 3 6 7 9 10 6 23 6 31 2R03 4 5 13 4 5 9 20 1S 0 6&&&@", + " 4 0@ 2 3 6 7 9 10 6 23 6 31 2R03 4 5 13 4 5 9 20 1S 0 6&&&@", + " 5 27@ R03R04 5 13 14 5 20 21S20S 6&&&&&&&&&@" + }, new String[] { + " C02C05C07C10C14E11E12E19E20G01G02G03G06G07G09G10G16G17G23G26G31G32R03R04R05R12R13R14R15R19R20R21S20S26", + " C02C05C07C10C14E11E12E19E20G01G02G03G06G07G09G10G16G17G23G26G31G32R03R04R05R12R13R14R15R19R20R21S20S26", + " C02C05C07C10C14E11E12E19E20G01G02G03G06G07G09G10G16G23G26G31G32R03R04R05R13R14R15R19R20R21S20S26 ", + " C02C05C07C10E11E12E19E20G01G02G03G06G07G09G10G16G23G26G31G32R03R04R05R13R14R15R19R20R21S20S26 ", + " C02C05C07C10E11E12E19E20G02G03G06G07G09G10G16G23G26G31G32R03R04R05R13R14R15R19R20R21S20S26 ", + " C02C05C07C10E11E12E19E20G02G03G06G07G09G10G16G23G26R03R04R05R13R14R15R20R21S20S26 " + }); + } + + private void doTestText(final int fieldLength, final String[] compressed, final String[] uncompressed) { + try { + Class textClass = null; + for (final Class c : HatanakaCompressFilter.class.getDeclaredClasses()) { + if (c.getName().endsWith("TextDifferential")) { + textClass = c; + } + } + final Constructor cstr = textClass.getDeclaredConstructor(Integer.TYPE); + cstr.setAccessible(true); + final Object differentialClass = cstr.newInstance(fieldLength); + final Method acceptMethod = textClass.getDeclaredMethod("accept", CharSequence.class, + Integer.TYPE, Integer.TYPE, + Appendable.class); + + for (int i = 0; i < compressed.length; ++i) { + final StringBuilder output = new StringBuilder(); + acceptMethod.invoke(differentialClass, + compressed[i], compressed[i].indexOf('@') + 1, compressed[i].lastIndexOf('@'), + output); + Assert.assertEquals(uncompressed[i], output.toString()); + } + } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { e.printStackTrace(); -- GitLab From 5deef15b06bd0ff8478945a84c8c17b66c2cd65a Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 8 Jul 2019 22:25:41 +0200 Subject: [PATCH 024/199] Fixed a possible null pointer exception while loading RINEX files. --- src/main/java/org/orekit/gnss/RinexLoader.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/orekit/gnss/RinexLoader.java b/src/main/java/org/orekit/gnss/RinexLoader.java index 7c17bd77f..4a14d3e6c 100644 --- a/src/main/java/org/orekit/gnss/RinexLoader.java +++ b/src/main/java/org/orekit/gnss/RinexLoader.java @@ -988,6 +988,9 @@ public class RinexLoader { for (int i = 0; i < nbSatObs; i++) { line = reader.readLine(); + if (line == null) { + throw new OrekitException(OrekitMessages.UNEXPECTED_END_OF_FILE, name); + } lineNumber++; //We check that the Satellite type is consistent with Satellite System in the top of the file -- GitLab From 7817e773da72d045e9728f303746c2ab851a9e81 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Mon, 8 Jul 2019 22:26:25 +0200 Subject: [PATCH 025/199] Work In Progress in compact Rinex decompression. --- .../orekit/gnss/HatanakaCompressFilter.java | 357 ++++++++++++++++-- .../gnss/HatanakaCompressFilterTest.java | 19 +- src/test/resources/rinex/truncated-crinex.crx | 36 ++ src/test/resources/rinex/with-clock.01d | 78 ++++ 4 files changed, 453 insertions(+), 37 deletions(-) create mode 100644 src/test/resources/rinex/truncated-crinex.crx create mode 100644 src/test/resources/rinex/with-clock.01d diff --git a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java index c7644edb3..599cc604f 100644 --- a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java +++ b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java @@ -21,6 +21,10 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.CharBuffer; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -78,13 +82,13 @@ public class HatanakaCompressFilter implements DataFilter { private static final int LABEL_START = 60; /** Label for compact Rinex version. */ - private static final String CRINEX_VERSION_TYPE = "CRINEX VERS / TYPE"; + private static final String CRINEX_VERSION_TYPE = "CRINEX VERS / TYPE"; /** Label for compact Rinex program. */ - private static final String CRINEX_PROG_DATE = "CRINEX PROG / DATE"; + private static final String CRINEX_PROG_DATE = "CRINEX PROG / DATE"; - /** Label for end of header. */ - private static final String END_OF_HEADER = "END OF HEADER"; + /** Default number of satellites (used if not present in the file). */ + private static final int DEFAULT_NB_SAT = 500; /** File name. */ private final String name; @@ -92,11 +96,32 @@ public class HatanakaCompressFilter implements DataFilter { /** Line-oriented input. */ private final BufferedReader reader; - /** Compact rinex version multiplied by 100. */ - private final int cVersion100; + /** Format of the current file. */ + private final RinexFormat format; + + /** Maximum number of observations for one satellite. */ + private int maxObs; + + /** Number of satellites. */ + private int nbSat; + + /** Line number within epoch. */ + private int lineInEpoch; + + /** Differential engine for epoch. */ + private TextDifferential epochDifferential; + + /** Receiver clock offset differential. */ + private NumericDifferential clockDifferential; + + /** Differential engine for satellites list. */ + private TextDifferential satListDifferential; - /** Indicator for header. */ - private boolean inHeader; + /** Satellites observed at current epoch. */ + private List satellites; + + /** Differential engines for each satellite. */ + private Map> differentials; /** Line pending output. */ private String pending; @@ -120,17 +145,16 @@ public class HatanakaCompressFilter implements DataFilter { if (!CRINEX_VERSION_TYPE.equals(parseString(line1, LABEL_START, CRINEX_VERSION_TYPE.length()))) { throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); } - cVersion100 = (int) FastMath.rint(100 * parseDouble(line1, 0, 9)); - if ((cVersion100 != 100) && (cVersion100 != 300)) { - throw new OrekitException(OrekitMessages.UNSUPPORTED_FILE_FORMAT, name); - } + format = RinexFormat.getFormat(name, line1); final String line2 = reader.readLine(); if (!CRINEX_PROG_DATE.equals(parseString(line2, LABEL_START, CRINEX_PROG_DATE.length()))) { throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); } - inHeader = true; - pending = null; + maxObs = 0; + nbSat = DEFAULT_NB_SAT; + lineInEpoch = -1; + pending = null; } @@ -168,12 +192,25 @@ public class HatanakaCompressFilter implements DataFilter { // there are no lines left pending = null; } else { - if (inHeader) { - // within header, lines are simply copied out without any processing - pending = inLine; - inHeader = !END_OF_HEADER.equals(parseString(inLine, LABEL_START, END_OF_HEADER.length())); + if (lineInEpoch < 0) { + + // pick up a few data on the fly + pending = format.parseHeaderLine(this, inLine); + + } else if (lineInEpoch == 0) { + + // epoch line + final String clockLine = reader.readLine().trim(); + if (clockLine == null) { + throw new OrekitException(OrekitMessages.UNEXPECTED_END_OF_FILE, name); + } + pending = format.parseEpochAndClockLines(this, inLine, clockLine); + } else { + + // observation line // TODO + } } } @@ -190,7 +227,7 @@ public class HatanakaCompressFilter implements DataFilter { * @param length length of the string * @return parsed string */ - private String parseString(final String line, final int start, final int length) { + private static String parseString(final String line, final int start, final int length) { if (line.length() > start) { return line.substring(start, FastMath.min(line.length(), start + length)).trim(); } else { @@ -204,7 +241,7 @@ public class HatanakaCompressFilter implements DataFilter { * @param length length of the integer * @return parsed integer */ - private int parseInt(final String line, final int start, final int length) { + private static int parseInt(final String line, final int start, final int length) { if (line.length() > start && !parseString(line, start, length).isEmpty()) { return Integer.parseInt(parseString(line, start, length)); } else { @@ -212,13 +249,27 @@ public class HatanakaCompressFilter implements DataFilter { } } + /** Extract a long integer from a line. + * @param line to parse + * @param start start index of the integer + * @param length length of the integer + * @return parsed long integer + */ + private static long parseLong(final String line, final int start, final int length) { + if (line.length() > start && !parseString(line, start, length).isEmpty()) { + return Long.parseLong(parseString(line, start, length)); + } else { + return 0l; + } + } + /** Extract a double from a line. * @param line to parse * @param start start index of the real * @param length length of the real * @return parsed real, or {@code Double.NaN} if field was empty */ - private double parseDouble(final String line, final int start, final int length) { + private static double parseDouble(final String line, final int start, final int length) { if (line.length() > start && !parseString(line, start, length).isEmpty()) { return Double.parseDouble(parseString(line, start, length)); } else { @@ -257,11 +308,9 @@ public class HatanakaCompressFilter implements DataFilter { /** Handle a new compressed value. * @param value value to add - * @param buffer buffer where character representation should be appended - * @exception IOException if buffer cannot be appended + * @return string representation of the uncompressed value */ - public void accept(final long value, final Appendable buffer) - throws IOException { + public String accept(final long value) { // store the value as the last component of state vector state[nbComponents] = value; @@ -278,12 +327,15 @@ public class HatanakaCompressFilter implements DataFilter { // output uncompressed value final String unscaled = Long.toString(state[0]); + final StringBuilder builder = new StringBuilder(); for (int padding = fieldLength - (unscaled.length() + 1); padding > 0; --padding) { - buffer.append(' '); + builder.append(' '); } - buffer.append(unscaled, 0, unscaled.length() - decimalPlaces); - buffer.append('.'); - buffer.append(unscaled, unscaled.length() - decimalPlaces, unscaled.length()); + builder.append(unscaled, 0, unscaled.length() - decimalPlaces); + builder.append('.'); + builder.append(unscaled, unscaled.length() - decimalPlaces, unscaled.length()); + + return builder.toString(); } @@ -309,12 +361,9 @@ public class HatanakaCompressFilter implements DataFilter { * @param complete sequence containing the value to consider * @param start start index of the value within the sequence * @param end end index of the value within the sequence - * @param buffer buffer where character representation should be appended - * @exception IOException if buffer cannot be appended + * @return string representation of the uncompressed value */ - public void accept(final CharSequence complete, final int start, final int end, - final Appendable buffer) - throws IOException { + public String accept(final CharSequence complete, final int start, final int end) { // update state final int length = FastMath.min(state.capacity(), end - start); @@ -330,8 +379,246 @@ public class HatanakaCompressFilter implements DataFilter { } // output uncompressed value - buffer.append(state); + return state.toString(); + + } + + } + + /** Enumerate for rinex formats. */ + private enum RinexFormat { + + /** Rinex 2 format. */ + RINEX_2 { + + /** Label for number of observations. */ + private static final String NB_TYPES_OF_OBSERV = "# / TYPES OF OBSERV"; + + /** Start of epoch field. */ + private static final int EPOCH_START = 0; + + /** End of epoch field. */ + private static final int EPOCH_LENGTH = 32; + + /** Start of satellites list field. */ + private static final int SAT_LIST_START = EPOCH_START + EPOCH_LENGTH; + + /** End of satellites list field. */ + private static final int SAT_LIST_LENGTH = 36; + + /** Start of receiver clock field. */ + private static final int CLOCK_START = SAT_LIST_START + SAT_LIST_LENGTH; + /** End of receiver clock field. */ + private static final int CLOCK_LENGTH = 12; + + /** Field for empty clock. */ + private static final String EMPTY_CLOCK = " "; + + /** Empty clock field. */ + /** Number of decimal places for receiver clock offset. */ + private static final int CLOCK_DECIMAL_PLACES = 9; + + @Override + /** {@inheritDoc} */ + public String parseEpochAndClockLines(final HatanakaInputStream his, + final String epochLine, final String clockLine) { + + // check reset + final boolean reset = epochLine.charAt(0) == '&'; + if (reset) { + his.epochDifferential = new TextDifferential(EPOCH_LENGTH); + his.satListDifferential = new TextDifferential(SAT_LIST_LENGTH); + his.differentials = new HashMap<>(); + his.clockDifferential = clockLine.isEmpty() ? + null : + new NumericDifferential(CLOCK_LENGTH, + CLOCK_DECIMAL_PLACES, + HatanakaInputStream.parseInt(clockLine, 0, 1)); + } + + // parse epoch + final String epochPart = his.epochDifferential.accept(epochLine, EPOCH_START, EPOCH_START + EPOCH_LENGTH); + final String satListPart = his.satListDifferential.accept(epochLine, SAT_LIST_START, epochLine.length()); + his.satellites = new ArrayList<>(); + for (int i = 0; i < satListPart.length(); i += 3) { + his.satellites.add(satListPart.subSequence(i, i + 3)); + } + + // parse clock offset + final String clockPart; + if (clockLine.isEmpty()) { + clockPart = EMPTY_CLOCK; + } else { + final int skip = reset ? 2 : 0; + clockPart = his.clockDifferential.accept(HatanakaInputStream.parseLong(clockLine, skip, clockLine.length() - skip)); + } + + his.lineInEpoch = 1; + + // concatenate everything + final StringBuilder builder = new StringBuilder(); + builder.append(epochPart); + builder.append(satListPart); + while (builder.length() < CLOCK_START) { + builder.append(' '); + } + builder.append(clockPart); + return builder.toString(); + + } + + @Override + /** {@inheritDoc} */ + public String parseHeaderLine(final HatanakaInputStream his, final String line) { + if (isHeaderLine(NB_TYPES_OF_OBSERV, line)) { + his.maxObs = FastMath.max(his.maxObs, HatanakaInputStream.parseInt(line, 0, 6)); + return line; + } else { + return super.parseHeaderLine(his, line); + } + } + + }, + + /** Rinex 3 format. */ + RINEX_3 { + + /** Label for number of observation types. */ + private static final String SYS_NB_OBS_TYPES = "SYS / # / OBS TYPES"; + + /** Start of epoch field. */ + private static final int EPOCH_START = 0; + + /** End of epoch field. */ + private static final int EPOCH_LENGTH = 41; + + /** Start of receiver clock field. */ + private static final int CLOCK_START = EPOCH_START + EPOCH_LENGTH; + + /** End of receiver clock field. */ + private static final int CLOCK_LENGTH = 15; + + /** Number of decimal places for receiver clock offset. */ + private static final int CLOCK_DECIMAL_PLACES = 12; + + /** Start of satellites list field (only in the compact rinex). */ + private static final int SAT_LIST_START = CLOCK_START + CLOCK_LENGTH; + + @Override + /** {@inheritDoc} */ + public String parseEpochAndClockLines(final HatanakaInputStream his, + final String epochLine, final String clockLine) { + + // check reset + final boolean reset = epochLine.charAt(0) == '>'; + if (reset) { + his.epochDifferential = new TextDifferential(EPOCH_LENGTH); + his.satListDifferential = new TextDifferential(his.nbSat * 3); + his.differentials = new HashMap<>(); + his.clockDifferential = clockLine.isEmpty() ? + null : + new NumericDifferential(CLOCK_LENGTH, + CLOCK_DECIMAL_PLACES, + HatanakaInputStream.parseInt(clockLine, 0, 1)); + } + + // parse epoch + final String epochPart = his.epochDifferential.accept(epochLine, EPOCH_START, EPOCH_START + EPOCH_LENGTH); + final String satListPart = his.satListDifferential.accept(epochLine, SAT_LIST_START, epochLine.length()); + his.satellites = new ArrayList<>(); + for (int i = 0; i < satListPart.length(); i += 3) { + his.satellites.add(satListPart.subSequence(i, i + 3)); + } + + // parse clock offset + final String clockPart; + if (clockLine.isEmpty()) { + clockPart = null; + } else { + final int skip = reset ? 2 : 0; + clockPart = his.clockDifferential.accept(HatanakaInputStream.parseLong(clockLine, skip, clockLine.length() - skip)); + } + + his.lineInEpoch = 1; + + // concatenate everything + return (clockPart == null) ? epochPart : epochPart + clockPart; + + } + + @Override + /** {@inheritDoc} */ + public String parseHeaderLine(final HatanakaInputStream his, final String line) { + if (isHeaderLine(SYS_NB_OBS_TYPES, line)) { + his.maxObs = FastMath.max(his.maxObs, HatanakaInputStream.parseInt(line, 1, 5)); + return line; + } else { + return super.parseHeaderLine(his, line); + } + } + + }; + + /** Label for number of satellites. */ + private static final String NB_OF_SATELLITES = "# OF SATELLITES"; + + /** Label for end of header. */ + private static final String END_OF_HEADER = "END OF HEADER"; + + /** Length of a data field. */ + private static final int DATA_LENGTH = 19; + + /** Parse a header line. + * @param his Hatanaka input stream + * @param line header line + * @return uncompressed line + */ + public String parseHeaderLine(final HatanakaInputStream his, final String line) { + + if (isHeaderLine(NB_OF_SATELLITES, line)) { + // number of satellites + his.nbSat = HatanakaInputStream.parseInt(line, 0, 6); + } else if (isHeaderLine(END_OF_HEADER, line)) { + // we have reached end of header, prepare parsing of data records + his.lineInEpoch = 0; + } + + // within header, lines are simply copied + return line; + + } + + /** Parse epoch and receiver clock offset lines. + * @param his Hatanaka input stream + * @param epochLine epoch line + * @param clockLine receiver clock offset line + * @return uncompressed line + */ + public abstract String parseEpochAndClockLines(HatanakaInputStream his, String epochLine, String clockLine); + + /** Get the rinex format corresponding to this compact rinex format. + * @param name file name + * @param line1 first compact rinex line + * @return rinex format associated with this compact rinex format + */ + public static RinexFormat getFormat(final String name, final String line1) { + final int cVersion100 = (int) FastMath.rint(100 * HatanakaInputStream.parseDouble(line1, 0, 9)); + if ((cVersion100 != 100) && (cVersion100 != 300)) { + throw new OrekitException(OrekitMessages.UNSUPPORTED_FILE_FORMAT, name); + } + return cVersion100 < 300 ? RINEX_2 : RINEX_3; + } + + /** Check if a line corresponds to a header. + * @param label header label + * @param line header line + * @return true if line corresponds to header + */ + private static boolean isHeaderLine(final String label, final String line) { + return label.equals(HatanakaInputStream.parseString(line, + HatanakaInputStream.LABEL_START, + label.length())); } } diff --git a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java index 00913c81e..374ff6e9b 100644 --- a/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java +++ b/src/test/java/org/orekit/gnss/HatanakaCompressFilterTest.java @@ -16,10 +16,14 @@ */ package org.orekit.gnss; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; import java.util.List; import org.junit.Assert; @@ -61,13 +65,24 @@ public class HatanakaCompressFilterTest { doTestWrong("rinex/labl9990.01d", OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE); } + @Test + public void testTruncatedAtReceiverClockLine() throws IOException { + doTestWrong("rinex/truncated-crinex.crx", OrekitMessages.UNEXPECTED_END_OF_FILE); + } + private void doTestWrong(final String name, final OrekitMessages expectedError) throws IOException { final NamedData raw = new NamedData(name.substring(name.indexOf('/') + 1), () -> Utils.class.getClassLoader().getResourceAsStream(name)); try { - new HatanakaCompressFilter().filter(raw).getStreamOpener().openStream(); - Assert.fail("an exception should have been thrown"); + try (InputStream is = new HatanakaCompressFilter().filter(raw).getStreamOpener().openStream(); + InputStreamReader isr = new InputStreamReader(is, StandardCharsets.UTF_8); + BufferedReader br = new BufferedReader(isr)) { + for (String line = br.readLine(); line != null; line = br.readLine()) { + // nothing to do here + } + Assert.fail("an exception should have been thrown"); + } } catch (OrekitException oe) { Assert.assertEquals(expectedError, oe.getSpecifier()); } diff --git a/src/test/resources/rinex/truncated-crinex.crx b/src/test/resources/rinex/truncated-crinex.crx new file mode 100644 index 000000000..afbedd7fc --- /dev/null +++ b/src/test/resources/rinex/truncated-crinex.crx @@ -0,0 +1,36 @@ +3.0 COMPACT RINEX FORMAT CRINEX VERS / TYPE +RNX2CRX ver.4.0.7 05-Jul-19 13:04 CRINEX PROG / DATE + 3.02 OBSERVATION DATA M (MIXED) RINEX VERSION / TYPE +NetR9 5.37 Receiver Operator 20190201 000000 UTC PGM / RUN BY / DATE +ZIMM MARKER NAME +14001M004 MARKER NUMBER +GEODETIC MARKER TYPE +TRIMBLE NETR9 SWISSTOPO OBSERVER / AGENCY +5429R49141 TRIMBLE NETR9 5.37 REC # / TYPE / VERS +99390 TRM29659.00 NONE ANT # / TYPE + 4331297.3480 567555.6390 4633133.7280 APPROX POSITION XYZ + 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N +G 12 C1C L1C S1C C2W L2W S2W C2X L2X S2X C5X L5X S5X SYS / # / OBS TYPES + 30.000 INTERVAL + 2019 2 1 0 0 0.0000000 GPS TIME OF FIRST OBS +G L2X -0.25000 SYS / PHASE SHIFT +R L1P 0.25000 SYS / PHASE SHIFT +R L2C -0.25000 SYS / PHASE SHIFT +J L2X -0.25000 SYS / PHASE SHIFT +DBHZ SIGNAL STRENGTH UNIT + GLONASS COD/PHS/BIS + END OF HEADER +> 2019 2 1 0 0 0.0000000 0 11 G11G18G07G27G08G21G16G26G10G20G15 +5&123456789012 +5&25424295930 5&37700 &6&&&&&&&&&&&&&&&&&&&&&& +5&23439008766 5&123172824423 5&40900 5&23439013844 5&95978843135 5&26500 &6&6&&&4&4&&&&&&&&&&&&&& +5&24592899109 5&129236551216 5&39300 5&24592904438 5&100703815999 5&21300 5&24592904332 5&100703802013 5&37000 &6&6&&&3&3&&&6&6&&&&&&&& +5&20306355883 5&106710642715 5&55900 5&20306361605 5&83151189570 5&51000 5&20306362191 5&83151158577 5&54200 5&20306358664 5&79686532319 5&43200 &9&9&&&8&8&&&9&9&&&7&7&& +5&21810861820 5&114616890895 5&50000 5&21810867832 5&89311880001 5&42300 5&21810868813 5&89311851994 5&49200 5&21810864934 5&85590540336 5&39900 &8&8&&&7&7&&&8&8&&&6&6&& +5&23933703016 5&125772488011 5&42600 5&23933706125 5&98004553806 5&27000 &7&7&&&4&4&&&&&&&&&&&&&& +5&21465898172 5&112804063085 5&49500 5&21465901477 5&87899287056 5&41400 &8&8&&&6&6&&&&&&&&&&&&&& +5&23116717133 5&121479180647 5&44100 5&23116725129 5&94659142831 5&33000 5&23116725043 5&94659103841 5&44200 5&23116721266 5&90715015306 5&33600 &7&7&&&5&5&&&7&7&&&5&5&& +5&20973457203 5&110216281291 5&52200 5&20973463395 5&85882852590 5&46400 5&20973464020 5&85882817589 5&51900 5&20973459535 5&82304463507 5&41400 &8&8&&&7&7&&&8&8&&&6&6&& +5&21025482344 5&110489670651 5&49400 5&21025485441 5&86095876933 5&41100 &8&8&&&6&6&&&&&&&&&&&&&& +5&24678631141 5&129687099222 5&40100 5&24678634277 5&101054878181 5&20600 5&24678634137 5&101054881164 5&35100 &6&6&&&3&3&&&5&5&&&&&&&& + 3 diff --git a/src/test/resources/rinex/with-clock.01d b/src/test/resources/rinex/with-clock.01d new file mode 100644 index 000000000..6f2c32163 --- /dev/null +++ b/src/test/resources/rinex/with-clock.01d @@ -0,0 +1,78 @@ +1.0 COMPACT RINEX FORMAT CRINEX VERS / TYPE +RNX2CRX ver.4.0.7 08-Jul-19 16:48 CRINEX PROG / DATE + 2.11 OBSERVATION DATA G (GPS) RINEX VERSION / TYPE +teqc 2012May1 UNAVCO Archive Ops 20120518 22:10:26UTCPGM / RUN BY / DATE +Solaris 5.10|UltraSparc IIIi|cc -m64 SS12.1|=+|*Sparc COMMENT +BIT 2 OF LLI FLAGS DATA COLLECTED UNDER A/S CONDITION COMMENT +AROL MARKER NAME + MARKER NUMBER + UNKNOWN OBSERVER / AGENCY +3515A10516 TRIMBLE 4000SSE 7.19 REC # / TYPE / VERS +0220015585 TRM22020.00+GP NONE ANT # / TYPE + 578533.2293 -6247305.1734 1147976.3619 APPROX POSITION XYZ + 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N + 1 1 WAVELENGTH FACT L1/2 + 7 L1 L2 C1 P2 P1 S1 S2 # / TYPES OF OBSERV + 30.0000 INTERVAL + 13 LEAP SECONDS +RINEX file created by UNAVCO GPS Archive. COMMENT +For more information contact archive@unavco.org COMMENT +Monument ID: 10892 COMMENT +UNAVCO 4-char name: AROL COMMENT +4-char name from Log or data file: AROL COMMENT +Monument location: 10.4372 -84.7092 754.2 COMMENT +Visit ID: 51188 COMMENT +End of DB comments COMMENT + SNR is mapped to RINEX snr flag value [1-9] COMMENT + L1: 3 -> 1; 8 -> 5; 40 -> 9 COMMENT + L2: 1 -> 1; 5 -> 5; 60 -> 9 COMMENT + 2001 1 9 0 1 30.0000000 GPS TIME OF FIRST OBS + END OF HEADER +&01 1 9 0 1 30.0000000 0 6G24G09G04G10G07G02 +5&-123456789 +5&-3351623823 5&-2502276763 5&21472157836 5&21472163602 5&18750 5&19750 56564 4 4 4 +5&401276551 5&303652014 5&24081841688 5&24081850340 5&6250 5&4250 53544 4 4 4 +5&396969781 5&419963907 5&21082633320 5&21082637293 5&19250 5&22500 56564 4 4 4 +5&-2516904149 5&-1855396470 5&23493233375 5&23493245648 5&7750 5&4750 54544 4 4 4 +5&15462188586 5&1190402980 5&22462689953 5&22462695133 5&13250 5&10000 56554 4 4 4 +5&-4437193502 5&-3041261496 5&20515884641 5&20515890102 5&19750 5&26000 56574 4 4 4 + 2 & +0 +38092045 29682174 7249094 7248789 750 500 4 4 +18616049 14506039 3543289 3542609 250 -1000 4 43 +90079464 70191829 17141727 17141820 250 0 4 4 +-69786788 -54378949 -13279375 -13280957 750 0 454 +24595849 19165642 4679789 4680398 -250 0 4 4 +62491498 48694646 11892336 11892007 500 -500 4746 + 3 +0 +377674 294289 71093 71808 -1250 -750 +392936 306213 73906 74059 -500 1250 +221090 172266 41421 41352 -750 -750 +65603 51157 10773 12168 -750 750 5 +-25247 -19681 -4539 -4843 -500 0 +569969 444131 107718 108868 -750 0 + 3 & +0 +-4102 -3203 306 -1252 2250 1250 +-3755 -2971 1516 926 1500 -1250 4 +-5690 -4414 744 683 2500 2000 7 +-128 -137 3915 3973 750 -1750 +-1536 -1204 -1015 -1509 750 -500 5 +-3445 -2684 283 -1793 1000 750 + 3 +0 +1910 1529 -1056 1988 -3750 -2000 +3409 2737 -4438 -1775 -3250 1250 4 +3642 2805 -3105 -2913 -5250 -3750 +3397 2675 -7837 -11025 -1000 2500 4 +3490 2755 4724 6264 1250 2250 6 +3871 3019 -511 2666 -1500 -2250 6 + 4 & +0 +887 565 1929 -3606 5500 3000 +-1640 -1480 10189 2683 6750 -1500 5 +-2388 -1800 6443 6013 8750 6000 +-1442 -1150 16375 24782 1250 -2750 4 +-2165 -1766 -12642 -14587 -7500 -6250 +-3029 -2371 1240 -3213 2500 4750 -- GitLab From cdd3dc4d1f8ad1c10b9aee76960bbd9f437d98f7 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Tue, 9 Jul 2019 17:44:34 +0200 Subject: [PATCH 026/199] Completed release guide. --- release-guide.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/release-guide.md b/release-guide.md index 040293b5a..91ef1caef 100644 --- a/release-guide.md +++ b/release-guide.md @@ -16,7 +16,7 @@ and Luc Maisonobe for everything else. If you need help with either ask on the development section of the Orekit forum. -Once you have a SonaType OSS accoutn, the corresponding credentials must be set +Once you have a SonaType OSS account, the corresponding credentials must be set in the `servers` section of the `$HOME/.m2/settings.xml` file, using an id of `ossrh`: @@ -191,12 +191,24 @@ checksums: - orekit-X.Y.jar - orekit-X.Y-sources.jar - orekit-X.Y-javadoc.jar -- orekit-X.Y-src.zip + +The signature and checksum files have similar names with added extensions `.asc`, +`.md5` and `.sha1`. + +Sometimes, the deployment to Sonatype OSS site also adds files with double extension +`.asc.md5` and `.asc.sha1`, which are in fact checksum files on a signature file +and serve no purpose and can be deleted. + +It is also possible that you get `orekit-X.Y-src.zip` (together with signature and +checksums) uploaded to Sonatype OSS site. These files can also be deleted as they +are not intended to be downloaded using maven but will rather be made available +directly on Orekit website. Remove `orekit-X.Y.source-jar*` since they are duplicates of the `orekit-X.Y-sources.jar*` artifacts. (We can’t figure out how to make maven stop producing these duplicate artifacts). Then click the “Close” button. + ## Site The site is generated locally using: @@ -209,13 +221,14 @@ Once generated, the site can be archived and uploaded to the Orekit site: scp -r * user@host:/var/www/www.orekit.org/staging/site-orekit-X.Y -If you need help with this step ask Ask Sébastien Dinot +If you need help with this step ask ask Sébastien Dinot . ## Calling for the vote Everything is now ready so the developers and PMC can vote for the release. -Send a mail to the developers list with a subject line of the form: +Create a post in the Orekit development category of the forum with a subject +line of the form: [VOTE] Releasing Orekit X.Y from release candidate n @@ -243,6 +256,9 @@ and content of the form: The votes will be tallied in 120 hours for now, on 20yy-mm-ddThh:mm:00Z (this is UTC time). +You should also ping PMC members so they are aware of the vote. Their +vote is essential for a release as per project governance. + ## Failed vote If the vote fails, the maven artifacts must be removed from OSS site by @@ -300,7 +316,7 @@ Navigate to Self > Settings > Access Tokens. Enter a name, date, and check the “api” box, then click “Create personal access token”. Copy the token into the following command: - for f in $( ls target/orekit-X.Y*.jar{,.asc} ) ; do + for f in $( ls target/orekit-X.Y*{.zip,.jar}{,.asc} ) ; do curl --request POST --header "PRIVATE-TOKEN: " --form "file=@$f" \ https://gitlab.orekit.org/api/v4/projects/1/uploads done -- GitLab From fd178273b5ea75e6be99e5645e5b64ca18e9996a Mon Sep 17 00:00:00 2001 From: Bryan Cazabonne Date: Wed, 10 Jul 2019 13:52:39 +0200 Subject: [PATCH 027/199] Add Nequick ionospheric model. --- src/changes/changes.xml | 3 + .../org/orekit/errors/OrekitMessages.java | 5 +- .../ionosphere/FieldNeQuickParameters.java | 830 +++++++++ .../models/earth/ionosphere/NeQuickModel.java | 1538 +++++++++++++++++ .../earth/ionosphere/NeQuickParameters.java | 780 +++++++++ .../localization/OrekitMessages_da.utf8 | 9 + .../localization/OrekitMessages_de.utf8 | 9 + .../localization/OrekitMessages_el.utf8 | 9 + .../localization/OrekitMessages_en.utf8 | 8 + .../localization/OrekitMessages_es.utf8 | 9 + .../localization/OrekitMessages_fr.utf8 | 9 + .../localization/OrekitMessages_gl.utf8 | 9 + .../localization/OrekitMessages_it.utf8 | 9 + .../localization/OrekitMessages_no.utf8 | 9 + .../localization/OrekitMessages_ro.utf8 | 9 + .../org/orekit/errors/OrekitMessagesTest.java | 2 +- .../earth/ionosphere/NeQuickModelTest.java | 238 +++ src/test/resources/nequick/ccir11.asc | 715 ++++++++ src/test/resources/nequick/ccir12.asc | 715 ++++++++ src/test/resources/nequick/ccir13.asc | 715 ++++++++ src/test/resources/nequick/ccir14.asc | 715 ++++++++ src/test/resources/nequick/ccir15.asc | 715 ++++++++ src/test/resources/nequick/ccir16.asc | 715 ++++++++ src/test/resources/nequick/ccir17.asc | 715 ++++++++ src/test/resources/nequick/ccir18.asc | 715 ++++++++ src/test/resources/nequick/ccir19.asc | 715 ++++++++ src/test/resources/nequick/ccir20.asc | 715 ++++++++ src/test/resources/nequick/ccir21.asc | 715 ++++++++ src/test/resources/nequick/ccir22.asc | 715 ++++++++ src/test/resources/nequick/modip.txt | 39 + 30 files changed, 12102 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/orekit/models/earth/ionosphere/FieldNeQuickParameters.java create mode 100644 src/main/java/org/orekit/models/earth/ionosphere/NeQuickModel.java create mode 100644 src/main/java/org/orekit/models/earth/ionosphere/NeQuickParameters.java create mode 100644 src/test/java/org/orekit/models/earth/ionosphere/NeQuickModelTest.java create mode 100644 src/test/resources/nequick/ccir11.asc create mode 100644 src/test/resources/nequick/ccir12.asc create mode 100644 src/test/resources/nequick/ccir13.asc create mode 100644 src/test/resources/nequick/ccir14.asc create mode 100644 src/test/resources/nequick/ccir15.asc create mode 100644 src/test/resources/nequick/ccir16.asc create mode 100644 src/test/resources/nequick/ccir17.asc create mode 100644 src/test/resources/nequick/ccir18.asc create mode 100644 src/test/resources/nequick/ccir19.asc create mode 100644 src/test/resources/nequick/ccir20.asc create mode 100644 src/test/resources/nequick/ccir21.asc create mode 100644 src/test/resources/nequick/ccir22.asc create mode 100644 src/test/resources/nequick/modip.txt diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 355287b0f..94b742c67 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -21,6 +21,9 @@ + + Add Nequick ionospheric model. + > { + + /** Radians to degrees converter. */ + private static final double RAD_TO_DEG = 180.0 / FastMath.PI; + + /** Degrees to radians converter. */ + private static final double DEG_TO_RAD = FastMath.PI / 180.0; + + /** Solar zenith angle at day night transition, degrees. */ + private static final double X0 = 86.23292796211615; + + /** Rows number for af2 array. */ + private static final int ROWS_AF2 = 76; + + /** Columns number for af2 array. */ + private static final int COLUMNS_AF2 = 13; + + /** Rows number for am3 array. */ + private static final int ROWS_AM3 = 49; + + /** Columns number for am3 array. */ + private static final int COLUMNS_AM3 = 9; + + /** F2 layer maximum density. */ + private final T nmF2; + + /** F2 layer maximum density height [km]. */ + private final T hmF2; + + /** F1 layer maximum density height [km]. */ + private final T hmF1; + + /** E layer maximum density height [km]. */ + private final T hmE; + + /** F2 layer bottom thickness parameter [km]. */ + private final T b2Bot; + + /** F1 layer top thickness parameter [km]. */ + private final T b1Top; + + /** F1 layer bottom thickness parameter [km]. */ + private final T b1Bot; + + /** E layer top thickness parameter [km]. */ + private final T beTop; + + /** E layer bottom thickness parameter [km]. */ + private final T beBot; + + /** topside thickness parameter [km]. */ + private final T h0; + + /** Layer amplitudes. */ + private final T[] amplitudes; + + /** + * Build a new instance. + * @param field field of the elements + * @param dateTime current date time components + * @param f2 F2 coefficients used by the F2 layer + * @param fm3 Fm3 coefficients used by the F2 layer + * @param latitude latitude of a point along the integration path, in radians + * @param longitude longitude of a point along the integration path, in radians + * @param alpha effective ionisation level coefficients + * @param modipGrip modip grid + */ + FieldNeQuickParameters(final Field field, final DateTimeComponents dateTime, final double[][][] f2, + final double[][][] fm3, final T latitude, final T longitude, + final double[] alpha, final double[][] modipGrip) { + + // Zero + final T zero = field.getZero(); + + // MODIP in radians + final T modip = computeMODIP(latitude, longitude, modipGrip); + // Effective ionisation level Az + final T az = computeAz(modip, alpha); + // Effective sunspot number (Eq. 19) + final T azr = FastMath.sqrt(az.subtract(63.7).multiply(1123.6).add(167273.0)).subtract(408.99); + // Date and Time components + final DateComponents date = dateTime.getDate(); + final TimeComponents time = dateTime.getTime(); + // Hours + final double hours = time.getSecondsInUTCDay() / 3600.0; + // Effective solar zenith angle in radians + final T xeff = computeEffectiveSolarAngle(date.getMonth(), hours, latitude, longitude); + + // Coefficients for F2 layer parameters + // Compute the array of interpolated coefficients for foF2 (Eq. 44) + final T[][] af2 = MathArrays.buildArray(field, ROWS_AF2, COLUMNS_AF2); + for (int j = 0; j < ROWS_AF2; j++) { + for (int k = 0; k < COLUMNS_AF2; k++ ) { + af2[j][k] = azr.multiply(0.01).negate().add(1.0).multiply(f2[0][j][k]).add(azr.multiply(0.01).multiply(f2[1][j][k])); + } + } + + // Compute the array of interpolated coefficients for M(3000)F2 (Eq. 46) + final T[][] am3 = MathArrays.buildArray(field, ROWS_AM3, COLUMNS_AM3); + for (int j = 0; j < ROWS_AM3; j++) { + for (int k = 0; k < COLUMNS_AM3; k++ ) { + am3[j][k] = azr.multiply(0.01).negate().add(1.0).multiply(fm3[0][j][k]).add(azr.multiply(0.01).multiply(fm3[1][j][k])); + } + } + + // E layer maximum density height in km (Eq. 78) + this.hmE = field.getZero().add(120.0); + // E layer critical frequency in MHz + final T foE = computefoE(date.getMonth(), az, xeff, latitude); + // E layer maximum density in 10^11 m-3 (Eq. 36) + final T nmE = foE.multiply(foE).multiply(0.124); + + // Time argument (Eq. 49) + final double t = FastMath.toRadians(15 * hours) - FastMath.PI; + // Compute Fourier time series for foF2 and M(3000)F2 + final T[] cf2 = computeCF2(field, af2, t); + final T[] cm3 = computeCm3(field, am3, t); + // F2 layer critical frequency in MHz + final T foF2 = computefoF2(field, modip, cf2, latitude, longitude); + // Maximum Usable Frequency factor + final T mF2 = computeMF2(field, modip, cm3, latitude, longitude); + // F2 layer maximum density in 10^11 m-3 + this.nmF2 = foF2.multiply(foF2).multiply(0.124); + // F2 layer maximum density height in km + this.hmF2 = computehmF2(field, foE, foF2, mF2); + + // F1 layer critical frequency in MHz + final T foF1 = computefoF1(field, foE, foF2); + // F1 layer maximum density in 10^11 m-3 + final T nmF1; + if (foF1.getReal() <= 0.0 && foE.getReal() > 2.0) { + final T foEpopf = foE.add(0.5); + nmF1 = foEpopf.multiply(foEpopf).multiply(0.124); + } else { + nmF1 = foF1.multiply(foF1).multiply(0.124); + } + // F1 layer maximum density height in km + this.hmF1 = hmF2.add(hmE).multiply(0.5); + + // Thickness parameters (Eq. 85 to 89) + final T a = clipExp(FastMath.log(foF2.multiply(foF2)).multiply(0.857).add(FastMath.log(mF2).multiply(2.02)).add(-3.467)).multiply(0.01); + this.b2Bot = nmF2.divide(a).multiply(0.385); + this.b1Top = hmF2.subtract(hmF1).multiply(0.3); + this.b1Bot = hmF1.subtract(hmE).multiply(0.5); + this.beTop = FastMath.max(b1Bot, zero.add(7.0)); + this.beBot = zero.add(5.0); + + // Layer amplitude coefficients + this.amplitudes = computeLayerAmplitudes(field, nmE, nmF1, foF1); + + // Topside thickness parameter + this.h0 = computeH0(field, date.getMonth(), azr); + } + + /** + * Get the F2 layer maximum density. + * @return nmF2 + */ + public T getNmF2() { + return nmF2; + } + + /** + * Get the F2 layer maximum density height. + * @return hmF2 in km + */ + public T getHmF2() { + return hmF2; + } + + /** + * Get the F1 layer maximum density height. + * @return hmF1 in km + */ + public T getHmF1() { + return hmF1; + } + + /** + * Get the E layer maximum density height. + * @return hmE in km + */ + public T getHmE() { + return hmE; + } + + /** + * Get the F2 layer thickness parameter (bottom). + * @return B2Bot in km + */ + public T getB2Bot() { + return b2Bot; + } + + /** + * Get the F1 layer thickness parameter (top). + * @return B1Top in km + */ + public T getB1Top() { + return b1Top; + } + + /** + * Get the F1 layer thickness parameter (bottom). + * @return B1Bot in km + */ + public T getB1Bot() { + return b1Bot; + } + + /** + * Get the E layer thickness parameter (bottom). + * @return BeBot in km + */ + public T getBEBot() { + return beBot; + } + + /** + * Get the E layer thickness parameter (top). + * @return BeTop in km + */ + public T getBETop() { + return beTop; + } + + /** + * Get the F2, F1 and E layer amplitudes. + *

+ * The resulting element is an array having the following form: + *

    + *
  • double[0] = A1 → F2 layer amplitude + *
  • double[1] = A2 → F1 layer amplitude + *
  • double[2] = A3 → E layer amplitude + *
+ * @return layer amplitudes + */ + public T[] getLayerAmplitudes() { + return amplitudes.clone(); + } + + /** + * Get the topside thickness parameter H0. + * @return H0 in km + */ + public T getH0() { + return h0; + } + + /** + * Computes the value of the modified dip latitude (MODIP) for the + * given latitude and longitude. + * + * @param lat receiver latitude, radians + * @param lon receiver longitude, radians + * @param stModip modip grid + * @return the MODIP in radians + */ + private T computeMODIP(final T lat, final T lon, final double[][] stModip) { + + // Zero + final T zero = lat.getField().getZero(); + + // For the MODIP computation, latitude and longitude have to be converted in radians + final T latitude = lat.multiply(RAD_TO_DEG); + final T longitude = lon.multiply(RAD_TO_DEG); + + // Extreme cases + if (latitude.getReal() == 90.0 || latitude.getReal() == -90.0) { + return latitude; + } + + // Auxiliary parameter l (Eq. 6 to 8) + final int lF = (int) ((longitude.getReal() + 180) * 0.1); + int l = lF - 2; + if (l < 0) { + l += 36; + } else if (l > 33) { + l -= 36; + } + + // Auxiliary parameter a (Eq. 9 to 11) + final T a = latitude.add(90).multiply(0.2).add(1.0); + final T aF = FastMath.floor(a); + // Eq. 10 + final T x = a.subtract(aF); + // Eq. 11 + final int i = (int) aF.getReal() - 2; + + // zi coefficients (Eq. 12 and 13) + final T z1 = interpolate(zero.add(stModip[i + 1][l + 2]), zero.add(stModip[i + 2][l + 2]), + zero.add(stModip[i + 3][l + 2]), zero.add(stModip[i + 4][l + 2]), x); + final T z2 = interpolate(zero.add(stModip[i + 1][l + 3]), zero.add(stModip[i + 2][l + 3]), + zero.add(stModip[i + 3][l + 3]), zero.add(stModip[i + 4][l + 3]), x); + final T z3 = interpolate(zero.add(stModip[i + 1][l + 4]), zero.add(stModip[i + 2][l + 4]), + zero.add(stModip[i + 3][l + 4]), zero.add(stModip[i + 4][l + 4]), x); + final T z4 = interpolate(zero.add(stModip[i + 1][l + 5]), zero.add(stModip[i + 2][l + 5]), + zero.add(stModip[i + 3][l + 5]), zero.add(stModip[i + 4][l + 5]), x); + + // Auxiliary parameter b (Eq. 14 and 15) + final T b = longitude.add(180).multiply(0.1); + final T bF = FastMath.floor(b); + final T y = b.subtract(bF); + + // MODIP (Ref Eq. 16) + final T modip = interpolate(z1, z2, z3, z4, y); + + return modip.multiply(DEG_TO_RAD); + } + + /** + * This method computes the effective ionisation level Az. + *

+ * This parameter is used for the computation of the Total Electron Content (TEC). + *

+ * @param modip modified dip latitude (MODIP) in degrees + * @param alpha effective ionisation level coefficients + * @return the ionisation level Az + */ + private T computeAz(final T modip, final double[] alpha) { + // Field + final Field field = modip.getField(); + // Zero + final T zero = field.getZero(); + // Convert modip to degrees + final T modipDeg = modip.multiply(RAD_TO_DEG); + // Particular condition (Eq. 17) + if (alpha[0] == 0.0 && alpha[1] == 0.0 && alpha[2] == 0.0) { + return zero.add(63.7); + } + // Az = a0 + modip * a1 + modip^2 * a2 (Eq. 18) + T az = modipDeg.multiply(alpha[2]).add(alpha[1]).multiply(modipDeg).add(alpha[0]); + // If Az < 0 -> Az = 0 + az = FastMath.max(zero, az); + // If Az > 400 -> Az = 400 + az = FastMath.min(zero.add(400.0), az); + return az; + } + + /** + * This method computes the effective solar zenith angle. + *

+ * The effective solar zenith angle is compute as a function of the + * solar zenith angle and the solar zenith angle at day night transition. + *

+ * @param month current month of the year + * @param hours universal time (hours) + * @param latitude in radians + * @param longitude in radians + * @return the effective solar zenith angle, radians + */ + private T computeEffectiveSolarAngle(final int month, + final double hours, + final T latitude, + final T longitude) { + // Zero + final T zero = latitude.getField().getZero(); + // Local time (Eq.4) + final T lt = longitude.divide(FastMath.toRadians(15.0)).add(hours); + // Day of year at the middle of the month (Eq. 20) + final double dy = 30.5 * month - 15.0; + // Time (Eq. 21) + final double t = dy + (18 - hours) / 24; + // Arguments am and al (Eq. 22 and 23) + final double am = FastMath.toRadians(0.9856 * t - 3.289); + final double al = am + FastMath.toRadians(1.916 * FastMath.sin(am) + 0.020 * FastMath.sin(2.0 * am) + 282.634); + // Sine and cosine of solar declination (Eq. 24 and 25) + final double sDec = 0.39782 * FastMath.sin(al); + final double cDec = FastMath.sqrt(1. - sDec * sDec); + // Solar zenith angle, deg (Eq. 26 and 27) + final FieldSinCos scLat = FastMath.sinCos(latitude); + final T coef = lt.negate().add(12.0).multiply(FastMath.PI / 12); + final T cZenith = scLat.sin().multiply(sDec).add(scLat.cos().multiply(cDec).multiply(FastMath.cos(coef))); + final T angle = FastMath.atan2(FastMath.sqrt(cZenith.multiply(cZenith).negate().add(1.0)), cZenith); + final T x = angle.multiply(RAD_TO_DEG); + // Effective solar zenith angle (Eq. 28) + final T xeff = join(clipExp(x.multiply(0.2).negate().add(20.0)).multiply(0.24).negate().add(90.0), x, zero.add(12.0), x.subtract(X0)); + return xeff.multiply(DEG_TO_RAD); + } + + /** + * This method computes the E layer critical frequency at a given location. + * @param month current month + * @param az ffective ionisation level + * @param xeff effective solar zenith angle in radians + * @param latitude latitude in radians + * @return the E layer critical frequency at a given location in MHz + */ + private T computefoE(final int month, final T az, + final T xeff, final T latitude) { + // The latitude has to be converted in degrees + final T lat = latitude.multiply(RAD_TO_DEG); + // Square root of the effective ionisation level + final T sqAz = FastMath.sqrt(az); + // seas parameter (Eq. 30 to 32) + final int seas; + if (month == 1 || month == 2 || month == 11 || month == 12) { + seas = -1; + } else if (month == 3 || month == 4 || month == 9 || month == 10) { + seas = 0; + } else { + seas = 1; + } + // Latitudinal dependence (Eq. 33 and 34) + final T ee = clipExp(lat.multiply(0.3)); + final T seasp = ee.subtract(1.0).divide(ee.add(1.0)).multiply(seas); + // Critical frequency (Eq. 35) + final T coef = seasp.multiply(0.019).negate().add(1.112); + final T foE = FastMath.sqrt(coef .multiply(coef).multiply(sqAz).multiply(FastMath.cos(xeff).pow(0.6)).add(0.49)); + return foE; + } + + /** + * Computes the F2 layer height of maximum electron density. + * @param field field of the elements + * @param foE E layer layer critical frequency in MHz + * @param foF2 F2 layer layer critical frequency in MHz + * @param mF2 maximum usable frequency factor + * @return hmF2 in km + */ + private T computehmF2(final Field field, final T foE, final T foF2, final T mF2) { + // Zero + final T zero = field.getZero(); + // Ratio + final T fo = foF2.divide(foE); + final T ratio = join(fo, zero.add(1.75), zero.add(20.0), fo.subtract(1.75)); + + // deltaM parameter + T deltaM = zero.subtract(0.012); + if (foE.getReal() >= 1e-30) { + deltaM = deltaM.add(ratio.subtract(1.215).divide(0.253).reciprocal()); + } + + // hmF2 Eq. 80 + final T mF2Sq = mF2.multiply(mF2); + final T temp = FastMath.sqrt(mF2Sq.multiply(0.0196).add(1.0).divide(mF2Sq.multiply(1.2967).subtract(1.0))); + final T height = mF2.multiply(1490.0).multiply(temp).divide(mF2.add(deltaM)).subtract(176.0); + return height; + } + + /** + * Computes cf2 coefficients. + * @param field field of the elements + * @param af2 interpolated coefficients for foF2 + * @param t time argument + * @return the cf2 coefficients array + */ + private T[] computeCF2(final Field field, final T[][] af2, final double t) { + // Eq. 50 + final T[] cf2 = MathArrays.buildArray(field, ROWS_AF2); + for (int i = 0; i < cf2.length; i++) { + T sum = field.getZero(); + for (int k = 0; k < 6; k++) { + sum = sum.add(af2[i][2 * k + 1].multiply(FastMath.sin((k + 1) * t)).add(af2[i][2 * (k + 1)].multiply(FastMath.cos((k + 1) * t)))); + } + cf2[i] = af2[i][0].add(sum); + } + return cf2; + } + + /** + * Computes Cm3 coefficients. + * @param field field of the elements + * @param am3 interpolated coefficients for foF2 + * @param t time argument + * @return the Cm3 coefficients array + */ + private T[] computeCm3(final Field field, final T[][] am3, final double t) { + // Eq. 51 + final T[] cm3 = MathArrays.buildArray(field, ROWS_AM3); + for (int i = 0; i < cm3.length; i++) { + T sum = field.getZero(); + for (int k = 0; k < 4; k++) { + sum = sum.add(am3[i][2 * k + 1].multiply(FastMath.sin((k + 1) * t)).add(am3[i][2 * (k + 1)].multiply(FastMath.cos((k + 1) * t)))); + } + cm3[i] = am3[i][0].add(sum); + } + return cm3; + } + + /** + * This method computes the F2 layer critical frequency. + * @param field field of the elements + * @param modip modified DIP latitude, in radians + * @param cf2 Fourier time series for foF2 + * @param latitude latitude in radians + * @param longitude longitude in radians + * @return the F2 layer critical frequency, MHz + */ + private T computefoF2(final Field field, final T modip, final T[] cf2, + final T latitude, final T longitude) { + + // One + final T one = field.getOne(); + + // Legendre grades (Eq. 63) + final int[] q = new int[] { + 12, 12, 9, 5, 2, 1, 1, 1, 1 + }; + + // Array for geographic terms + final T[] g = MathArrays.buildArray(field, cf2.length); + g[0] = one; + + // MODIP coefficients Eq. 57 + final T sinMODIP = FastMath.sin(modip); + final T[] m = MathArrays.buildArray(field, 12); + m[0] = one; + for (int i = 1; i < q[0]; i++) { + m[i] = sinMODIP.multiply(m[i - 1]); + g[i] = m[i]; + } + + // Latitude coefficients (Eq. 58) + final T cosLat = FastMath.cos(latitude); + final T[] p = MathArrays.buildArray(field, 8); + p[0] = cosLat; + for (int n = 2; n < 9; n++) { + p[n - 1] = cosLat.multiply(p[n - 2]); + } + + // latitude and longitude terms + int index = 12; + for (int i = 1; i < q.length; i++) { + for (int j = 0; j < q[i]; j++) { + g[index++] = m[j].multiply(p[i - 1]).multiply(FastMath.cos(longitude.multiply(i))); + g[index++] = m[j].multiply(p[i - 1]).multiply(FastMath.sin(longitude.multiply(i))); + } + } + + // Compute foF2 by linear combination + final T frequency = one.linearCombination(g, cf2); + return frequency; + } + + /** + * This method computes the Maximum Usable Frequency factor. + * @param field field of the elements + * @param modip modified DIP latitude, in radians + * @param cm3 Fourier time series for M(3000)F2 + * @param latitude latitude in radians + * @param longitude longitude in radians + * @return the Maximum Usable Frequency factor + */ + private T computeMF2(final Field field, final T modip, final T[] cm3, + final T latitude, final T longitude) { + + // One + final T one = field.getOne(); + // Legendre grades (Eq. 71) + final int[] r = new int[] { + 7, 8, 6, 3, 2, 1, 1 + }; + + // Array for geographic terms + final T[] g = MathArrays.buildArray(field, cm3.length); + g[0] = one; + + // MODIP coefficients Eq. 57 + final T sinMODIP = FastMath.sin(modip); + final T[] m = MathArrays.buildArray(field, 12); + m[0] = one; + for (int i = 1; i < 12; i++) { + m[i] = sinMODIP.multiply(m[i - 1]); + if (i < 7) { + g[i] = m[i]; + } + } + + // Latitude coefficients (Eq. 58) + final T cosLat = FastMath.cos(latitude); + final T[] p = MathArrays.buildArray(field, 8); + p[0] = cosLat; + for (int n = 2; n < 9; n++) { + p[n - 1] = cosLat.multiply(p[n - 2]); + } + + // latitude and longitude terms + int index = 7; + for (int i = 1; i < r.length; i++) { + for (int j = 0; j < r[i]; j++) { + g[index++] = m[j].multiply(p[i - 1]).multiply(FastMath.cos(longitude.multiply(i))); + g[index++] = m[j].multiply(p[i - 1]).multiply(FastMath.sin(longitude.multiply(i))); + } + } + + // Compute m3000 by linear combination + final T m3000 = one.linearCombination(g, cm3); + return m3000; + } + + /** + * This method computes the F1 layer critical frequency. + *

+ * This computation performs the algorithm exposed in Annex F + * of the reference document. + *

+ * @param field field of the elements + * @param foE the E layer critical frequency, MHz + * @return the F1 layer critical frequency, MHz + * @param foF2 the F2 layer critical frequency, MHz + */ + private T computefoF1(final Field field, final T foE, final T foF2) { + final T zero = field.getZero(); + final T temp = join(foE.multiply(1.4), zero, zero.add(1000.0), foE.subtract(2.0)); + final T temp2 = join(zero, temp, zero.add(1000.0), foE.subtract(temp)); + final T value = join(temp2, temp2.multiply(0.85), zero.add(60.0), foF2.multiply(0.85).subtract(temp2)); + if (value.getReal() < 1.0E-6) { + return zero; + } else { + return value; + } + } + + /** + * This method allows the computation of the F2, F1 and E layer amplitudes. + *

+ * The resulting element is an array having the following form: + *

    + *
  • double[0] = A1 → F2 layer amplitude + *
  • double[1] = A2 → F1 layer amplitude + *
  • double[2] = A3 → E layer amplitude + *
+ *

+ * @param field field of the elements + * @param nmE E layer maximum density in 10^11 m-3 + * @param nmF1 F1 layer maximum density in 10^11 m-3 + * @param foF1 F1 layer critical frequency in MHz + * @return a three components array containing the layer amplitudes + */ + private T[] computeLayerAmplitudes(final Field field, final T nmE, final T nmF1, final T foF1) { + // Zero + final T zero = field.getZero(); + + // Initialize array + final T[] amplitude = MathArrays.buildArray(field, 3); + + // F2 layer amplitude (Eq. 90) + final T a1 = nmF2.multiply(4.0); + amplitude[0] = a1; + + // F1 and E layer amplitudes (Eq. 91 to 98) + if (foF1.getReal() < 0.5) { + amplitude[1] = zero; + amplitude[2] = nmE.subtract(epst(a1, hmF2, b2Bot, hmE)).multiply(4.0); + } else { + T a2a = zero; + T a3a = nmE.multiply(4.0); + for (int i = 0; i < 5; i++) { + a2a = nmF1.subtract(epst(a1, hmF2, b2Bot, hmF1)).subtract(epst(a3a, hmE, beTop, hmF1)).multiply(4.0); + a2a = join(a2a, nmF1.multiply(0.8), field.getOne(), a2a.subtract(nmF1.multiply(0.8))); + a3a = nmE.subtract(epst(a2a, hmF1, b1Bot, hmE)).subtract(epst(a1, hmF2, b2Bot, hmE)).multiply(4.0); + } + amplitude[1] = a2a; + amplitude[2] = join(a3a, zero.add(0.05), zero.add(60.0), a3a.subtract(0.005)); + } + + return amplitude; + } + + /** + * This method computes the topside thickness parameter H0. + * + * @param field field of the elements + * @param month current month + * @param azr effective sunspot number + * @return H0 in km + */ + private T computeH0(final Field field, final int month, final T azr) { + + // One + final T one = field.getOne(); + + // Auxiliary parameter ka (Eq. 99 and 100) + final T ka; + if (month > 3 && month < 10) { + // month = 4,5,6,7,8,9 + ka = azr.multiply(0.014).add(hmF2.multiply(0.008)).negate().add(6.705); + } else { + // month = 1,2,3,10,11,12 + final T ratio = hmF2.divide(b2Bot); + ka = ratio.multiply(ratio).multiply(0.097).add(nmF2.multiply(0.153)).add(-7.77); + } + + // Auxiliary parameter kb (Eq. 101 and 102) + T kb = join(ka, one.multiply(2.0), one, ka.subtract(2.0)); + kb = join(one.multiply(8.0), kb, one, kb.subtract(8.0)); + + // Auxiliary parameter Ha (Eq. 103) + final T hA = kb.multiply(b2Bot); + + // Auxiliary parameters x and v (Eq. 104 and 105) + final T x = hA.subtract(150.0).multiply(0.01); + final T v = x.multiply(0.041163).subtract(0.183981).multiply(x).add(1.424472); + + // Topside thickness parameter (Eq. 106) + final T h = hA.divide(v); + return h; + } + + /** + * A clipped exponential function. + *

+ * This function, describe in section F.2.12.2 of the reference document, is + * recommanded for the computation of exponential values. + *

+ * @param power power for exponential function + * @return clipped exponential value + */ + private T clipExp(final T power) { + final T zero = power.getField().getZero(); + if (power.getReal() > 80.0) { + return zero.add(5.5406E34); + } else if (power.getReal() < -80) { + return zero.add(1.8049E-35); + } else { + return FastMath.exp(power); + } + } + + /** + * This method provides a third order interpolation function + * as recommended in the reference document (Ref Eq. 128 to Eq. 138) + * + * @param z1 z1 coefficient + * @param z2 z2 coefficient + * @param z3 z3 coefficient + * @param z4 z4 coefficient + * @param x position + * @return a third order interpolation + */ + private T interpolate(final T z1, final T z2, + final T z3, final T z4, + final T x) { + + if (FastMath.abs(2.0 * x.getReal()) < 1e-10) { + return z2; + } + + final T delta = x.multiply(2.0).subtract(1.0); + final T g1 = z3.add(z2); + final T g2 = z3.subtract(z2); + final T g3 = z4.add(z1); + final T g4 = z4.subtract(z1).divide(3.0); + final T a0 = g1.multiply(9.0).subtract(g3); + final T a1 = g2.multiply(9.0).subtract(g4); + final T a2 = g3.subtract(g1); + final T a3 = g4.subtract(g2); + final T zx = delta.multiply(a3).add(a2).multiply(delta).add(a1).multiply(delta).add(a0).multiply(0.0625); + + return zx; + } + + /** + * Allows smooth joining of functions f1 and f2 + * (i.e. continuous first derivatives) at origin. + *

+ * This function, describe in section F.2.12.1 of the reference document, is + * recommanded for computational efficiency. + *

+ * @param dF1 first function + * @param dF2 second function + * @param dA width of transition region + * @param dX x value + * @return the computed value + */ + private T join(final T dF1, final T dF2, + final T dA, final T dX) { + final T ee = clipExp(dA.multiply(dX)); + return dF1.multiply(ee).add(dF2).divide(ee.add(1.0)); + } + + /** + * The Epstein function. + *

+ * This function, describe in section 2.5.1 of the reference document, is used + * as a basis analytical function in NeQuick for the construction of the ionospheric layers. + *

+ * @param x x parameter + * @param y y parameter + * @param z z parameter + * @param w w parameter + * @return value of the epstein function + */ + private T epst(final T x, final T y, + final T z, final T w) { + final T ex = clipExp(w.subtract(y).divide(z)); + final T opex = ex.add(1.0); + final T epst = x.multiply(ex).divide(opex.multiply(opex)); + return epst; + } + +} diff --git a/src/main/java/org/orekit/models/earth/ionosphere/NeQuickModel.java b/src/main/java/org/orekit/models/earth/ionosphere/NeQuickModel.java new file mode 100644 index 000000000..3156d9164 --- /dev/null +++ b/src/main/java/org/orekit/models/earth/ionosphere/NeQuickModel.java @@ -0,0 +1,1538 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.models.earth.ionosphere; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.text.ParseException; +import java.util.Collections; +import java.util.List; + +import org.hipparchus.Field; +import org.hipparchus.RealFieldElement; +import org.hipparchus.util.FastMath; +import org.hipparchus.util.FieldSinCos; +import org.hipparchus.util.MathArrays; +import org.hipparchus.util.SinCos; +import org.orekit.bodies.BodyShape; +import org.orekit.bodies.FieldGeodeticPoint; +import org.orekit.bodies.GeodeticPoint; +import org.orekit.data.DataLoader; +import org.orekit.data.DataProvidersManager; +import org.orekit.errors.OrekitException; +import org.orekit.errors.OrekitMessages; +import org.orekit.frames.TopocentricFrame; +import org.orekit.models.earth.ionosphere.IonosphericModel; +import org.orekit.propagation.FieldSpacecraftState; +import org.orekit.propagation.SpacecraftState; +import org.orekit.time.AbsoluteDate; +import org.orekit.time.DateComponents; +import org.orekit.time.DateTimeComponents; +import org.orekit.time.FieldAbsoluteDate; +import org.orekit.time.TimeScalesFactory; +import org.orekit.utils.ParameterDriver; +import org.orekit.utils.TimeStampedFieldPVCoordinates; +import org.orekit.utils.TimeStampedPVCoordinates; + +/** + * NeQuick ionospheric delay model. + * + * @author Bryan Cazabonne + * + * @see "European Union (2016). European GNSS (Galileo) Open Service-Ionospheric Correction + * Algorithm for Galileo Single Frequency Users. 1.2." + * + * @since 10.1 + */ +public class NeQuickModel implements IonosphericModel { + + /** Serializable UID. */ + private static final long serialVersionUID = 201928051L; + + /** Splitter for MODIP and CCIR files. */ + private static final String SPLITER = "\\s+"; + + /** Mean Earth radius in m (Ref Table 2.5.2). */ + private static final double RE = 6371200.0; + + /** Meters to kilometers converter. */ + private static final double M_TO_KM = 0.001; + + /** Factor for the electron density computation. */ + private static final double DENSITY_FACTOR = 1.0e11; + + /** Factor for the path delay computation. */ + private static final double DELAY_FACTOR = 40.3e16; + + /** The three ionospheric coefficients broadcast in the Galileo navigation message. */ + private final double[] alpha; + + /** MODIP grid. */ + private final double[][] stModip; + + /** Month used for loading CCIR coefficients. */ + private int month; + + /** F2 coefficients used by the F2 layer. */ + private double[][][] f2; + + /** Fm3 coefficients used by the F2 layer. */ + private double[][][] fm3; + + /** + * Build a new instance. + * @param alpha effective ionisation level coefficients + */ + public NeQuickModel(final double[] alpha) { + // F2 layer values + this.month = 0; + this.f2 = null; + this.fm3 = null; + // Read modip grid + final MODIPLoader parser = new MODIPLoader(); + parser.loadMODIPGrid(); + this.stModip = parser.getMODIPGrid(); + // Ionisation level coefficients + this.alpha = alpha.clone(); + } + + @Override + public double pathDelay(final SpacecraftState state, final TopocentricFrame baseFrame, + final double frequency, final double[] parameters) { + // Point + final GeodeticPoint recPoint = baseFrame.getPoint(); + // Date + final AbsoluteDate date = state.getDate(); + + // Reference body shape + final BodyShape ellipsoid = baseFrame.getParentShape(); + // Satellite geodetic coordinates + final TimeStampedPVCoordinates pv = state.getPVCoordinates(ellipsoid.getBodyFrame()); + final GeodeticPoint satPoint = ellipsoid.transform(pv.getPosition(), ellipsoid.getBodyFrame(), state.getDate()); + + // Total Electron Content + final double tec = stec(date, recPoint, satPoint); + + // Ionospheric delay + final double factor = DELAY_FACTOR / (frequency * frequency); + return factor * tec; + } + + @Override + public > T pathDelay(final FieldSpacecraftState state, final TopocentricFrame baseFrame, + final double frequency, final T[] parameters) { + // Date + final FieldAbsoluteDate date = state.getDate(); + // Point + final FieldGeodeticPoint recPoint = baseFrame.getPoint(date.getField()); + + + // Reference body shape + final BodyShape ellipsoid = baseFrame.getParentShape(); + // Satellite geodetic coordinates + final TimeStampedFieldPVCoordinates pv = state.getPVCoordinates(ellipsoid.getBodyFrame()); + final FieldGeodeticPoint satPoint = ellipsoid.transform(pv.getPosition(), ellipsoid.getBodyFrame(), state.getDate()); + + // Total Electron Content + final T tec = stec(date, recPoint, satPoint); + + // Ionospheric delay + final double factor = DELAY_FACTOR / (frequency * frequency); + return tec.multiply(factor); + } + + @Override + public List getParametersDrivers() { + return Collections.emptyList(); + } + + /** + * This method allows the computation of the Stant Total Electron Content (STEC). + *

+ * This method follows the Gauss algorithm exposed in section 2.5.8.2.8 of + * the reference document. + *

+ * @param date current date + * @param recP receiver position + * @param satP satellite position + * @return the STEC in TECUnits + */ + public double stec(final AbsoluteDate date, final GeodeticPoint recP, final GeodeticPoint satP) { + + // Ray-perigee parameters + final Ray ray = new Ray(recP, satP); + + // Load the correct CCIR file + final DateTimeComponents dateTime = date.getComponents(TimeScalesFactory.getUTC()); + loadsIfNeeded(dateTime.getDate()); + + // Tolerance for the integration accuracy. Defined inside the reference document, section 2.5.8.1. + final double h1 = recP.getAltitude(); + final double tolerance; + if (h1 < 1000000.0) { + tolerance = 0.001; + } else { + tolerance = 0.01; + } + + // Integration + int n = 8; + final Segment seg1 = new Segment(n, ray); + double gn1 = stecIntegration(seg1, dateTime); + n *= 2; + final Segment seg2 = new Segment(n, ray); + double gn2 = stecIntegration(seg2, dateTime); + + int count = 1; + while (FastMath.abs(gn2 - gn1) > tolerance * FastMath.abs(gn1) && count < 20) { + gn1 = gn2; + n *= 2; + final Segment seg = new Segment(n, ray); + gn2 = stecIntegration(seg, dateTime); + count += 1; + } + + // If count > 20 the integration did not converge + if (count == 20) { + throw new OrekitException(OrekitMessages.STEC_INTEGRATION_DID_NOT_CONVERGE); + } + + // Eq. 202 + return (gn2 + ((gn2 - gn1) / 15.0)) * 1.0e-16; + } + + /** + * This method allows the computation of the Stant Total Electron Content (STEC). + *

+ * This method follows the Gauss algorithm exposed in section 2.5.8.2.8 of + * the reference document. + *

+ * @param type of the elements + * @param date current date + * @param recP receiver position + * @param satP satellite position + * @return the STEC in TECUnits + */ + public > T stec(final FieldAbsoluteDate date, + final FieldGeodeticPoint recP, + final FieldGeodeticPoint satP) { + + // Field + final Field field = date.getField(); + + // Ray-perigee parameters + final FieldRay ray = new FieldRay<>(field, recP, satP); + + // Load the correct CCIR file + final DateTimeComponents dateTime = date.getComponents(TimeScalesFactory.getUTC()); + loadsIfNeeded(dateTime.getDate()); + + // Tolerance for the integration accuracy. Defined inside the reference document, section 2.5.8.1. + final T h1 = recP.getAltitude(); + final double tolerance; + if (h1.getReal() < 1000000.0) { + tolerance = 0.001; + } else { + tolerance = 0.01; + } + + // Integration + int n = 8; + final FieldSegment seg1 = new FieldSegment<>(field, n, ray); + T gn1 = stecIntegration(field, seg1, dateTime); + n *= 2; + final FieldSegment seg2 = new FieldSegment<>(field, n, ray); + T gn2 = stecIntegration(field, seg2, dateTime); + + int count = 1; + while (FastMath.abs(gn2.subtract(gn1)).getReal() > FastMath.abs(gn1).multiply(tolerance).getReal() && count < 20) { + gn1 = gn2; + n *= 2; + final FieldSegment seg = new FieldSegment<>(field, n, ray); + gn2 = stecIntegration(field, seg, dateTime); + count += 1; + } + + // If count > 20 the integration did not converge + if (count == 20) { + throw new OrekitException(OrekitMessages.STEC_INTEGRATION_DID_NOT_CONVERGE); + } + + // Eq. 202 + return gn2.add(gn2.subtract(gn1).divide(15.0)).multiply(1.0e-16); + } + + /** + * This method perfoms the STEC integration. + * @param seg coordinates along the integration path + * @param dateTime current date and time componentns + * @return result of the integration + */ + private double stecIntegration(final Segment seg, final DateTimeComponents dateTime) { + // Integration points + final double[] heightS = seg.getHeights(); + final double[] latitudeS = seg.getLatitudes(); + final double[] longitudeS = seg.getLongitudes(); + + // Compute electron density + double density = 0.0; + for (int i = 0; i < heightS.length; i++) { + final NeQuickParameters parameters = new NeQuickParameters(dateTime, f2, fm3, + latitudeS[i], longitudeS[i], + alpha, stModip); + density += electronDensity(heightS[i], parameters); + } + + return 0.5 * seg.getInterval() * density; + } + + /** + * This method perfoms the STEC integration. + * @param type of the elements + * @param field field of the elements + * @param seg coordinates along the integration path + * @param dateTime current date and time componentns + * @return result of the integration + */ + private > T stecIntegration(final Field field, + final FieldSegment seg, + final DateTimeComponents dateTime) { + // Integration points + final T[] heightS = seg.getHeights(); + final T[] latitudeS = seg.getLatitudes(); + final T[] longitudeS = seg.getLongitudes(); + + // Compute electron density + T density = field.getZero(); + for (int i = 0; i < heightS.length; i++) { + final FieldNeQuickParameters parameters = new FieldNeQuickParameters<>(field, dateTime, f2, fm3, + latitudeS[i], longitudeS[i], + alpha, stModip); + density = density.add(electronDensity(field, heightS[i], parameters)); + } + + return seg.getInterval().multiply(density).multiply(0.5); + } + + /** + * Computes the electron density at a given height. + * @param h height in m + * @param parameters NeQuick model parameters + * @return electron density [m^-3] + */ + private double electronDensity(final double h, final NeQuickParameters parameters) { + // Convert height in kilometers + final double hInKm = h * M_TO_KM; + // Electron density + final double n; + if (hInKm <= parameters.getHmF2()) { + n = bottomElectronDensity(hInKm, parameters); + } else { + n = topElectronDensity(hInKm, parameters); + } + return n; + } + + /** + * Computes the electron density at a given height. + * @param type of the elements + * @param field field of the elements + * @param h height in m + * @param parameters NeQuick model parameters + * @return electron density [m^-3] + */ + private > T electronDensity(final Field field, + final T h, + final FieldNeQuickParameters parameters) { + // Convert height in kilometers + final T hInKm = h.multiply(M_TO_KM); + // Electron density + final T n; + if (hInKm.getReal() <= parameters.getHmF2().getReal()) { + n = bottomElectronDensity(field, hInKm, parameters); + } else { + n = topElectronDensity(field, hInKm, parameters); + } + return n; + } + + /** + * Computes the electron density of the bottomside. + * @param h height in km + * @param parameters NeQuick model parameters + * @return the electron density N in m-3 + */ + private double bottomElectronDensity(final double h, final NeQuickParameters parameters) { + + // Select the relevant B parameter for the current height (Eq. 109 and 110) + final double be; + if (h > parameters.getHmE()) { + be = parameters.getBETop(); + } else { + be = parameters.getBEBot(); + } + final double bf1; + if (h > parameters.getHmF1()) { + bf1 = parameters.getB1Top(); + } else { + bf1 = parameters.getB1Bot(); + } + final double bf2 = parameters.getB2Bot(); + + // Useful array of constants + final double[] ct = new double[] { + 1.0 / bf2, 1.0 / bf1, 1.0 / be + }; + + // Compute the exponential argument for each layer (Eq. 111 to 113) + // If h < 100km we use h = 100km as recommended in the reference document + final double hTemp = FastMath.max(100.0, h); + final double exp = clipExp(10.0 / (1.0 + FastMath.abs(hTemp - parameters.getHmF2()))); + final double[] arguments = new double[3]; + arguments[0] = (hTemp - parameters.getHmF2()) / bf2; + arguments[1] = ((hTemp - parameters.getHmF1()) / bf1) * exp; + arguments[2] = ((hTemp - parameters.getHmE()) / be) * exp; + + // S coefficients + final double[] s = new double[3]; + // Array of corrective terms + final double[] ds = new double[3]; + + // Layer amplitudes + final double[] amplitudes = parameters.getLayerAmplitudes(); + + // Fill arrays (Eq. 114 to 118) + for (int i = 0; i < 3; i++) { + if (FastMath.abs(arguments[i]) > 25.0) { + s[i] = 0.0; + ds[i] = 0.0; + } else { + final double expA = clipExp(arguments[i]); + final double opExpA = 1.0 + expA; + s[i] = amplitudes[i] * (expA / (opExpA * opExpA)); + ds[i] = ct[i] * ((1.0 - expA) / (1.0 + expA)); + } + } + + // Electron density + final double aNo = MathArrays.linearCombination(s[0], 1.0, s[1], 1.0, s[2], 1.0); + if (h >= 100) { + return aNo * DENSITY_FACTOR; + } else { + // Chapman parameters (Eq. 119 and 120) + final double bc = 1.0 - 10.0 * (MathArrays.linearCombination(s[0], ds[0], s[1], ds[1], s[2], ds[2]) / aNo); + final double z = 0.1 * (h - 100.0); + // Electron density (Eq. 121) + return aNo * clipExp(1.0 - bc * z - clipExp(-z)) * DENSITY_FACTOR; + } + } + + /** + * Computes the electron density of the bottomside. + * @param type of the elements + * @param field field of the elements + * @param h height in km + * @param parameters NeQuick model parameters + * @return the electron density N in m-3 + */ + private > T bottomElectronDensity(final Field field, + final T h, + final FieldNeQuickParameters parameters) { + + // Zero and One + final T zero = field.getZero(); + final T one = field.getOne(); + + // Select the relevant B parameter for the current height (Eq. 109 and 110) + final T be; + if (h.getReal() > parameters.getHmE().getReal()) { + be = parameters.getBETop(); + } else { + be = parameters.getBEBot(); + } + final T bf1; + if (h.getReal() > parameters.getHmF1().getReal()) { + bf1 = parameters.getB1Top(); + } else { + bf1 = parameters.getB1Bot(); + } + final T bf2 = parameters.getB2Bot(); + + // Useful array of constants + final T[] ct = MathArrays.buildArray(field, 3); + ct[0] = bf2.reciprocal(); + ct[1] = bf1.reciprocal(); + ct[2] = be.reciprocal(); + + // Compute the exponential argument for each layer (Eq. 111 to 113) + // If h < 100km we use h = 100km as recommended in the reference document + final T hTemp = FastMath.max(zero.add(100.0), h); + final T exp = clipExp(field, FastMath.abs(hTemp.subtract(parameters.getHmF2())).add(1.0).divide(10.0).reciprocal()); + final T[] arguments = MathArrays.buildArray(field, 3); + arguments[0] = hTemp.subtract(parameters.getHmF2()).divide(bf2); + arguments[1] = hTemp.subtract(parameters.getHmF1()).divide(bf1).multiply(exp); + arguments[2] = hTemp.subtract(parameters.getHmE()).divide(be).multiply(exp); + + // S coefficients + final T[] s = MathArrays.buildArray(field, 3); + // Array of corrective terms + final T[] ds = MathArrays.buildArray(field, 3); + + // Layer amplitudes + final T[] amplitudes = parameters.getLayerAmplitudes(); + + // Fill arrays (Eq. 114 to 118) + for (int i = 0; i < 3; i++) { + if (FastMath.abs(arguments[i]).getReal() > 25.0) { + s[i] = zero; + ds[i] = zero; + } else { + final T expA = clipExp(field, arguments[i]); + final T opExpA = expA.add(1.0); + s[i] = amplitudes[i].multiply(expA.divide(opExpA.multiply(opExpA))); + ds[i] = ct[i].multiply(expA.negate().add(1.0).divide(expA.add(1.0))); + } + } + + // Electron density + final T aNo = one.linearCombination(s[0], one, s[1], one, s[2], one); + if (h.getReal() >= 100) { + return aNo.multiply(DENSITY_FACTOR); + } else { + // Chapman parameters (Eq. 119 and 120) + final T bc = s[0].multiply(ds[0]).add(one.linearCombination(s[0], ds[0], s[1], ds[1], s[2], ds[2])).divide(aNo).multiply(10.0).negate().add(1.0); + final T z = h.subtract(100.0).multiply(0.1); + // Electron density (Eq. 121) + return aNo.multiply(clipExp(field, bc.multiply(z).add(clipExp(field, z.negate())).negate().add(1.0))).multiply(DENSITY_FACTOR); + } + } + + /** + * Computes the electron density of the topside. + * @param h height in km + * @param parameters NeQuick model parameters + * @return the electron density N in m-3 + */ + private double topElectronDensity(final double h, final NeQuickParameters parameters) { + + // Constant parameters (Eq. 122 and 123) + final double g = 0.125; + final double r = 100.0; + + // Arguments deltaH and z (Eq. 124 and 125) + final double deltaH = h - parameters.getHmF2(); + final double z = deltaH / (parameters.getH0() * (1.0 + (r * g * deltaH) / (r * parameters.getH0() + g * deltaH))); + + // Exponential (Eq. 126) + final double ee = clipExp(z); + + // Electron density (Eq. 127) + if (ee > 1.0e11) { + return (4.0 * parameters.getNmF2() / ee) * DENSITY_FACTOR; + } else { + final double opExpZ = 1.0 + ee; + return ((4.0 * parameters.getNmF2() * ee) / (opExpZ * opExpZ)) * DENSITY_FACTOR; + } + } + + /** + * Computes the electron density of the topside. + * @param type of the elements + * @param field field of the elements + * @param h height in km + * @param parameters NeQuick model parameters + * @return the electron density N in m-3 + */ + private > T topElectronDensity(final Field field, + final T h, + final FieldNeQuickParameters parameters) { + + // Constant parameters (Eq. 122 and 123) + final double g = 0.125; + final double r = 100.0; + + // Arguments deltaH and z (Eq. 124 and 125) + final T deltaH = h.subtract(parameters.getHmF2()); + final T z = deltaH.divide(parameters.getH0().multiply(deltaH.multiply(r).multiply(g).divide(parameters.getH0().multiply(r).add(deltaH.multiply(g))).add(1.0))); + + // Exponential (Eq. 126) + final T ee = clipExp(field, z); + + // Electron density (Eq. 127) + if (ee.getReal() > 1.0e11) { + return parameters.getNmF2().multiply(4.0).divide(ee).multiply(DENSITY_FACTOR); + } else { + final T opExpZ = ee.add(field.getOne()); + return parameters.getNmF2().multiply(4.0).multiply(ee).divide(opExpZ.multiply(opExpZ)).multiply(DENSITY_FACTOR); + } + } + + /** + * Lazy loading of CCIR data. + * @param date current date components + */ + private void loadsIfNeeded(final DateComponents date) { + + // Current month + final int currentMonth = date.getMonth(); + + // Check if date have changed or if f2 and fm3 arrays are null + if (currentMonth != month || f2 == null || fm3 == null) { + this.month = currentMonth; + + // Read file + final CCIRLoader loader = new CCIRLoader(); + loader.loadCCIRCoefficients(date); + + // Update arrays + this.f2 = loader.getF2(); + this.fm3 = loader.getFm3(); + } + } + + /** + * A clipped exponential function. + *

+ * This function, describe in section F.2.12.2 of the reference document, is + * recommanded for the computation of exponential values. + *

+ * @param power power for exponential function + * @return clipped exponential value + */ + private double clipExp(final double power) { + if (power > 80.0) { + return 5.5406E34; + } else if (power < -80) { + return 1.8049E-35; + } else { + return FastMath.exp(power); + } + } + + /** + * A clipped exponential function. + *

+ * This function, describe in section F.2.12.2 of the reference document, is + * recommanded for the computation of exponential values. + *

+ * @param type of the elements + * @param field field of the elements + * @param power power for exponential function + * @return clipped exponential value + */ + private > T clipExp(final Field field, final T power) { + final T zero = field.getZero(); + if (power.getReal() > 80.0) { + return zero.add(5.5406E34); + } else if (power.getReal() < -80) { + return zero.add(1.8049E-35); + } else { + return FastMath.exp(power); + } + } + + /** + * Parser for Modified Dip Latitude (MODIP) grid file. + *

+ * The MODIP grid allows to estimate MODIP μ [deg] at a given point (φ,λ) + * by interpolation of the relevant values contained in the support file. + *

+ * The file contains the values of MODIP (expressed in degrees) on a geocentric grid + * from 90°S to 90°N with a 5-degree step in latitude and from 180°W to 180°E with a + * 10-degree in longitude. + *

+ */ + private static class MODIPLoader implements DataLoader { + + /** Supported name for MODIP grid. */ + private static final String SUPPORTED_NAME = "modip.txt"; + + /** MODIP grid. */ + private double[][] grid; + + /** + * Build a new instance. + */ + MODIPLoader() { + this.grid = null; + } + + /** Returns the MODIP grid array. + * @return the MODIP grid array + */ + public double[][] getMODIPGrid() { + return grid.clone(); + } + + /** + * Load the data using supported names. + */ + public void loadMODIPGrid() { + DataProvidersManager.getInstance().feed(SUPPORTED_NAME, this); + + // Throw an exception if MODIP grid was not loaded properly + if (grid == null) { + throw new OrekitException(OrekitMessages.MODIP_GRID_NOT_LOADED, SUPPORTED_NAME); + } + } + + @Override + public boolean stillAcceptsData() { + return grid == null; + } + + @Override + public void loadData(final InputStream input, final String name) + throws IOException, ParseException { + + // Grid size + final int size = 39; + + // Initialize array + final double[][] array = new double[size][size]; + + // Open stream and parse data + int lineNumber = 0; + String line = null; + try (InputStreamReader isr = new InputStreamReader(input, StandardCharsets.UTF_8); + BufferedReader br = new BufferedReader(isr)) { + + for (line = br.readLine(); line != null; line = br.readLine()) { + ++lineNumber; + line = line.trim(); + + // Read grid data + if (line.length() > 0) { + final String[] modip_line = line.split(SPLITER); + for (int column = 0; column < modip_line.length; column++) { + array[lineNumber - 1][column] = Double.valueOf(modip_line[column]); + } + } + + } + + } catch (NumberFormatException nfe) { + throw new OrekitException(OrekitMessages.UNABLE_TO_PARSE_LINE_IN_FILE, + lineNumber, name, line); + } + + // Close the stream after reading + input.close(); + + // Clone parsed grid + grid = array.clone(); + + } + } + + /** + * Parser for CCIR files. + *

+ * Numerical grid maps which describe the regular variation of the ionosphere. + * They are used to derive other variables such as critical frequencies and transmission factors. + *

+ * The coefficients correspond to low and high solar activity conditions. + *

+ * The CCIR file naming convention is ccirXX.asc where each XX means month + 10. + *

+ * Coefficients are store into tow arrays, F2 and Fm3. F2 coefficients are used for the computation + * of the F2 layer critical frequency. Fm3 for the computation of the F2 layer maximum usable frequency factor. + * The size of these two arrays is fixed and discussed into the section 2.5.3.2 + * of the reference document. + *

+ */ + private static class CCIRLoader implements DataLoader { + + /** Default supported files name pattern. */ + public static final String DEFAULT_SUPPORTED_NAME = "ccir**.asc"; + + /** Total number of F2 coefficients contained in the file. */ + private static final int NUMBER_F2_COEFFICIENTS = 1976; + + /** Rows number for F2 and Fm3 arrays. */ + private static final int ROWS = 2; + + /** Columns number for F2 array. */ + private static final int TOTAL_COLUMNS_F2 = 76; + + /** Columns number for Fm3 array. */ + private static final int TOTAL_COLUMNS_FM3 = 49; + + /** Depth of F2 array. */ + private static final int DEPTH_F2 = 13; + + /** Depth of Fm3 array. */ + private static final int DEPTH_FM3 = 9; + + /** Regular expression for supported file name. */ + private String supportedName; + + /** F2 coefficients used for the computation of the F2 layer critical frequency. */ + private double[][][] f2Loader; + + /** Fm3 coefficients used for the computation of the F2 layer maximum usable frequency factor. */ + private double[][][] fm3Loader; + + /** + * Build a new instance. + */ + CCIRLoader() { + this.supportedName = DEFAULT_SUPPORTED_NAME; + this.f2Loader = null; + this.fm3Loader = null; + } + + /** + * Get the F2 coefficients used for the computation of the F2 layer critical frequency. + * @return the F2 coefficients + */ + public double[][][] getF2() { + return f2Loader.clone(); + } + + /** + * Get the Fm3 coefficients used for the computation of the F2 layer maximum usable frequency factor. + * @return the F2 coefficients + */ + public double[][][] getFm3() { + return fm3Loader.clone(); + } + + /** Load the data for a given month. + * @param dateComponents month given but its DateComponents + */ + public void loadCCIRCoefficients(final DateComponents dateComponents) { + + // The files are named ccirXX.asc where XX substitute the month of the year + 10 + final int currentMonth = dateComponents.getMonth(); + this.supportedName = String.format("ccir%02d.asc", currentMonth + 10); + DataProvidersManager.getInstance().feed(supportedName, this); + + // Throw an exception if F2 or Fm3 were not loaded properly + if (f2Loader == null || fm3Loader == null) { + throw new OrekitException(OrekitMessages.NEQUICK_F2_FM3_NOT_LOADED, supportedName); + } + + } + + @Override + public boolean stillAcceptsData() { + return f2Loader == null || fm3Loader == null; + } + + @Override + public void loadData(final InputStream input, final String name) + throws IOException, ParseException { + + // Initialize arrays + final double[][][] f2Temp = new double[ROWS][TOTAL_COLUMNS_F2][DEPTH_F2]; + final double[][][] fm3Temp = new double[ROWS][TOTAL_COLUMNS_FM3][DEPTH_FM3]; + + // Placeholders for parsed data + int lineNumber = 0; + int index = 0; + int currentRowF2 = 0; + int currentColumnF2 = 0; + int currentDepthF2 = 0; + int currentRowFm3 = 0; + int currentColumnFm3 = 0; + int currentDepthFm3 = 0; + String line = null; + + try (InputStreamReader isr = new InputStreamReader(input, StandardCharsets.UTF_8); + BufferedReader br = new BufferedReader(isr)) { + + for (line = br.readLine(); line != null; line = br.readLine()) { + ++lineNumber; + line = line.trim(); + + // Read grid data + if (line.length() > 0) { + final String[] ccir_line = line.split(SPLITER); + for (int i = 0; i < ccir_line.length; i++) { + + if (index < NUMBER_F2_COEFFICIENTS) { + // Parse F2 coefficients + if (currentDepthF2 >= DEPTH_F2 && currentColumnF2 < (TOTAL_COLUMNS_F2 - 1)) { + currentDepthF2 = 0; + currentColumnF2++; + } else if (currentDepthF2 >= DEPTH_F2 && currentColumnF2 >= (TOTAL_COLUMNS_F2 - 1)) { + currentDepthF2 = 0; + currentColumnF2 = 0; + currentRowF2++; + } + f2Temp[currentRowF2][currentColumnF2][currentDepthF2++] = Double.valueOf(ccir_line[i]); + index++; + } else { + // Parse Fm3 coefficients + if (currentDepthFm3 >= DEPTH_FM3 && currentColumnFm3 < (TOTAL_COLUMNS_FM3 - 1)) { + currentDepthFm3 = 0; + currentColumnFm3++; + } else if (currentDepthFm3 >= DEPTH_FM3 && currentColumnFm3 >= (TOTAL_COLUMNS_FM3 - 1)) { + currentDepthFm3 = 0; + currentColumnFm3 = 0; + currentRowFm3++; + } + fm3Temp[currentRowFm3][currentColumnFm3][currentDepthFm3++] = Double.valueOf(ccir_line[i]); + index++; + } + + } + } + + } + + } catch (NumberFormatException nfe) { + throw new OrekitException(OrekitMessages.UNABLE_TO_PARSE_LINE_IN_FILE, + lineNumber, name, line); + } + + // Close the stream after reading + input.close(); + + f2Loader = f2Temp.clone(); + fm3Loader = fm3Temp.clone(); + + } + + } + + /** + * Container for ray-perigee parameters. + * By convention, point 1 is at lower height. + */ + private static class Ray { + + /** Threshold for ray-perigee parameters computation. */ + private static final double THRESHOLD = 1.0e-10; + + /** Distance of the first point from the ray perigee [m]. */ + private final double s1; + + /** Distance of the second point from the ray perigee [m]. */ + private final double s2; + + /** Ray-perigee radius [m]. */ + private final double rp; + + /** Ray-perigee latitude [rad]. */ + private final double latP; + + /** Ray-perigee longitude [rad]. */ + private final double lonP; + + /** Sine of azimuth of satellite as seen from ray-perigee. */ + private final double sinAzP; + + /** Cosine of azimuth of satellite as seen from ray-perigee. */ + private final double cosAzP; + + /** + * Constructor. + * @param recP receiver position + * @param satP satellite position + */ + Ray(final GeodeticPoint recP, final GeodeticPoint satP) { + + // Integration limits in meters (Eq. 140 and 141) + final double r1 = RE + recP.getAltitude(); + final double r2 = RE + satP.getAltitude(); + + // Useful parameters + final double lat1 = recP.getLatitude(); + final double lat2 = satP.getLatitude(); + final double lon1 = recP.getLongitude(); + final double lon2 = satP.getLongitude(); + final SinCos scLatSat = FastMath.sinCos(lat2); + final SinCos scLatRec = FastMath.sinCos(lat1); + + // Zenith angle computation (Eq. 153 to 155) + final double cosD = scLatRec.sin() * scLatSat.sin() + + scLatRec.cos() * scLatSat.cos() * FastMath.cos(lon2 - lon1); + final double sinD = FastMath.sqrt(1.0 - cosD * cosD); + final double z = FastMath.atan2(sinD, cosD - (r1 / r2)); + + // Ray-perigee computation in meters (Eq. 156) + this.rp = r1 * FastMath.sin(z); + + // Ray-perigee latitude and longitude + if (FastMath.abs(FastMath.abs(lat1) - 0.5 * FastMath.PI) < THRESHOLD) { + + // Ray-perigee latitude (Eq. 157) + if (lat1 < 0) { + this.latP = -z; + } else { + this.latP = z; + } + + // Ray-perigee longitude (Eq. 164) + if (z < 0) { + this.lonP = lon2; + } else { + this.lonP = lon2 + FastMath.PI; + } + + } else { + + // Ray-perigee latitude (Eq. 158 to 163) + final double deltaP = 0.5 * FastMath.PI - z; + final SinCos scDeltaP = FastMath.sinCos(deltaP); + final double sinAz = FastMath.sin(lon2 - lon1) * scLatSat.cos() / sinD; + final double cosAz = (scLatSat.sin() - cosD * scLatRec.sin()) / (sinD * scLatRec.cos()); + final double sinLatP = scLatRec.sin() * scDeltaP.cos() - scLatRec.cos() * scDeltaP.sin() * cosAz; + final double cosLatP = FastMath.sqrt(1.0 - sinLatP * sinLatP); + this.latP = FastMath.atan2(sinLatP, cosLatP); + + // Ray-perigee longitude (Eq. 165 to 167) + final double sinLonP = -sinAz * scDeltaP.sin() / cosLatP; + final double cosLonP = (scDeltaP.cos() - scLatRec.sin() * sinLatP) / (scLatRec.cos() * cosLatP); + this.lonP = FastMath.atan2(sinLonP, cosLonP) + lon1; + + } + + // Sine and cosie of azimuth of satellite as seen from ray-perigee + final double psi = greatCircleAngle(lat2, lon2); + if (FastMath.abs(FastMath.abs(latP) - 0.5 * FastMath.PI) < THRESHOLD) { + // Eq. 172 and 173 + this.sinAzP = 0.0; + if (latP < 0.0) { + this.cosAzP = 1; + } else { + this.cosAzP = -1; + } + } else { + // Eq. 174 and 175 + this.sinAzP = scLatSat.cos() * FastMath.sin(lon2 - lonP) / FastMath.sin(psi); + this.cosAzP = (scLatSat.sin() - FastMath.sin(latP) * FastMath.cos(psi)) / (FastMath.cos(latP) * FastMath.sin(psi)); + } + + // Integration en points s1 and s2 in meters (Eq. 176 and 177) + this.s1 = FastMath.sqrt(r1 * r1 - rp * rp); + this.s2 = FastMath.sqrt(r2 * r2 - rp * rp); + } + + /** + * Get the distance of the first point from the ray perigee. + * @return s1 in meters + */ + public double getS1() { + return s1; + } + + /** + * Get the distance of the second point from the ray perigee. + * @return s2 in meters + */ + public double getS2() { + return s2; + } + + /** + * Get the ray-perigee radius. + * @return the ray-perigee radius in meters + */ + public double getRadius() { + return rp; + } + + /** + * Get the ray-perigee latitude. + * @return the ray-perigee latitude in radians + */ + public double getLatitude() { + return latP; + } + + /** + * Get the ray-perigee longitude. + * @return the ray-perigee longitude in radians + */ + public double getLongitude() { + return lonP; + } + + /** + * Get the sine of azimuth of satellite as seen from ray-perigee. + * @return the sine of azimuth + */ + public double getSineAz() { + return sinAzP; + } + + /** + * Get the cosine of azimuth of satellite as seen from ray-perigee. + * @return the cosine of azimuth + */ + public double getCosineAz() { + return cosAzP; + } + + /** + * Compute the great circle angle from ray-perigee to satellite. + *

+ * This method used the equations 168 to 171 pf the reference document. + *

+ * @param latitude satellite latitude in radians + * @param longitude satellite longitude in radians + * @return the great circle angle in radians + */ + private double greatCircleAngle(final double latitude, final double longitude) { + if (FastMath.abs(FastMath.abs(latP) - 0.5 * FastMath.PI) < THRESHOLD) { + return FastMath.abs(latitude - latP); + } else { + final double cosPhi = FastMath.sin(latP) * FastMath.sin(latitude) + + FastMath.cos(latP) * FastMath.cos(latitude) * FastMath.cos(longitude - lonP); + final double sinPhi = FastMath.sqrt(1.0 - cosPhi * cosPhi); + return FastMath.atan2(sinPhi, cosPhi); + } + } + } + + /** + * Container for ray-perigee parameters. + * By convention, point 1 is at lower height. + */ + private static class FieldRay > { + + /** Threshold for ray-perigee parameters computation. */ + private static final double THRESHOLD = 1.0e-10; + + /** Distance of the first point from the ray perigee [m]. */ + private final T s1; + + /** Distance of the second point from the ray perigee [m]. */ + private final T s2; + + /** Ray-perigee radius [m]. */ + private final T rp; + + /** Ray-perigee latitude [rad]. */ + private final T latP; + + /** Ray-perigee longitude [rad]. */ + private final T lonP; + + /** Sine of azimuth of satellite as seen from ray-perigee. */ + private final T sinAzP; + + /** Cosine of azimuth of satellite as seen from ray-perigee. */ + private final T cosAzP; + + /** + * Constructor. + * @param field field of the elements + * @param recP receiver position + * @param satP satellite position + */ + FieldRay(final Field field, final FieldGeodeticPoint recP, final FieldGeodeticPoint satP) { + + // Integration limits in meters (Eq. 140 and 141) + final T r1 = recP.getAltitude().add(RE); + final T r2 = satP.getAltitude().add(RE); + + // Useful parameters + final T lat1 = recP.getLatitude(); + final T lat2 = satP.getLatitude(); + final T lon1 = recP.getLongitude(); + final T lon2 = satP.getLongitude(); + final FieldSinCos scLatSat = FastMath.sinCos(lat2); + final FieldSinCos scLatRec = FastMath.sinCos(lat1); + + // Zenith angle computation (Eq. 153 to 155) + final T cosD = scLatRec.sin().multiply(scLatSat.sin()). + add(scLatRec.cos().multiply(scLatSat.cos()).multiply(FastMath.cos(lon2.subtract(lon1)))); + final T sinD = FastMath.sqrt(cosD.multiply(cosD).negate().add(1.0)); + final T z = FastMath.atan2(sinD, cosD.subtract(r1.divide(r2))); + + // Ray-perigee computation in meters (Eq. 156) + this.rp = r1.multiply(FastMath.sin(z)); + + // Ray-perigee latitude and longitude + if (FastMath.abs(FastMath.abs(lat1).getReal() - 0.5 * FastMath.PI) < THRESHOLD) { + + // Ray-perigee latitude (Eq. 157) + if (lat1.getReal() < 0) { + this.latP = z.negate(); + } else { + this.latP = z; + } + + // Ray-perigee longitude (Eq. 164) + if (z.getReal() < 0) { + this.lonP = lon2; + } else { + this.lonP = lon2.add(FastMath.PI); + } + + } else { + + // Ray-perigee latitude (Eq. 158 to 163) + final T deltaP = z.negate().add(0.5 * FastMath.PI); + final FieldSinCos scDeltaP = FastMath.sinCos(deltaP); + final T sinAz = FastMath.sin(lon2.subtract(lon1)).multiply(scLatSat.cos()).divide(sinD); + final T cosAz = scLatSat.sin().subtract(cosD.multiply(scLatRec.sin())).divide(sinD.multiply(scLatRec.cos())); + final T sinLatP = scLatRec.sin().multiply(scDeltaP.cos()).subtract(scLatRec.cos().multiply(scDeltaP.sin()).multiply(cosAz)); + final T cosLatP = FastMath.sqrt(sinLatP.multiply(sinLatP).negate().add(1.0)); + this.latP = FastMath.atan2(sinLatP, cosLatP); + + // Ray-perigee longitude (Eq. 165 to 167) + final T sinLonP = sinAz.negate().multiply(scDeltaP.sin()).divide(cosLatP); + final T cosLonP = scDeltaP.cos().subtract(scLatRec.sin().multiply(sinLatP)).divide(scLatRec.cos().multiply(cosLatP)); + this.lonP = FastMath.atan2(sinLonP, cosLonP).add(lon1); + + } + + // Sine and cosie of azimuth of satellite as seen from ray-perigee + final T psi = greatCircleAngle(lat2, lon2); + if (FastMath.abs(FastMath.abs(latP).getReal() - 0.5 * FastMath.PI) < THRESHOLD) { + // Eq. 172 and 173 + this.sinAzP = field.getZero(); + if (latP.getReal() < 0.0) { + this.cosAzP = field.getOne(); + } else { + this.cosAzP = field.getOne().negate(); + } + } else { + // Eq. 174 and 175 + this.sinAzP = scLatSat.cos().multiply(FastMath.sin(lon2.subtract(lonP))).divide(FastMath.sin(psi)); + this.cosAzP = scLatSat.sin().subtract(FastMath.sin(latP).multiply(FastMath.cos(psi))).divide(FastMath.cos(latP).multiply(FastMath.sin(psi))); + } + + // Integration en points s1 and s2 in meters (Eq. 176 and 177) + this.s1 = FastMath.sqrt(r1.multiply(r1).subtract(rp.multiply(rp))); + this.s2 = FastMath.sqrt(r2.multiply(r2).subtract(rp.multiply(rp))); + } + + /** + * Get the distance of the first point from the ray perigee. + * @return s1 in meters + */ + public T getS1() { + return s1; + } + + /** + * Get the distance of the second point from the ray perigee. + * @return s2 in meters + */ + public T getS2() { + return s2; + } + + /** + * Get the ray-perigee radius. + * @return the ray-perigee radius in meters + */ + public T getRadius() { + return rp; + } + + /** + * Get the ray-perigee latitude. + * @return the ray-perigee latitude in radians + */ + public T getLatitude() { + return latP; + } + + /** + * Get the ray-perigee longitude. + * @return the ray-perigee longitude in radians + */ + public T getLongitude() { + return lonP; + } + + /** + * Get the sine of azimuth of satellite as seen from ray-perigee. + * @return the sine of azimuth + */ + public T getSineAz() { + return sinAzP; + } + + /** + * Get the cosine of azimuth of satellite as seen from ray-perigee. + * @return the cosine of azimuth + */ + public T getCosineAz() { + return cosAzP; + } + + /** + * Compute the great circle angle from ray-perigee to satellite. + *

+ * This method used the equations 168 to 171 pf the reference document. + *

+ * @param latitude satellite latitude in radians + * @param longitude satellite longitude in radians + * @return the great circle angle in radians + */ + private T greatCircleAngle(final T latitude, final T longitude) { + if (FastMath.abs(FastMath.abs(latP).getReal() - 0.5 * FastMath.PI) < THRESHOLD) { + return FastMath.abs(latitude.subtract(latP)); + } else { + final T cosPhi = FastMath.sin(latP).multiply(FastMath.sin(latitude)). + add(FastMath.cos(latP).multiply(FastMath.cos(latitude)).multiply(FastMath.cos(longitude.subtract(lonP)))); + final T sinPhi = FastMath.sqrt(cosPhi.multiply(cosPhi).negate().add(1.0)); + return FastMath.atan2(sinPhi, cosPhi); + } + } + } + + /** Performs the computation of the coordinates along the integration path. */ + private static class Segment { + + /** Latitudes [rad]. */ + private final double[] latitudes; + + /** Longitudes [rad]. */ + private final double[] longitudes; + + /** Heights [m]. */ + private final double[] heights; + + /** Integration step [m]. */ + private final double deltaN; + + /** + * Constructor. + * @param n number of points used for the integration + * @param ray ray-perigee parameters + */ + Segment(final int n, final Ray ray) { + // Integration en points + final double s1 = ray.getS1(); + final double s2 = ray.getS2(); + + // Integration step (Eq. 195) + this.deltaN = (s2 - s1) / n; + + // Segments + final double[] s = getSegments(n, s1, s2); + + // Useful parameters + final double rp = ray.getRadius(); + final SinCos scLatP = FastMath.sinCos(ray.getLatitude()); + + // Geodetic coordinates + final int size = s.length; + heights = new double[size]; + latitudes = new double[size]; + longitudes = new double[size]; + for (int i = 0; i < size; i++) { + // Heights (Eq. 178) + heights[i] = FastMath.sqrt(s[i] * s[i] + rp * rp) - RE; + + // Great circle parameters (Eq. 179 to 181) + final double tanDs = s[i] / rp; + final double cosDs = 1.0 / FastMath.sqrt(1.0 + tanDs * tanDs); + final double sinDs = tanDs * cosDs; + + // Latitude (Eq. 182 to 183) + final double sinLatS = scLatP.sin() * cosDs + scLatP.cos() * sinDs * ray.getCosineAz(); + final double cosLatS = FastMath.sqrt(1.0 - sinLatS * sinLatS); + latitudes[i] = FastMath.atan2(sinLatS, cosLatS); + + // Longitude (Eq. 184 to 187) + final double sinLonS = sinDs * ray.getSineAz() * scLatP.cos(); + final double cosLonS = cosDs - scLatP.sin() * sinLatS; + longitudes[i] = FastMath.atan2(sinLonS, cosLonS) + ray.getLongitude(); + } + } + + /** + * Computes the distance of a point from the ray-perigee. + * @param n number of points used for the integration + * @param s1 lower boundary + * @param s2 upper boundary + * @return the distance of a point from the ray-perigee in km + */ + private double[] getSegments(final int n, final double s1, final double s2) { + // Eq. 196 + final double g = 0.5773502691896 * deltaN; + // Eq. 197 + final double y = s1 + (deltaN - g) * 0.5; + final double[] segments = new double[2 * n]; + int index = 0; + for (int i = 0; i < n; i++) { + // Eq. 198 + segments[index] = y + i * deltaN; + index++; + segments[index] = y + i * deltaN + g; + index++; + } + return segments; + } + + /** + * Get the latitudes of the coordinates along the integration path. + * @return the latitudes in radians + */ + public double[] getLatitudes() { + return latitudes; + } + + /** + * Get the longitudes of the coordinates along the integration path. + * @return the longitudes in radians + */ + public double[] getLongitudes() { + return longitudes; + } + + /** + * Get the heights of the coordinates along the integration path. + * @return the heights in m + */ + public double[] getHeights() { + return heights; + } + + /** + * Get the integration step. + * @return the integration step in meters + */ + public double getInterval() { + return deltaN; + } + } + + /** Performs the computation of the coordinates along the integration path. */ + private static class FieldSegment > { + + /** Latitudes [rad]. */ + private final T[] latitudes; + + /** Longitudes [rad]. */ + private final T[] longitudes; + + /** Heights [m]. */ + private final T[] heights; + + /** Integration step [m]. */ + private final T deltaN; + + /** + * Constructor. + * @param field field of the elements + * @param n number of points used for the integration + * @param ray ray-perigee parameters + */ + FieldSegment(final Field field, final int n, final FieldRay ray) { + // Integration en points + final T s1 = ray.getS1(); + final T s2 = ray.getS2(); + + // Integration step (Eq. 195) + this.deltaN = s2.subtract(s1).divide(n); + + // Segments + final T[] s = getSegments(field, n, s1, s2); + + // Useful parameters + final T rp = ray.getRadius(); + final FieldSinCos scLatP = FastMath.sinCos(ray.getLatitude()); + + // Geodetic coordinates + final int size = s.length; + heights = MathArrays.buildArray(field, size); + latitudes = MathArrays.buildArray(field, size); + longitudes = MathArrays.buildArray(field, size); + for (int i = 0; i < size; i++) { + // Heights (Eq. 178) + heights[i] = FastMath.sqrt(s[i].multiply(s[i]).add(rp.multiply(rp))).subtract(RE); + + // Great circle parameters (Eq. 179 to 181) + final T tanDs = s[i].divide(rp); + final T cosDs = FastMath.sqrt(tanDs.multiply(tanDs).add(1.0)).reciprocal(); + final T sinDs = tanDs.multiply(cosDs); + + // Latitude (Eq. 182 to 183) + final T sinLatS = scLatP.sin().multiply(cosDs).add(scLatP.cos().multiply(sinDs).multiply(ray.getCosineAz())); + final T cosLatS = FastMath.sqrt(sinLatS.multiply(sinLatS).negate().add(1.0)); + latitudes[i] = FastMath.atan2(sinLatS, cosLatS); + + // Longitude (Eq. 184 to 187) + final T sinLonS = sinDs.multiply(ray.getSineAz()).multiply(scLatP.cos()); + final T cosLonS = cosDs.subtract(scLatP.sin().multiply(sinLatS)); + longitudes[i] = FastMath.atan2(sinLonS, cosLonS).add(ray.getLongitude()); + } + } + + /** + * Computes the distance of a point from the ray-perigee. + * @param field field of the elements + * @param n number of points used for the integration + * @param s1 lower boundary + * @param s2 upper boundary + * @return the distance of a point from the ray-perigee in km + */ + private T[] getSegments(final Field field, final int n, final T s1, final T s2) { + // Eq. 196 + final T g = deltaN.multiply(0.5773502691896); + // Eq. 197 + final T y = s1.add(deltaN.subtract(g).multiply(0.5)); + final T[] segments = MathArrays.buildArray(field, 2 * n); + int index = 0; + for (int i = 0; i < n; i++) { + // Eq. 198 + segments[index] = y.add(deltaN.multiply(i)); + index++; + segments[index] = y.add(deltaN.multiply(i)).add(g); + index++; + } + return segments; + } + + /** + * Get the latitudes of the coordinates along the integration path. + * @return the latitudes in radians + */ + public T[] getLatitudes() { + return latitudes; + } + + /** + * Get the longitudes of the coordinates along the integration path. + * @return the longitudes in radians + */ + public T[] getLongitudes() { + return longitudes; + } + + /** + * Get the heights of the coordinates along the integration path. + * @return the heights in m + */ + public T[] getHeights() { + return heights; + } + + /** + * Get the integration step. + * @return the integration step in meters + */ + public T getInterval() { + return deltaN; + } + } + +} diff --git a/src/main/java/org/orekit/models/earth/ionosphere/NeQuickParameters.java b/src/main/java/org/orekit/models/earth/ionosphere/NeQuickParameters.java new file mode 100644 index 000000000..83e3f0168 --- /dev/null +++ b/src/main/java/org/orekit/models/earth/ionosphere/NeQuickParameters.java @@ -0,0 +1,780 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.models.earth.ionosphere; + +import org.hipparchus.util.FastMath; +import org.hipparchus.util.MathArrays; +import org.hipparchus.util.SinCos; +import org.orekit.time.DateComponents; +import org.orekit.time.DateTimeComponents; +import org.orekit.time.TimeComponents; + +/** + * This class perfoms the computation of the parameters used by the NeQuick model. + * + * @author Bryan Cazabonne + * + * @see "European Union (2016). European GNSS (Galileo) Open Service-Ionospheric Correction + * Algorithm for Galileo Single Frequency Users. 1.2." + * + * @since 10.1 + */ +class NeQuickParameters { + + /** Solar zenith angle at day night transition, degrees. */ + private static final double X0 = 86.23292796211615; + + /** Rows number for af2 array. */ + private static final int ROWS_AF2 = 76; + + /** Columns number for af2 array. */ + private static final int COLUMNS_AF2 = 13; + + /** Rows number for am3 array. */ + private static final int ROWS_AM3 = 49; + + /** Columns number for am3 array. */ + private static final int COLUMNS_AM3 = 9; + + /** F2 layer maximum density. */ + private final double nmF2; + + /** F2 layer maximum density height [km]. */ + private final double hmF2; + + /** F1 layer maximum density height [km]. */ + private final double hmF1; + + /** E layer maximum density height [km]. */ + private final double hmE; + + /** F2 layer bottom thickness parameter [km]. */ + private final double b2Bot; + + /** F1 layer top thickness parameter [km]. */ + private final double b1Top; + + /** F1 layer bottom thickness parameter [km]. */ + private final double b1Bot; + + /** E layer top thickness parameter [km]. */ + private final double beTop; + + /** E layer bottom thickness parameter [km]. */ + private final double beBot; + + /** topside thickness parameter [km]. */ + private final double h0; + + /** Layer amplitudes. */ + private final double[] amplitudes; + + /** + * Build a new instance. + * @param dateTime current date time components + * @param f2 F2 coefficients used by the F2 layer + * @param fm3 Fm3 coefficients used by the F2 layer + * @param latitude latitude of a point along the integration path, in radians + * @param longitude longitude of a point along the integration path, in radians + * @param alpha effective ionisation level coefficients + * @param modipGrip modip grid + */ + NeQuickParameters(final DateTimeComponents dateTime, final double[][][] f2, + final double[][][] fm3, final double latitude, final double longitude, + final double[] alpha, final double[][] modipGrip) { + + // MODIP in radians + final double modip = computeMODIP(latitude, longitude, modipGrip); + // Effective ionisation level Az + final double az = computeAz(FastMath.toDegrees(modip), alpha); + // Effective sunspot number (Eq. 19) + final double azr = FastMath.sqrt(167273.0 + (az - 63.7) * 1123.6) - 408.99; + // Date and Time components + final DateComponents date = dateTime.getDate(); + final TimeComponents time = dateTime.getTime(); + // Hours + final double hours = time.getSecondsInUTCDay() / 3600.0; + // Effective solar zenith angle in radians + final double xeff = computeEffectiveSolarAngle(date.getMonth(), hours, latitude, longitude); + + // Coefficients for F2 layer parameters + // Compute the array of interpolated coefficients for foF2 (Eq. 44) + final double[][] af2 = new double[ROWS_AF2][COLUMNS_AF2]; + for (int j = 0; j < ROWS_AF2; j++) { + for (int k = 0; k < COLUMNS_AF2; k++ ) { + af2[j][k] = f2[0][j][k] * (1.0 - (azr * 0.01)) + f2[1][j][k] * (azr * 0.01); + } + } + + // Compute the array of interpolated coefficients for M(3000)F2 (Eq. 46) + final double[][] am3 = new double[ROWS_AM3][COLUMNS_AM3]; + for (int j = 0; j < ROWS_AM3; j++) { + for (int k = 0; k < COLUMNS_AM3; k++ ) { + am3[j][k] = fm3[0][j][k] * (1.0 - (azr * 0.01)) + fm3[1][j][k] * (azr * 0.01); + } + } + + // E layer maximum density height in km (Eq. 78) + this.hmE = 120.0; + // E layer critical frequency in MHz + final double foE = computefoE(date.getMonth(), az, xeff, latitude); + // E layer maximum density in 10^11 m-3 (Eq. 36) + final double nmE = 0.124 * foE * foE; + + // Time argument (Eq. 49) + final double t = FastMath.toRadians(15 * hours) - FastMath.PI; + // Compute Fourier time series for foF2 and M(3000)F2 + final double[] cf2 = computeCF2(af2, t); + final double[] cm3 = computeCm3(am3, t); + // F2 layer critical frequency in MHz + final double foF2 = computefoF2(modip, cf2, latitude, longitude); + // Maximum Usable Frequency factor + final double mF2 = computeMF2(modip, cm3, latitude, longitude); + // F2 layer maximum density in 10^11 m-3 + this.nmF2 = 0.124 * foF2 * foF2; + // F2 layer maximum density height in km + this.hmF2 = computehmF2(foE, foF2, mF2); + + // F1 layer critical frequency in MHz + final double foF1 = computefoF1(foE, foF2); + // F1 layer maximum density in 10^11 m-3 + final double nmF1; + if (foF1 <= 0.0 && foE > 2.0) { + final double foEpopf = foE + 0.5; + nmF1 = 0.124 * foEpopf * foEpopf; + } else { + nmF1 = 0.124 * foF1 * foF1; + } + // F1 layer maximum density height in km + this.hmF1 = 0.5 * (hmF2 + hmE); + + // Thickness parameters (Eq. 85 to 89) + final double a = 0.01 * clipExp(-3.467 + 0.857 * FastMath.log(foF2 * foF2) + 2.02 * FastMath.log(mF2)); + this.b2Bot = 0.385 * nmF2 / a; + this.b1Top = 0.3 * (hmF2 - hmF1); + this.b1Bot = 0.5 * (hmF1 - hmE); + this.beTop = FastMath.max(b1Bot, 7.0); + this.beBot = 5.0; + + // Layer amplitude coefficients + this.amplitudes = computeLayerAmplitudes(nmE, nmF1, foF1); + + // Topside thickness parameter + this.h0 = computeH0(date.getMonth(), azr); + } + + /** + * Get the F2 layer maximum density. + * @return nmF2 + */ + public double getNmF2() { + return nmF2; + } + + /** + * Get the F2 layer maximum density height. + * @return hmF2 in km + */ + public double getHmF2() { + return hmF2; + } + + /** + * Get the F1 layer maximum density height. + * @return hmF1 in km + */ + public double getHmF1() { + return hmF1; + } + + /** + * Get the E layer maximum density height. + * @return hmE in km + */ + public double getHmE() { + return hmE; + } + + /** + * Get the F2 layer thickness parameter (bottom). + * @return B2Bot in km + */ + public double getB2Bot() { + return b2Bot; + } + + /** + * Get the F1 layer thickness parameter (top). + * @return B1Top in km + */ + public double getB1Top() { + return b1Top; + } + + /** + * Get the F1 layer thickness parameter (bottom). + * @return B1Bot in km + */ + public double getB1Bot() { + return b1Bot; + } + + /** + * Get the E layer thickness parameter (bottom). + * @return BeBot in km + */ + public double getBEBot() { + return beBot; + } + + /** + * Get the E layer thickness parameter (top). + * @return BeTop in km + */ + public double getBETop() { + return beTop; + } + + /** + * Get the F2, F1 and E layer amplitudes. + *

+ * The resulting element is an array having the following form: + *

    + *
  • double[0] = A1 → F2 layer amplitude + *
  • double[1] = A2 → F1 layer amplitude + *
  • double[2] = A3 → E layer amplitude + *
+ * @return layer amplitudes + */ + public double[] getLayerAmplitudes() { + return amplitudes.clone(); + } + + /** + * Get the topside thickness parameter H0. + * @return H0 in km + */ + public double getH0() { + return h0; + } + + /** + * Computes the value of the modified dip latitude (MODIP) for the + * given latitude and longitude. + * + * @param lat receiver latitude, radians + * @param lon receiver longitude, radians + * @param stModip modip grid + * @return the MODIP in radians + */ + private double computeMODIP(final double lat, final double lon, final double[][] stModip) { + + // For the MODIP computation, latitude and longitude have to be converted in radians + final double latitude = FastMath.toDegrees(lat); + final double longitude = FastMath.toDegrees(lon); + + // Extreme cases + if (latitude == 90.0 || latitude == -90.0) { + return latitude; + } + + // Auxiliary parameter l (Eq. 6 to 8) + final int lF = (int) ((longitude + 180) * 0.1); + int l = lF - 2; + if (l < 0) { + l += 36; + } else if (l > 33) { + l -= 36; + } + + // Auxiliary parameter a (Eq. 9 to 11) + final double a = 0.2 * (latitude + 90) + 1.0; + final double aF = FastMath.floor(a); + // Eq. 10 + final double x = a - aF; + // Eq. 11 + final int i = (int) aF - 2; + + // zi coefficients (Eq. 12 and 13) + final double z1 = interpolate(stModip[i + 1][l + 2], stModip[i + 2][l + 2], stModip[i + 3][l + 2], stModip[i + 4][l + 2], x); + final double z2 = interpolate(stModip[i + 1][l + 3], stModip[i + 2][l + 3], stModip[i + 3][l + 3], stModip[i + 4][l + 3], x); + final double z3 = interpolate(stModip[i + 1][l + 4], stModip[i + 2][l + 4], stModip[i + 3][l + 4], stModip[i + 4][l + 4], x); + final double z4 = interpolate(stModip[i + 1][l + 5], stModip[i + 2][l + 5], stModip[i + 3][l + 5], stModip[i + 4][l + 5], x); + + // Auxiliary parameter b (Eq. 14 and 15) + final double b = (longitude + 180) * 0.1; + final double bF = FastMath.floor(b); + final double y = b - bF; + + // MODIP (Ref Eq. 16) + final double modip = interpolate(z1, z2, z3, z4, y); + + return FastMath.toRadians(modip); + } + + /** + * This method computes the effective ionisation level Az. + *

+ * This parameter is used for the computation of the Total Electron Content (TEC). + *

+ * @param modip modified dip latitude (MODIP) in degrees + * @param alpha effective ionisation level coefficients + * @return the ionisation level Az + */ + private double computeAz(final double modip, final double[] alpha) { + // Particular condition (Eq. 17) + if (alpha[0] == 0.0 && alpha[1] == 0.0 && alpha[2] == 0.0) { + return 63.7; + } + // Az = a0 + modip * a1 + modip^2 * a2 (Eq. 18) + double az = alpha[0] + modip * (alpha[1] + modip * alpha[2]); + // If Az < 0 -> Az = 0 + az = FastMath.max(0.0, az); + // If Az > 400 -> Az = 400 + az = FastMath.min(400.0, az); + return az; + } + + /** + * This method computes the effective solar zenith angle. + *

+ * The effective solar zenith angle is compute as a function of the + * solar zenith angle and the solar zenith angle at day night transition. + *

+ * @param month current month of the year + * @param hours universal time (hours) + * @param latitude in radians + * @param longitude in radians + * @return the effective solar zenith angle, radians + */ + private double computeEffectiveSolarAngle(final int month, + final double hours, + final double latitude, + final double longitude) { + // Local time (Eq.4) + final double lt = hours + longitude / FastMath.toRadians(15.0); + // Day of year at the middle of the month (Eq. 20) + final double dy = 30.5 * month - 15.0; + // Time (Eq. 21) + final double t = dy + (18 - hours) / 24; + // Arguments am and al (Eq. 22 and 23) + final double am = FastMath.toRadians(0.9856 * t - 3.289); + final double al = am + FastMath.toRadians(1.916 * FastMath.sin(am) + 0.020 * FastMath.sin(2.0 * am) + 282.634); + // Sine and cosine of solar declination (Eq. 24 and 25) + final double sDec = 0.39782 * FastMath.sin(al); + final double cDec = FastMath.sqrt(1. - sDec * sDec); + // Solar zenith angle, deg (Eq. 26 and 27) + final SinCos scLat = FastMath.sinCos(latitude); + final double coef = (FastMath.PI / 12) * (12 - lt); + final double cZenith = scLat.sin() * sDec + scLat.cos() * cDec * FastMath.cos(coef); + final double angle = FastMath.atan2(FastMath.sqrt(1.0 - cZenith * cZenith), cZenith); + final double x = FastMath.toDegrees(angle); + // Effective solar zenith angle (Eq. 28) + final double xeff = join(90.0 - 0.24 * clipExp(20.0 - 0.2 * x), x, 12.0, x - X0); + return FastMath.toRadians(xeff); + } + + /** + * This method computes the E layer critical frequency at a given location. + * @param month current month + * @param az ffective ionisation level + * @param xeff effective solar zenith angle in radians + * @param latitude latitude in radians + * @return the E layer critical frequency at a given location in MHz + */ + private double computefoE(final int month, final double az, + final double xeff, final double latitude) { + // The latitude has to be converted in degrees + final double lat = FastMath.toDegrees(latitude); + // Square root of the effective ionisation level + final double sqAz = FastMath.sqrt(az); + // seas parameter (Eq. 30 to 32) + final int seas; + if (month == 1 || month == 2 || month == 11 || month == 12) { + seas = -1; + } else if (month == 3 || month == 4 || month == 9 || month == 10) { + seas = 0; + } else { + seas = 1; + } + // Latitudinal dependence (Eq. 33 and 34) + final double ee = clipExp(0.3 * lat); + final double seasp = seas * ((ee - 1.0) / (ee + 1.0)); + // Critical frequency (Eq. 35) + final double coef = 1.112 - 0.019 * seasp; + final double foE = FastMath.sqrt(coef * coef * sqAz * FastMath.pow(FastMath.cos(xeff), 0.6) + 0.49); + return foE; + } + + /** + * Computes the F2 layer height of maximum electron density. + * @param foE E layer layer critical frequency in MHz + * @param foF2 F2 layer layer critical frequency in MHz + * @param mF2 maximum usable frequency factor + * @return hmF2 in km + */ + private double computehmF2(final double foE, final double foF2, final double mF2) { + // Ratio + final double fo = foF2 / foE; + final double ratio = join(fo, 1.75, 20.0, fo - 1.75); + + // deltaM parameter + double deltaM = -0.012; + if (foE >= 1e-30) { + deltaM += 0.253 / (ratio - 1.215); + } + + // hmF2 Eq. 80 + final double mF2Sq = mF2 * mF2; + final double temp = FastMath.sqrt((0.0196 * mF2Sq + 1) / (1.2967 * mF2Sq - 1.0)); + final double height = ((1490.0 * mF2 * temp) / (mF2 + deltaM)) - 176.0; + return height; + } + + /** + * Computes cf2 coefficients. + * @param af2 interpolated coefficients for foF2 + * @param t time argument + * @return the cf2 coefficients array + */ + private double[] computeCF2(final double[][] af2, final double t) { + // Eq. 50 + final double[] cf2 = new double[76]; + for (int i = 0; i < cf2.length; i++) { + double sum = 0.0; + for (int k = 0; k < 6; k++) { + sum += af2[i][2 * k + 1] * FastMath.sin((k + 1) * t) + af2[i][2 * (k + 1)] * FastMath.cos((k + 1) * t); + } + cf2[i] = af2[i][0] + sum; + } + return cf2; + } + + /** + * Computes Cm3 coefficients. + * @param am3 interpolated coefficients for foF2 + * @param t time argument + * @return the Cm3 coefficients array + */ + private double[] computeCm3(final double[][] am3, final double t) { + // Eq. 51 + final double[] cm3 = new double[49]; + for (int i = 0; i < cm3.length; i++) { + double sum = 0.0; + for (int k = 0; k < 4; k++) { + sum += am3[i][2 * k + 1] * FastMath.sin((k + 1) * t) + am3[i][2 * (k + 1)] * FastMath.cos((k + 1) * t); + } + cm3[i] = am3[i][0] + sum; + } + return cm3; + } + + /** + * This method computes the F2 layer critical frequency. + * @param modip modified DIP latitude, in radians + * @param cf2 Fourier time series for foF2 + * @param latitude latitude in radians + * @param longitude longitude in radians + * @return the F2 layer critical frequency, MHz + */ + private double computefoF2(final double modip, final double[] cf2, + final double latitude, final double longitude) { + + // Legendre grades (Eq. 63) + final int[] q = new int[] { + 12, 12, 9, 5, 2, 1, 1, 1, 1 + }; + + // Array for geographic terms + final double[] g = new double[cf2.length]; + g[0] = 1.0; + + // MODIP coefficients Eq. 57 + final double sinMODIP = FastMath.sin(modip); + final double[] m = new double[12]; + m[0] = 1.0; + for (int i = 1; i < q[0]; i++) { + m[i] = sinMODIP * m[i - 1]; + g[i] = m[i]; + } + + // Latitude coefficients (Eq. 58) + final double cosLat = FastMath.cos(latitude); + final double[] p = new double[8]; + p[0] = cosLat; + for (int n = 2; n < 9; n++) { + p[n - 1] = cosLat * p[n - 2]; + } + + // latitude and longitude terms + int index = 12; + for (int i = 1; i < q.length; i++) { + for (int j = 0; j < q[i]; j++) { + g[index++] = m[j] * p[i - 1] * FastMath.cos(i * longitude); + g[index++] = m[j] * p[i - 1] * FastMath.sin(i * longitude); + } + } + + // Compute foF2 by linear combination + final double frequency = MathArrays.linearCombination(cf2, g); + return frequency; + } + + /** + * This method computes the Maximum Usable Frequency factor. + * @param modip modified DIP latitude, in radians + * @param cm3 Fourier time series for M(3000)F2 + * @param latitude latitude in radians + * @param longitude longitude in radians + * @return the Maximum Usable Frequency factor + */ + private double computeMF2(final double modip, final double[] cm3, + final double latitude, final double longitude) { + + // Legendre grades (Eq. 71) + final int[] r = new int[] { + 7, 8, 6, 3, 2, 1, 1 + }; + + // Array for geographic terms + final double[] g = new double[cm3.length]; + g[0] = 1.0; + + // MODIP coefficients Eq. 57 + final double sinMODIP = FastMath.sin(modip); + final double[] m = new double[12]; + m[0] = 1.0; + for (int i = 1; i < 12; i++) { + m[i] = sinMODIP * m[i - 1]; + if (i < 7) { + g[i] = m[i]; + } + } + + // Latitude coefficients (Eq. 58) + final double cosLat = FastMath.cos(latitude); + final double[] p = new double[8]; + p[0] = cosLat; + for (int n = 2; n < 9; n++) { + p[n - 1] = cosLat * p[n - 2]; + } + + // latitude and longitude terms + int index = 7; + for (int i = 1; i < r.length; i++) { + for (int j = 0; j < r[i]; j++) { + g[index++] = m[j] * p[i - 1] * FastMath.cos(i * longitude); + g[index++] = m[j] * p[i - 1] * FastMath.sin(i * longitude); + } + } + + // Compute m3000 by linear combination + final double m3000 = MathArrays.linearCombination(g, cm3); + return m3000; + } + + /** + * This method computes the F1 layer critical frequency. + *

+ * This computation performs the algorithm exposed in Annex F + * of the reference document. + *

+ * @param foE the E layer critical frequency, MHz + * @return the F1 layer critical frequency, MHz + * @param foF2 the F2 layer critical frequency, MHz + */ + private double computefoF1(final double foE, final double foF2) { + final double temp = join(1.4 * foE, 0.0, 1000.0, foE - 2.0); + final double temp2 = join(0.0, temp, 1000.0, foE - temp); + final double value = join(temp2, 0.85 * temp2, 60.0, 0.85 * foF2 - temp2); + if (value < 1.0E-6) { + return 0.0; + } else { + return value; + } + } + + /** + * This method allows the computation of the F2, F1 and E layer amplitudes. + *

+ * The resulting element is an array having the following form: + *

    + *
  • double[0] = A1 → F2 layer amplitude + *
  • double[1] = A2 → F1 layer amplitude + *
  • double[2] = A3 → E layer amplitude + *
+ *

+ * @param nmE E layer maximum density in 10^11 m-3 + * @param nmF1 F1 layer maximum density in 10^11 m-3 + * @param foF1 F1 layer critical frequency in MHz + * @return a three components array containing the layer amplitudes + */ + private double[] computeLayerAmplitudes(final double nmE, final double nmF1, final double foF1) { + // Initialize array + final double[] amplitude = new double[3]; + + // F2 layer amplitude (Eq. 90) + final double a1 = 4.0 * nmF2; + amplitude[0] = a1; + + // F1 and E layer amplitudes (Eq. 91 to 98) + if (foF1 < 0.5) { + amplitude[1] = 0.0; + amplitude[2] = 4.0 * (nmE - epst(a1, hmF2, b2Bot, hmE)); + } else { + double a2a = 0.0; + double a3a = 4.0 * nmE; + for (int i = 0; i < 5; i++) { + a2a = 4.0 * (nmF1 - epst(a1, hmF2, b2Bot, hmF1) - epst(a3a, hmE, beTop, hmF1)); + a2a = join(a2a, 0.8 * nmF1, 1.0, a2a - 0.8 * nmF1); + a3a = 4.0 * (nmE - epst(a2a, hmF1, b1Bot, hmE) - epst(a1, hmF2, b2Bot, hmE)); + } + amplitude[1] = a2a; + amplitude[2] = join(a3a, 0.05, 60.0, a3a - 0.005); + } + + return amplitude; + } + + /** + * This method computes the topside thickness parameter H0. + * + * @param month current month + * @param azr effective sunspot number + * @return H0 in km + */ + private double computeH0(final int month, final double azr) { + + // Auxiliary parameter ka (Eq. 99 and 100) + final double ka; + if (month > 3 && month < 10) { + // month = 4,5,6,7,8,9 + ka = 6.705 - 0.014 * azr - 0.008 * hmF2; + } else { + // month = 1,2,3,10,11,12 + final double ratio = hmF2 / b2Bot; + ka = -7.77 + 0.097 * ratio * ratio + 0.153 * nmF2; + } + + // Auxiliary parameter kb (Eq. 101 and 102) + double kb = join(ka, 2.0, 1.0, ka - 2.0); + kb = join(8.0, kb, 1.0, kb - 8.0); + + // Auxiliary parameter Ha (Eq. 103) + final double hA = kb * b2Bot; + + // Auxiliary parameters x and v (Eq. 104 and 105) + final double x = 0.01 * (hA - 150.0); + final double v = (0.041163 * x - 0.183981) * x + 1.424472; + + // Topside thickness parameter (Eq. 106) + final double h = hA / v; + return h; + } + + /** + * A clipped exponential function. + *

+ * This function, describe in section F.2.12.2 of the reference document, is + * recommanded for the computation of exponential values. + *

+ * @param power power for exponential function + * @return clipped exponential value + */ + private double clipExp(final double power) { + if (power > 80.0) { + return 5.5406E34; + } else if (power < -80) { + return 1.8049E-35; + } else { + return FastMath.exp(power); + } + } + + /** + * This method provides a third order interpolation function + * as recommended in the reference document (Ref Eq. 128 to Eq. 138) + * + * @param z1 z1 coefficient + * @param z2 z2 coefficient + * @param z3 z3 coefficient + * @param z4 z4 coefficient + * @param x position + * @return a third order interpolation + */ + private double interpolate(final double z1, final double z2, + final double z3, final double z4, + final double x) { + + if (FastMath.abs(2.0 * x) < 1e-10) { + return z2; + } + + final double delta = 2.0 * x - 1.0; + final double g1 = z3 + z2; + final double g2 = z3 - z2; + final double g3 = z4 + z1; + final double g4 = (z4 - z1) / 3.0; + final double a0 = 9.0 * g1 - g3; + final double a1 = 9.0 * g2 - g4; + final double a2 = g3 - g1; + final double a3 = g4 - g2; + final double zx = 0.0625 * (a0 + delta * (a1 + delta * (a2 + delta * a3))); + + return zx; + } + + /** + * Allows smooth joining of functions f1 and f2 + * (i.e. continuous first derivatives) at origin. + *

+ * This function, describe in section F.2.12.1 of the reference document, is + * recommanded for computational efficiency. + *

+ * @param dF1 first function + * @param dF2 second function + * @param dA width of transition region + * @param dX x value + * @return the computed value + */ + private double join(final double dF1, final double dF2, + final double dA, final double dX) { + final double ee = clipExp(dA * dX); + return (dF1 * ee + dF2) / (ee + 1.0); + } + + /** + * The Epstein function. + *

+ * This function, describe in section 2.5.1 of the reference document, is used + * as a basis analytical function in NeQuick for the construction of the ionospheric layers. + *

+ * @param x x parameter + * @param y y parameter + * @param z z parameter + * @param w w parameter + * @return value of the epstein function + */ + private double epst(final double x, final double y, + final double z, final double w) { + final double ex = clipExp((w - y) / z); + final double opex = 1.0 + ex; + final double epst = x * ex / (opex * opex); + return epst; + } + +} diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 index 1b27e32a3..1f7d77bb4 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_da.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 index 44c731433..703a077cc 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_de.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 index 1a50a7c75..b02bf6d31 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_el.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 index 65112144f..e0e7224bd 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_en.utf8 @@ -549,3 +549,11 @@ ITRF_VERSIONS_PREFIX_ONLY = The first column of itrf-versions.conf is a plain pr # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = STEC integration did not converge + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = MODIP grid not be loaded from {0} + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = NeQuick coefficient f2 or fm3 not be loaded from {0} diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 index 6685d1121..d10ffd6fc 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_es.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 index a869fdb31..d3e93f57b 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_fr.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = la première colonne du fichier itrf-versions.conf e # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = impossible de calculer la direction de pointage pour le point singulier: latitude = {0}, longitude = {1} + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = l''integration du STEC n''a pas convergée + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = impossible de charger la grille de MODIP depuis {0} + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = impossible de charger les coefficients NeQuick f2 et fm3 depuis {0} diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 index 96a47ada7..5bf454485 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_gl.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 index c045d4784..ef8283619 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_it.utf8 @@ -549,3 +549,12 @@ ITRF_VERSIONS_PREFIX_ONLY = la prima colonna di itrf-versions.conf è un prefiss # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = impossibile calcolare la direzione di mira al punto singolare: latitudine = {0}, longitudine = {1} + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 index 180800946..a877b0100 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_no.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 b/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 index 678e9b8ae..e8b49c24f 100644 --- a/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 +++ b/src/main/resources/assets/org/orekit/localization/OrekitMessages_ro.utf8 @@ -548,3 +548,12 @@ ITRF_VERSIONS_PREFIX_ONLY = # cannot compute aiming direction at singular point: latitude = {0}, longitude = {1} CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT = + +# STEC integration did not converge +STEC_INTEGRATION_DID_NOT_CONVERGE = + +# MODIP grid not be loaded from {0} +MODIP_GRID_NOT_LOADED = + +# NeQuick coefficient f2 or fm3 not be loaded from {0} +NEQUICK_F2_FM3_NOT_LOADED = diff --git a/src/test/java/org/orekit/errors/OrekitMessagesTest.java b/src/test/java/org/orekit/errors/OrekitMessagesTest.java index fde540d31..977500375 100644 --- a/src/test/java/org/orekit/errors/OrekitMessagesTest.java +++ b/src/test/java/org/orekit/errors/OrekitMessagesTest.java @@ -31,7 +31,7 @@ public class OrekitMessagesTest { @Test public void testMessageNumber() { - Assert.assertEquals(183, OrekitMessages.values().length); + Assert.assertEquals(186, OrekitMessages.values().length); } @Test diff --git a/src/test/java/org/orekit/models/earth/ionosphere/NeQuickModelTest.java b/src/test/java/org/orekit/models/earth/ionosphere/NeQuickModelTest.java new file mode 100644 index 000000000..d5b0cbc10 --- /dev/null +++ b/src/test/java/org/orekit/models/earth/ionosphere/NeQuickModelTest.java @@ -0,0 +1,238 @@ +/* Copyright 2002-2019 CS Systèmes d'Information + * Licensed to CS Systèmes d'Information (CS) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * CS licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.orekit.models.earth.ionosphere; + +import org.hipparchus.Field; +import org.hipparchus.RealFieldElement; +import org.hipparchus.geometry.euclidean.threed.FieldVector3D; +import org.hipparchus.geometry.euclidean.threed.Vector3D; +import org.hipparchus.util.Decimal64Field; +import org.hipparchus.util.FastMath; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.orekit.Utils; +import org.orekit.bodies.FieldGeodeticPoint; +import org.orekit.bodies.GeodeticPoint; +import org.orekit.bodies.OneAxisEllipsoid; +import org.orekit.frames.FramesFactory; +import org.orekit.frames.TopocentricFrame; +import org.orekit.gnss.Frequency; +import org.orekit.orbits.CartesianOrbit; +import org.orekit.orbits.FieldCartesianOrbit; +import org.orekit.orbits.FieldOrbit; +import org.orekit.orbits.Orbit; +import org.orekit.propagation.FieldSpacecraftState; +import org.orekit.propagation.SpacecraftState; +import org.orekit.time.AbsoluteDate; +import org.orekit.time.FieldAbsoluteDate; +import org.orekit.time.TimeScalesFactory; +import org.orekit.utils.Constants; +import org.orekit.utils.FieldPVCoordinates; +import org.orekit.utils.IERSConventions; +import org.orekit.utils.PVCoordinates; + +/** + * Reference values for the tests are from : "European Union (2016). European GNSS (Galileo) + * Open Service-Ionospheric Correction Algorithm for Galileo Single Frequency Users. 1.2." + */ +public class NeQuickModelTest { + + private double[] medium; + private double[] high; + + @Before + public void setUp() { + Utils.setDataRoot("regular-data:nequick"); + high = new double[] { + 236.831641, -0.39362878, 0.00402826613 + }; + medium = new double[] { + 121.129893, 0.351254133, 0.0134635348 + }; + + } + + @Test + public void testHighSolarActivity() { + + // Model + final NeQuickModel model = new NeQuickModel(high); + + // Geodetic points + final GeodeticPoint recP = new GeodeticPoint(FastMath.toRadians(82.49), FastMath.toRadians(297.66), 78.11); + final GeodeticPoint satP = new GeodeticPoint(FastMath.toRadians(54.29), FastMath.toRadians(8.23), 20281546.18); + + // Date + final AbsoluteDate date = new AbsoluteDate(2018, 4, 2, 0, 0, 0, TimeScalesFactory.getUTC()); + + // STEC + final double stec = model.stec(date, recP, satP); + Assert.assertEquals(20.40, stec, 0.09); + } + + @Test + public void testFieldHighSolarActivity() { + doTestFieldHighSolarActivity(Decimal64Field.getInstance()); + } + + private > void doTestFieldHighSolarActivity(final Field field) { + + // Zero + final T zero = field.getZero(); + + // Model + final NeQuickModel model = new NeQuickModel(high); + + // Geodetic points + final FieldGeodeticPoint recP = new FieldGeodeticPoint<>(zero.add(FastMath.toRadians(82.49)), + zero.add(FastMath.toRadians(297.66)), zero.add(78.11)); + final FieldGeodeticPoint satP = new FieldGeodeticPoint<>(zero.add(FastMath.toRadians(54.29)), + zero.add(FastMath.toRadians(8.23)), zero.add(20281546.18)); + + // Date + final FieldAbsoluteDate date = new FieldAbsoluteDate<>(field, 2018, 4, 2, 0, 0, 0, TimeScalesFactory.getUTC()); + + // STEC + final T stec = model.stec(date, recP, satP); + Assert.assertEquals(20.40, stec.getReal(), 0.09); + } + + @Test + public void testMediumSolarActivity() { + + // Model + final NeQuickModel model = new NeQuickModel(medium); + + // Geodetic points + final GeodeticPoint recP = new GeodeticPoint(FastMath.toRadians(-31.80), FastMath.toRadians(115.89), 12.78); + final GeodeticPoint satP = new GeodeticPoint(FastMath.toRadians(-14.31), FastMath.toRadians(124.09), 20100697.90); + + // Date + final AbsoluteDate date = new AbsoluteDate(2018, 4, 2, 16, 0, 0, TimeScalesFactory.getUTC()); + + // STEC + final double stec = model.stec(date, recP, satP); + Assert.assertEquals(6.96, stec, 0.05); + } + + @Test + public void testFieldMediumSolarActivity() { + doTestFieldMediumSolarActivity(Decimal64Field.getInstance()); + } + + private > void doTestFieldMediumSolarActivity(final Field field) { + + // Zero + final T zero = field.getZero(); + + // Model + final NeQuickModel model = new NeQuickModel(medium); + + // Geodetic points + final FieldGeodeticPoint recP = new FieldGeodeticPoint<>(zero.add(FastMath.toRadians(-31.80)), + zero.add(FastMath.toRadians(115.89)), zero.add(12.78)); + final FieldGeodeticPoint satP = new FieldGeodeticPoint<>(zero.add(FastMath.toRadians(-14.31)), + zero.add(FastMath.toRadians(124.09)), zero.add(20100697.90)); + + // Date + final FieldAbsoluteDate date = new FieldAbsoluteDate<>(field, 2018, 4, 2, 16, 0, 0, TimeScalesFactory.getUTC()); + + // STEC + final T stec = model.stec(date, recP, satP); + Assert.assertEquals(6.96, stec.getReal(), 0.05); + } + + @Test + public void testDelay() { + + // Model + final NeQuickModel model = new NeQuickModel(medium); + + // Geodetic points + final GeodeticPoint recP = new GeodeticPoint(FastMath.toRadians(-31.80), FastMath.toRadians(115.89), 12.78); + final GeodeticPoint satP = new GeodeticPoint(FastMath.toRadians(-14.31), FastMath.toRadians(124.09), 20100697.90); + + // Date + final AbsoluteDate date = new AbsoluteDate(2018, 4, 2, 16, 0, 0, TimeScalesFactory.getUTC()); + + // Earth + final OneAxisEllipsoid ellipsoid = new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, + Constants.WGS84_EARTH_FLATTENING, + FramesFactory.getITRF(IERSConventions.IERS_2010, true)); + // Satellite position + final Vector3D satPosInITRF = ellipsoid.transform(satP); + final Vector3D satPosInEME2000 = ellipsoid.getBodyFrame().getTransformTo(FramesFactory.getEME2000(), date).transformPosition(satPosInITRF); + + // Spacecraft state + final PVCoordinates pv = new PVCoordinates(satPosInEME2000, new Vector3D(1.0, 1.0, 1.0)); + final Orbit orbit = new CartesianOrbit(pv, FramesFactory.getEME2000(), date, Constants.WGS84_EARTH_MU); + final SpacecraftState state = new SpacecraftState(orbit); + + final double delay = model.pathDelay(state, new TopocentricFrame(ellipsoid, recP, null), + Frequency.G01.getMHzFrequency() * 1.0E6, model.getParameters()); + + // Verify + Assert.assertEquals(1.13, delay, 0.01); + } + + @Test + public void testFieldDelay() { + doTestFieldDelay(Decimal64Field.getInstance()); + } + + private > void doTestFieldDelay(final Field field) { + + // Zero and One + final T zero = field.getZero(); + final T one = field.getOne(); + + // Model + final NeQuickModel model = new NeQuickModel(medium); + + // Geodetic points + final double recLat = FastMath.toRadians(-31.80); + final double recLon = FastMath.toRadians(115.89); + final double recAlt = 12.78; + final GeodeticPoint recP = new GeodeticPoint(recLat, recLon, recAlt); + final FieldGeodeticPoint satP = new FieldGeodeticPoint<>(zero.add(FastMath.toRadians(-14.31)), + zero.add(FastMath.toRadians(124.09)), zero.add(20100697.90)); + + // Date + final FieldAbsoluteDate date = new FieldAbsoluteDate<>(field, 2018, 4, 2, 16, 0, 0, TimeScalesFactory.getUTC()); + + // Earth + final OneAxisEllipsoid ellipsoid = new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, + Constants.WGS84_EARTH_FLATTENING, + FramesFactory.getITRF(IERSConventions.IERS_2010, true)); + // Satellite position + final FieldVector3D satPosInITRF = ellipsoid.transform(satP); + final FieldVector3D satPosInEME2000 = ellipsoid.getBodyFrame().getTransformTo(FramesFactory.getEME2000(), date).transformPosition(satPosInITRF); + + // Spacecraft state + final FieldPVCoordinates pv = new FieldPVCoordinates<>(satPosInEME2000, new FieldVector3D<>(one, one, one)); + final FieldOrbit orbit = new FieldCartesianOrbit<>(pv, FramesFactory.getEME2000(), date, zero.add(Constants.WGS84_EARTH_MU)); + final FieldSpacecraftState state = new FieldSpacecraftState<>(orbit); + + final T delay = model.pathDelay(state, new TopocentricFrame(ellipsoid, recP, null), + Frequency.G01.getMHzFrequency() * 1.0E6, model.getParameters(field)); + + // Verify + Assert.assertEquals(1.13, delay.getReal(), 0.01); + } + +} diff --git a/src/test/resources/nequick/ccir11.asc b/src/test/resources/nequick/ccir11.asc new file mode 100644 index 000000000..96b9e19c2 --- /dev/null +++ b/src/test/resources/nequick/ccir11.asc @@ -0,0 +1,715 @@ + 0.52396593E+01 -0.56523629E-01 -0.18704616E-01 0.12128916E-01 + 0.79412200E-02 -0.10031432E-01 0.21567253E-01 -0.68602669E-02 + 0.37022347E-02 0.78359321E-02 0.63161589E-02 -0.10695398E-01 + 0.29390156E-01 0.93325400E+00 -0.28997501E-01 0.10946779E+00 + -0.30769539E+00 -0.37993371E+00 -0.23273271E+00 0.89480698E-01 + 0.33896312E-01 0.32839006E+00 -0.81993341E-01 -0.14348942E+00 + -0.27823284E-01 0.11266430E-01 0.80531130E+01 0.13981723E+01 + 0.47361961E+00 -0.11388183E+00 0.77816737E+00 -0.17388149E+00 + 0.29099107E+00 0.29059123E-01 -0.37210888E+00 -0.11191851E+00 + -0.43733008E-01 0.12193084E+00 -0.32639456E+00 -0.13390854E+02 + 0.62356526E+00 0.24597547E+01 0.44970918E+01 0.85659552E+01 + 0.40355291E+01 -0.79231381E+00 -0.67203265E+00 -0.47442722E+01 + 0.21074810E+01 0.33913581E+01 -0.10161762E+00 -0.69574165E+00 + -0.32273560E+02 -0.56248398E+01 -0.58702979E+01 -0.43174982E+01 + -0.32914648E+01 0.14731911E+01 -0.84157687E+00 -0.18629676E+00 + 0.36630039E+01 -0.49589831E+00 0.42669845E+00 -0.39217407E+00 + 0.15235480E+01 -0.10364820E+00 -0.17449903E+02 -0.18375046E+02 + -0.16429413E+02 -0.42843185E+02 -0.18512325E+02 0.29954519E+01 + 0.44427662E+01 0.22331482E+02 -0.11312364E+02 -0.17385391E+02 + 0.13743352E+01 0.49287653E+01 0.35317551E+02 0.78040109E+01 + 0.22017227E+02 0.19007368E+02 0.51486940E+01 -0.32355108E+01 + -0.70289177E+00 -0.18949838E-01 -0.10833931E+02 0.30533838E+01 + -0.15614651E+01 0.34174812E+00 -0.33425491E+01 0.10955017E+03 + 0.64495300E+02 0.39307388E+02 0.21447479E+02 0.88321732E+02 + 0.36022034E+02 -0.49279385E+01 -0.11266347E+02 -0.45660416E+02 + 0.24368757E+02 0.36402847E+02 -0.37913997E+01 -0.12354782E+02 + -0.15069657E+02 -0.54928751E+01 -0.30891768E+02 -0.26297501E+02 + -0.28576374E+01 0.23907242E+01 0.27161198E+01 0.10669556E+01 + 0.12239297E+02 -0.43662004E+01 0.20293264E+01 0.21851628E+00 + 0.34469430E+01 -0.18371088E+03 -0.78854767E+02 -0.32724579E+02 + -0.86944237E+01 -0.80539780E+02 -0.31638613E+02 0.32864110E+01 + 0.12187759E+02 0.42042587E+02 -0.23398041E+02 -0.33907745E+02 + 0.42148323E+01 0.12834593E+02 0.22537870E+01 0.19722795E+01 + 0.14214871E+02 0.11752550E+02 0.97573817E-01 -0.41853246E+00 + -0.14487734E+01 -0.91950285E+00 -0.47050495E+01 0.19138947E+01 + -0.85748470E+00 -0.30080920E+00 -0.13293972E+01 0.86102798E+02 + 0.31215927E+02 0.92085867E+01 -0.52750915E+00 0.26795362E+02 + 0.10308077E+02 -0.60259056E+00 -0.47401171E+01 -0.14323978E+02 + 0.83509979E+01 0.11643826E+02 -0.16808404E+01 -0.47212677E+01 + 0.53214841E-02 0.17079000E+01 0.16235819E+01 0.33274174E-01 + -0.12954264E-01 -0.36316011E-02 0.45543168E-01 -0.43191575E-02 + -0.25532668E-01 0.89464858E-02 0.23123840E-01 0.16921321E-01 + 0.33485752E-01 -0.22577250E+00 -0.16961775E+01 0.17585012E+01 + -0.36464982E-01 -0.46494432E-01 -0.19080851E-02 -0.31143920E-01 + 0.10176011E-01 -0.69593936E-02 -0.66427360E-02 0.23588387E-02 + -0.55617541E-02 -0.19860145E-01 -0.17363092E+01 0.18277779E+01 + 0.16650457E+01 -0.48928317E-01 -0.43136492E+00 -0.47681876E-01 + 0.25482827E+00 -0.18712924E+00 0.47013283E+00 -0.17417169E+00 + 0.78237891E-01 0.10381133E+00 0.17819384E-01 -0.14371651E+01 + -0.80177718E+00 0.61360812E+00 -0.59573972E+00 0.52904451E+00 + -0.10058826E+00 0.21083134E+00 0.78204811E-01 0.61967522E-02 + 0.11077179E+00 -0.40769760E-01 0.21807816E-01 0.20648648E-02 + 0.46911736E+01 0.78173609E+01 0.12199426E+02 -0.16422653E+01 + 0.37755156E+01 -0.40263683E+00 -0.52920252E+00 -0.21391793E+00 + 0.57929236E+00 0.80246806E-01 -0.18910320E+00 -0.50804532E+00 + -0.88265944E+00 0.69275224E+00 -0.12002476E+02 0.57374411E+01 + 0.13528374E+01 0.44981871E+01 -0.47366244E+00 0.36056972E+00 + 0.79039747E+00 -0.22344507E-01 -0.64753890E-01 0.46970186E+00 + -0.40660375E+00 0.44191416E-01 0.39014664E+02 -0.28619869E+02 + -0.15200558E+01 -0.19682380E+01 0.13416007E+02 0.27089479E+01 + -0.59305797E+01 0.31192074E+01 -0.91367607E+01 0.26589973E+01 + -0.11606407E+00 -0.35579135E+01 -0.89003718E+00 0.34678040E+02 + -0.52889097E+00 -0.57936335E+01 0.87519836E+01 -0.10267423E+02 + 0.12299099E+01 -0.30112038E+01 0.11044226E+01 -0.21466112E+01 + 0.45218792E-01 0.30407922E+01 -0.71307266E+00 -0.15156336E+01 + -0.52359818E+02 -0.65902924E+02 -0.30542084E+02 0.45587654E+01 + -0.33256969E+02 0.32021561E+01 0.60264254E+01 0.39931145E+01 + -0.21957395E+01 -0.14460715E+01 -0.62892985E+00 0.19364243E+01 + 0.71591697E+01 0.99375763E+01 0.36078583E+02 -0.38465439E+02 + -0.34042757E+01 -0.46145634E+02 0.20836172E+01 -0.37764752E+01 + -0.62155056E+01 -0.36285689E+00 0.83748114E+00 -0.11298742E+01 + 0.38863552E+01 0.14642849E+01 -0.22182346E+03 0.11115141E+03 + -0.16951050E+02 0.17158339E+02 -0.61797070E+02 -0.21725037E+02 + 0.33751068E+02 -0.20662018E+02 0.52077255E+02 -0.10576082E+02 + 0.19523580E+00 0.24283321E+02 0.39174993E+01 -0.22131870E+03 + 0.17304182E+02 -0.28861008E+02 -0.44697052E+02 0.53147095E+02 + -0.61317329E+01 0.16753128E+02 -0.89905109E+01 0.20872986E+02 + -0.63277898E+01 -0.26276548E+02 0.64804440E+01 0.11094950E+02 + 0.17550494E+03 0.16372993E+03 -0.21463623E+02 0.27199810E+01 + 0.99251190E+02 -0.79424791E+01 -0.21751923E+02 -0.18336348E+02 + 0.69923621E+00 0.50953040E+01 0.72605686E+01 -0.15412291E+01 + -0.22803528E+02 -0.56229095E+02 0.14818200E+01 0.69807755E+02 + 0.33564429E+01 0.14655196E+03 -0.27966242E+01 0.12579897E+02 + 0.17929474E+02 0.43725863E+01 -0.22176218E+01 -0.37626829E+01 + -0.10943099E+02 -0.52088385E+01 0.53665625E+03 -0.20060768E+03 + 0.17310242E+02 -0.54237484E+02 0.99595352E+02 0.66468887E+02 + -0.80023056E+02 0.58134548E+02 -0.12709148E+03 0.15493524E+02 + -0.31282263E+01 -0.65706467E+02 -0.49680538E+01 0.55392432E+03 + -0.46328995E+02 0.14449484E+03 0.10233987E+03 -0.11556945E+03 + 0.13084748E+02 -0.44251144E+02 0.22732941E+02 -0.62439159E+02 + 0.21050629E+02 0.77459229E+02 -0.19942720E+02 -0.28916519E+02 + -0.23239844E+03 -0.18225693E+03 0.10545852E+03 -0.16537476E+02 + -0.12225864E+03 0.72478418E+01 0.29107880E+02 0.29596209E+02 + 0.43757658E+01 -0.56305580E+01 -0.14893910E+02 -0.16775293E+01 + 0.30470701E+02 0.95573685E+02 -0.82114166E+02 -0.54173035E+02 + -0.28702698E+01 -0.18174020E+03 -0.33480752E+00 -0.15407215E+02 + -0.20705091E+02 -0.86905785E+01 0.13393048E+01 0.11856749E+02 + 0.11862598E+02 0.56412411E+01 -0.58746802E+03 0.17872774E+03 + 0.44170807E+02 0.71773788E+02 -0.55947525E+02 -0.85275742E+02 + 0.84508286E+02 -0.71050827E+02 0.13868575E+03 -0.73421702E+01 + 0.69255681E+01 0.76826965E+02 0.51061606E+00 -0.58909229E+03 + 0.41609573E+02 -0.19081409E+03 -0.10350249E+03 0.11202155E+03 + -0.11497140E+02 0.53446167E+02 -0.24178513E+02 0.73052414E+02 + -0.24337906E+02 -0.93695747E+02 0.24911682E+02 0.31728121E+02 + 0.10805178E+03 0.77080933E+02 -0.67569351E+02 0.11093395E+02 + 0.53251942E+02 -0.18096046E+01 -0.12874348E+02 -0.15589550E+02 + -0.36182413E+01 0.18153867E+01 0.87414274E+01 0.19512452E+01 + -0.14214748E+02 -0.53066940E+02 0.58636520E+02 0.16770859E+02 + 0.15051440E+01 0.77045029E+02 0.18778744E+01 0.61496325E+01 + 0.81532841E+01 0.46847639E+01 0.32412457E+00 -0.78524046E+01 + -0.42911911E+01 -0.19247580E+01 0.23769147E+03 -0.61533981E+02 + -0.47820068E+02 -0.34214539E+02 0.40193148E+01 0.38487625E+02 + -0.32399445E+02 0.30905640E+02 -0.55419479E+02 -0.24066786E+00 + -0.41797304E+01 -0.32275726E+02 0.15222616E+01 0.22423344E+03 + -0.12581700E+02 0.80397064E+02 0.37280334E+02 -0.41082153E+02 + 0.31536262E+01 -0.23678225E+02 0.94953613E+01 -0.29353226E+02 + 0.94907122E+01 0.40155743E+02 -0.10989324E+02 -0.12388154E+02 + 0.20844081E-01 -0.80697119E-01 0.30533599E-01 -0.64598644E+00 + -0.16657440E+00 -0.21123191E-01 0.92248209E-02 -0.25574602E-02 + -0.73007606E-02 0.12166508E-01 -0.12164735E-01 0.68045147E-02 + -0.77586402E-02 -0.69821604E-01 0.10285665E-01 0.30625435E-01 + 0.12556809E+00 -0.77144939E+00 0.14403919E-01 0.32232672E-02 + -0.18554740E-01 0.41907094E-02 -0.10089986E-02 0.43220967E-02 + 0.18566685E-02 -0.25719404E-01 -0.36431217E+00 -0.18156898E+00 + -0.11474407E+00 0.64775425E+00 0.20361812E+00 0.58565475E-02 + -0.85165560E-01 -0.11972089E+00 -0.25655258E+00 -0.12931144E+00 + -0.37106670E-01 -0.15892605E+00 -0.45120209E-01 0.10515985E+01 + 0.61001372E+00 0.23907983E+00 -0.96539229E+00 0.35442737E+00 + -0.22381258E+00 0.19057482E+00 -0.75943321E-02 0.47220100E-01 + -0.86490214E-02 0.44078577E-01 -0.37896220E-01 -0.78807138E-02 + 0.27450144E+00 -0.69624442E+00 -0.14316444E+01 0.18575619E+01 + 0.37408111E+01 -0.57409221E+00 -0.48675665E+00 0.22489710E+00 + -0.55995405E-01 0.24701400E+00 0.39949957E-01 0.95097050E-02 + 0.15562671E+00 0.29598873E+01 -0.22428036E+01 0.16291960E+01 + -0.38134632E+01 0.55432539E+01 -0.76043952E+00 -0.81076157E+00 + 0.97178990E+00 0.18208522E+00 -0.16950764E-01 0.58102113E+00 + -0.36130011E+00 0.14220279E+00 0.34898541E+01 0.21215763E+01 + 0.22773733E+01 -0.46729574E+01 0.32191401E+01 0.10207691E+01 + 0.40245906E+00 0.71286887E+00 0.25590410E+01 0.10251751E+01 + -0.47245732E+00 0.82578123E+00 -0.63747823E-01 -0.69263587E+01 + -0.71795802E+01 0.26847792E+01 0.42841091E+01 -0.33002298E+01 + 0.25364313E+01 -0.16150084E+01 0.56352544E+00 0.55770433E+00 + 0.44689545E+00 -0.62278980E+00 -0.38403079E+00 -0.24888089E+00 + -0.28185654E+01 0.10438053E+02 0.53413091E+01 0.12666808E+02 + 0.10997744E+02 0.27631533E+01 0.28622415E+01 -0.12079479E+01 + 0.16985101E+01 -0.21927738E+01 0.75003195E+00 0.98793447E-01 + -0.10628949E+01 -0.15150088E+02 0.23410826E+02 -0.12058938E+02 + -0.97661982E+01 -0.59994440E+01 0.12919569E+01 0.10240660E+01 + -0.46654778E+01 -0.17236118E+01 0.58620757E+00 -0.33529606E+01 + 0.26049087E+01 -0.11627923E+00 -0.76791868E+01 -0.53989239E+01 + -0.93963966E+01 0.89348898E+01 -0.13714699E+02 -0.40793180E+01 + -0.13703756E+01 -0.11329165E+01 -0.66214285E+01 -0.19741460E+01 + 0.19676807E+01 -0.15802439E+01 0.74486417E+00 0.10005783E+02 + 0.22066393E+02 -0.93126631E+01 -0.34220304E+01 0.73809199E+01 + -0.56643806E+01 0.28039863E+01 -0.20841558E+01 -0.25536554E+01 + -0.20768547E+01 0.14609889E+01 0.22773333E+01 0.10445652E+01 + 0.88902111E+01 -0.21831713E+02 -0.75236998E+01 -0.45947891E+02 + -0.52254837E+02 -0.43777103E+01 -0.65832410E+01 0.27934113E+01 + -0.51957226E+01 0.45358448E+01 -0.29035003E+01 -0.80293536E+00 + 0.31588888E+01 0.30450516E+02 -0.57946453E+02 0.24090500E+02 + 0.50759995E+02 -0.16110199E+02 0.35295737E+01 0.28397503E+01 + 0.93683434E+01 0.46508341E+01 -0.98472542E+00 0.71794257E+01 + -0.56259937E+01 0.42344132E+00 0.37496376E+01 0.41398544E+01 + 0.89929867E+01 -0.21592083E+01 0.15710482E+02 0.37366180E+01 + 0.12688894E+01 0.56009918E+00 0.45878363E+01 0.10043669E+01 + -0.15857162E+01 0.11541929E+01 -0.63341981E+00 -0.16841688E+01 + -0.19766066E+02 0.61021028E+01 -0.47736244E+01 -0.30741682E+01 + 0.37985227E+01 -0.14054888E+01 0.19982290E+01 0.24144678E+01 + 0.21827765E+01 -0.78220946E+00 -0.24638700E+01 -0.81352621E+00 + -0.86120291E+01 0.12768568E+02 0.40449324E+01 0.35735748E+02 + 0.45281525E+02 0.14536484E+01 0.48580322E+01 -0.21178226E+01 + 0.40526733E+01 -0.26759615E+01 0.23512812E+01 0.86008638E+00 + -0.27273741E+01 -0.23491455E+02 0.42392090E+02 -0.13589549E+02 + -0.45290329E+02 0.22402477E+02 -0.52239590E+01 -0.39634600E+01 + -0.66355686E+01 -0.30386248E+01 0.24522118E+00 -0.52094822E+01 + 0.38612597E+01 -0.76240206E+00 -0.14890508E+00 -0.24325430E-01 + -0.38893390E-01 0.66723585E-01 0.59333671E-01 -0.36929661E+00 + -0.60848284E+00 0.94836205E-02 0.54205763E-02 -0.15333357E-01 + -0.11106117E-02 0.22575625E-02 0.23593076E-02 -0.22660283E-01 + 0.45373969E-01 0.50671659E-01 -0.36677148E-01 0.63135207E-01 + 0.61916250E+00 -0.39381257E+00 -0.22737507E-01 0.37895910E-01 + -0.11128757E-01 -0.91112591E-02 -0.10985606E-01 0.15489354E-01 + -0.22802022E+00 0.26512158E+00 -0.22216138E+00 0.10585244E+00 + -0.16293722E+00 -0.69953334E+00 -0.20355964E+00 0.23573790E-01 + 0.29221946E-01 -0.58141429E-01 -0.10479218E+00 0.38031030E-01 + 0.34238581E-01 -0.32278049E+00 0.10433109E+00 -0.70636094E-01 + -0.45763809E-01 0.49903281E-01 0.49318543E+00 -0.80187607E+00 + -0.83227634E-01 0.23710171E-01 -0.30420637E-01 -0.10782067E-01 + 0.52331042E-01 0.40990692E-01 0.75721163E+00 -0.10054684E+00 + -0.43790364E+00 0.35622925E-01 -0.68008202E+00 0.13344153E+01 + 0.10325203E+01 0.21211478E+00 -0.52811492E-01 0.58822643E-01 + -0.29041560E-01 0.13278133E+00 0.60832471E-01 -0.51921064E+00 + 0.73404193E-01 -0.14045805E+00 0.56511676E+00 -0.10780087E+01 + -0.90128416E+00 0.18347826E+01 0.23589997E-01 0.19664788E+00 + 0.10371150E+00 0.16768134E+00 0.25422746E+00 -0.27516479E-01 + 0.47642750E+00 -0.12712888E+01 0.50919580E+00 -0.37558299E-01 + 0.41861004E+00 0.72344553E+00 0.58304828E+00 -0.37630741E-01 + -0.21993767E-01 0.15301681E+00 0.14597134E+00 -0.88676035E-01 + -0.34135389E-02 0.10227041E+01 -0.10414064E+00 0.21676075E+00 + -0.18772216E+00 0.27981550E+00 -0.11495647E+01 0.94243646E+00 + 0.13660997E+00 -0.18090218E+00 0.32121956E-01 0.75706482E-01 + -0.24605010E+00 -0.13862634E+00 -0.76268691E+00 0.10962811E+01 + 0.10399638E+01 0.96028931E-01 0.77267742E+00 -0.18069419E+01 + -0.60100138E+00 -0.48312187E+00 -0.72206438E-01 0.13322053E-02 + -0.17916759E-01 -0.28112435E+00 -0.19206631E-02 0.68990117E+00 + -0.17288911E+00 0.42733532E+00 -0.42356348E+00 0.20443859E+01 + 0.25324249E+00 -0.22968807E+01 0.21025424E+00 -0.64606422E+00 + -0.20289104E+00 -0.37085348E+00 -0.52354544E+00 -0.47585368E-01 + 0.59121333E-01 0.75014154E-02 0.32973830E-01 0.16474612E-01 + 0.32099038E-02 0.20523885E-01 0.14850209E-01 0.15989558E+00 + -0.22012539E+00 0.11682351E-01 0.37532365E-02 0.28839896E-02 + 0.90501495E-02 0.25123443E-01 -0.54974113E-01 -0.40254004E-01 + -0.64294338E-01 0.18476808E-01 0.54143369E-02 0.26773553E-01 + 0.22185428E+00 0.18453132E+00 0.40824944E-03 -0.20066461E-01 + 0.10584317E-01 -0.42071901E-02 -0.11119862E-01 -0.84521770E-01 + -0.72065473E-01 -0.10357255E+00 0.25481066E-01 -0.31697039E-01 + -0.34495179E-01 -0.12500072E+00 -0.29316074E+00 -0.50189231E-01 + 0.20690961E-01 0.20984368E-01 0.46142556E-01 0.31204319E-02 + -0.15957630E+00 -0.45523684E-01 0.11955297E-02 0.21015655E-01 + 0.35082825E-01 -0.32445975E-01 0.22741143E+00 -0.11440505E+00 + 0.16439868E-01 -0.42733327E-02 0.36579225E-01 -0.35476536E-01 + 0.20448798E-01 0.88741958E-01 -0.45464959E-01 -0.15399727E-01 + 0.49765371E-01 -0.19545292E-01 0.20340795E-01 -0.11448290E-01 + 0.21605458E-01 0.11625880E+00 0.15443806E+00 -0.68518184E-02 + 0.68731946E-02 0.44177953E-01 0.17190438E-01 -0.34843344E-01 + -0.55796959E-01 -0.18618047E-01 -0.13446326E-02 -0.13807907E-01 + 0.16442720E-01 -0.63370585E-01 -0.13994680E+00 0.10775572E+00 + 0.18059419E-01 -0.11631263E-02 0.56581873E-01 -0.43296669E-01 + 0.87594800E-02 -0.19183893E-01 0.22148753E-01 0.16138325E-01 + 0.35961125E-01 0.62827729E-02 -0.29091935E-02 0.17914118E-01 + 0.23472056E-01 -0.40293448E-01 0.52220736E-01 -0.28325748E-01 + 0.18121799E-01 -0.55669229E-01 -0.43550450E-01 -0.41511983E-01 + 0.28219912E-03 -0.45169748E-01 0.30541521E-01 -0.75302450E-02 + 0.11561215E-01 -0.71855858E-02 -0.42805452E-01 -0.74895382E-01 + -0.40362079E-01 0.39089802E-02 -0.43586571E-01 -0.13430197E-01 + 0.19074352E-01 -0.14927470E-02 -0.83385855E-02 0.12412880E-01 + -0.39789900E-02 -0.93350485E-02 0.31809625E-03 0.69165081E-02 + 0.16948409E-01 0.40239397E-01 0.21818380E-02 -0.23886045E-01 + -0.19706257E-02 0.17834106E-01 0.75256266E-02 -0.88512674E-02 + 0.25555318E-01 0.24699422E-01 -0.68906401E-02 -0.15585790E-02 + 0.12531396E-01 -0.15920259E-01 0.71578026E-01 0.36469545E-01 + -0.18202314E-01 0.23860380E-01 -0.15428271E-02 -0.31324875E-01 + 0.12997809E-01 0.49806461E-02 -0.13169400E-01 0.15163812E-01 + 0.45059994E-02 0.96705593E-02 0.32339197E-01 -0.71236551E-01 + 0.24793786E-03 0.38303077E-01 0.23001377E-01 -0.34666590E-02 + 0.19711128E-01 0.14156576E-01 -0.15163545E-02 0.14914330E-01 + -0.16906055E-01 0.68336162E-02 0.72287619E-02 -0.10352530E-01 + 0.84432192E+01 -0.17606992E-01 -0.12995031E-01 0.30051457E-01 + 0.45477945E-01 0.12136348E-01 -0.20886989E-01 -0.25218518E-01 + 0.38802756E-02 0.50634779E-02 0.17426118E-01 -0.19343944E-01 + 0.21120736E-01 0.13067626E+01 -0.19031614E+00 -0.47110277E+00 + 0.15309572E+00 -0.25000983E+00 -0.21639533E+00 0.13572133E+00 + 0.16442589E-01 0.29920632E+00 -0.35695665E-01 0.72213779E-02 + 0.36948244E-03 -0.19350249E+00 0.20192822E+02 0.10371314E+00 + -0.12936906E+01 -0.47384897E+00 0.43617851E+00 -0.88357633E+00 + 0.84384918E+00 0.40130624E+00 -0.24254838E+00 0.19504283E+00 + -0.32403553E+00 0.68768030E+00 -0.70447677E+00 0.10385976E+02 + 0.26844604E+01 0.91865940E+01 -0.28847568E+01 0.69040632E+01 + 0.30880928E+01 -0.16791334E+01 -0.77926904E+00 -0.40792050E+01 + 0.16587725E+01 0.11048365E+01 0.56877960E-01 0.26553493E+01 + -0.94894257E+02 -0.74020922E+00 0.97572689E+01 -0.13988618E+01 + -0.48308020E+01 0.61252832E+01 -0.29142206E+01 -0.31117847E+01 + 0.10199929E+01 -0.25860062E+01 0.15488663E+01 -0.52199421E+01 + 0.62431126E+01 -0.15947099E+03 -0.33153687E+02 -0.38277393E+02 + 0.16296082E+02 -0.37176071E+02 -0.16504715E+02 0.97844954E+01 + 0.60243282E+01 0.18602615E+02 -0.88784885E+01 -0.70023069E+01 + -0.85667688E+00 -0.10270858E+02 0.14434689E+03 0.40043659E+01 + -0.22543152E+02 0.10819620E+02 0.13452056E+02 -0.14324648E+02 + 0.14989967E+01 0.83210297E+01 -0.11521397E+01 0.86834040E+01 + -0.32280767E+01 0.13568054E+02 -0.17570890E+02 0.46371680E+03 + 0.11013431E+03 0.54929169E+02 -0.38762985E+02 0.82882599E+02 + 0.38311661E+02 -0.25024157E+02 -0.15210931E+02 -0.36635258E+02 + 0.18874268E+02 0.14921486E+02 0.31062038E+01 0.17111542E+02 + -0.10361340E+03 -0.10559740E+02 0.20353821E+02 -0.17083008E+02 + -0.12879773E+02 0.13625261E+02 0.28179274E+01 -0.85639162E+01 + -0.39836457E+00 -0.10996530E+02 0.32205973E+01 -0.14092369E+02 + 0.19663300E+02 -0.51334302E+03 -0.13410316E+03 -0.27003067E+02 + 0.40749176E+02 -0.81037048E+02 -0.38719090E+02 0.27226254E+02 + 0.15593899E+02 0.32171307E+02 -0.18132612E+02 -0.12962886E+02 + -0.39625752E+01 -0.13030040E+02 0.30432692E+02 0.74267564E+01 + -0.65251379E+01 0.81919823E+01 0.35932455E+01 -0.45463295E+01 + -0.21767292E+01 0.29457209E+01 0.77555543E+00 0.47232056E+01 + -0.12480307E+01 0.50437913E+01 -0.76494975E+01 0.19720856E+03 + 0.54842209E+02 0.14811363E+01 -0.15508769E+02 0.28584122E+02 + 0.13968619E+02 -0.10371296E+02 -0.56411085E+01 -0.10385418E+02 + 0.65630751E+01 0.39054108E+01 0.16419486E+01 0.37288153E+01 + 0.73617697E-01 0.15868282E+01 0.15948018E+01 -0.51909208E-01 + 0.10965754E+00 0.42061005E-01 0.86369067E-02 -0.35956562E-01 + -0.24439633E-01 0.13813863E-01 0.33473484E-01 -0.12541714E-01 + 0.13831582E-01 -0.22122268E+00 -0.16716870E+01 0.17568768E+01 + -0.10806261E+00 -0.60551725E-01 0.32627717E-01 -0.40097754E-01 + 0.32800335E-01 -0.22351673E-01 -0.30436331E-01 0.85034929E-02 + 0.44959597E-02 -0.57923377E-01 -0.13319710E+01 0.20320992E+00 + 0.28417444E+01 -0.26053953E+00 0.41736744E-01 0.48073849E+00 + 0.30752099E+00 0.27773428E+00 0.58028370E+00 -0.27988780E+00 + 0.20987780E+00 0.21454687E+00 -0.21824504E+00 -0.32366133E+00 + -0.18102025E+01 0.73649567E+00 -0.12784365E+01 0.13987559E+00 + 0.29401946E+00 -0.11734487E+00 0.30285734E+00 0.47187988E-01 + -0.40725452E+00 0.69726706E-01 -0.14392922E-01 -0.16440731E+00 + 0.43222733E+01 0.25277065E+02 -0.94375877E+01 0.12424450E+01 + 0.19729581E-01 -0.89677179E+00 -0.36436403E+00 0.90389621E+00 + -0.13076816E+00 0.15358768E+00 -0.36496457E+00 0.83983088E+00 + -0.97137809E-01 -0.39563198E+01 0.94551935E+01 0.17336027E+02 + 0.19375324E+01 0.29811149E+01 0.36434084E+00 0.96826065E+00 + 0.76319695E-01 0.63908470E+00 0.66578782E+00 -0.31862479E+00 + -0.63156575E+00 0.88741779E-01 0.31899078E+02 0.26338455E+02 + -0.26924988E+02 -0.28954153E+01 0.11245871E+01 -0.62383065E+01 + -0.71671295E+01 -0.44009342E+01 -0.11893279E+02 0.59641714E+01 + -0.12007704E+01 -0.48183508E+01 0.41470280E+01 0.29249303E+01 + 0.10189669E+02 0.64222164E+01 0.16846100E+02 -0.56195574E+01 + -0.38048904E+01 0.29024999E+01 -0.38915317E+01 -0.16548052E+01 + 0.71972713E+01 0.18794575E+01 0.20752628E+00 0.15136870E+01 + -0.47960709E+02 -0.14527844E+03 0.13558260E+03 -0.15012978E+02 + -0.89980879E+01 0.33358765E+01 0.65263829E+01 -0.57562590E+01 + 0.23737574E+01 -0.32089405E+01 0.66337514E+00 -0.98810377E+01 + -0.12185402E+01 0.54375408E+02 -0.13382069E+03 -0.69432632E+02 + -0.15594944E+02 -0.28076584E+02 -0.55643234E+01 -0.81322346E+01 + -0.26028937E+00 -0.52387094E+01 -0.39641640E+01 0.58208842E+01 + 0.58059583E+01 0.43214092E+01 -0.18676459E+03 -0.16449844E+03 + 0.18679526E+03 0.44028061E+02 0.67239270E+01 0.20764875E+02 + 0.43572433E+02 0.15105405E+02 0.72933273E+02 -0.35417358E+02 + -0.33102429E+01 0.33491135E+02 -0.28131254E+02 0.13132271E+02 + -0.71697983E+02 -0.14838393E+02 -0.88297775E+02 0.35739059E+02 + 0.24429443E+02 -0.19637222E+02 0.15767019E+02 0.12106134E+02 + -0.38460907E+02 -0.17444714E+02 -0.57627004E+00 -0.71105013E+01 + 0.16358971E+03 0.30532544E+03 -0.45578516E+03 0.51725407E+02 + 0.42051998E+02 -0.12835168E+01 -0.28778364E+02 0.11572843E+02 + -0.11792857E+02 0.97184315E+01 0.28023021E+01 0.34010326E+02 + 0.76306806E+01 -0.19060995E+03 0.45207544E+03 0.60605190E+02 + 0.49964783E+02 0.83181351E+02 0.17889481E+02 0.23796246E+02 + -0.10524483E+01 0.17759962E+02 0.98242826E+01 -0.24883148E+02 + -0.17036592E+02 -0.18363981E+02 0.47393289E+03 0.36210422E+03 + -0.54417676E+03 -0.15719067E+03 -0.48869659E+02 -0.19227539E+02 + -0.11137080E+03 -0.14016640E+02 -0.18484474E+03 0.86145981E+02 + 0.26243608E+02 -0.93299728E+02 0.76153839E+02 -0.10607855E+03 + 0.18373106E+03 -0.71254372E+02 0.21552979E+03 -0.88725647E+02 + -0.66744751E+02 0.48730530E+02 -0.28787106E+02 -0.34096436E+02 + 0.84370392E+02 0.52670151E+02 -0.46487325E+00 0.18449722E+02 + -0.22080928E+03 -0.29196875E+03 0.61042773E+03 -0.71494476E+02 + -0.68313873E+02 -0.85744400E+01 0.44273830E+02 -0.82676735E+01 + 0.20448517E+02 -0.80523005E+01 -0.84449396E+01 -0.45622375E+02 + -0.12797120E+02 0.25156477E+03 -0.59986981E+03 0.34923367E+02 + -0.63288605E+02 -0.98415482E+02 -0.20724581E+02 -0.28114670E+02 + 0.44651842E+01 -0.23789309E+02 -0.11882714E+02 0.37959538E+02 + 0.19314938E+02 0.25713852E+02 -0.54166943E+03 -0.33657813E+03 + 0.70614551E+03 0.21372903E+03 0.80236282E+02 -0.66625934E+01 + 0.12710116E+03 -0.65174899E+01 0.20572482E+03 -0.91904800E+02 + -0.43451691E+02 0.11079333E+03 -0.87262207E+02 0.19350168E+03 + -0.21782204E+03 0.19717970E+03 -0.23897548E+03 0.95249496E+02 + 0.76332977E+02 -0.49345139E+02 0.26176374E+02 0.39268753E+02 + -0.81754929E+02 -0.66510437E+02 0.24783337E+01 -0.23144760E+02 + 0.10398346E+03 0.10713031E+03 -0.28724731E+03 0.34307175E+02 + 0.36974197E+02 0.81658230E+01 -0.22095411E+02 0.13036776E+01 + -0.11200825E+02 0.97571474E+00 0.54882069E+01 0.21151993E+02 + 0.67120991E+01 -0.11383264E+03 0.27709839E+03 -0.45287552E+02 + 0.26823547E+02 0.40176468E+02 0.79526615E+01 0.11477461E+02 + -0.35184114E+01 0.10715306E+02 0.56945724E+01 -0.19063520E+02 + -0.72694082E+01 -0.11852451E+02 0.22522437E+03 0.11369880E+03 + -0.33281445E+03 -0.10020544E+03 -0.39448944E+02 0.11468914E+02 + -0.53004150E+02 0.10001610E+02 -0.83203133E+02 0.35805695E+02 + 0.21695694E+02 -0.46803162E+02 0.35515350E+02 -0.10584344E+03 + 0.98553574E+02 -0.12213637E+03 0.96482056E+02 -0.38166553E+02 + -0.30556108E+02 0.17174088E+02 -0.97377214E+01 -0.15434035E+02 + 0.29186674E+02 0.30085253E+02 -0.17299672E+01 0.10782919E+02 + -0.27865283E-01 -0.14160953E+00 -0.46167344E-01 -0.83359635E+00 + 0.54028988E+00 0.17667169E-01 -0.23999680E-02 -0.50582860E-01 + -0.34205619E-01 0.24929952E-01 -0.20637266E-01 -0.54828972E-02 + -0.16638442E-02 -0.99061310E-01 -0.61199148E-02 0.16169675E-01 + -0.50423771E+00 -0.87746030E+00 -0.14626429E-02 0.91258921E-02 + 0.41810907E-01 0.27339894E-02 -0.15622666E-02 0.32905261E-02 + 0.18039156E-01 -0.38937837E-01 -0.11977397E+00 -0.37973851E-01 + 0.51543677E+00 -0.18759679E+01 0.63566899E+00 0.28123093E+00 + -0.29566634E+00 -0.18840618E-01 -0.36266062E-01 -0.26874977E+00 + -0.17266949E+00 0.10599524E-01 -0.83736897E-01 0.49956435E+00 + 0.68339938E+00 0.18975423E+00 -0.11983262E+01 -0.20601561E+01 + 0.58113430E-01 0.15165168E+00 0.12512308E+00 0.19267316E+00 + -0.55146992E-01 0.15980951E+00 0.82305312E-01 -0.42632777E-01 + 0.23057375E+01 0.76537257E+00 0.43733454E+01 -0.50523310E+01 + 0.28448105E+01 0.51284903E+00 -0.16459599E+01 0.74293798E+00 + 0.66224158E-01 -0.41510162E+00 0.26375908E+00 0.37355471E+00 + -0.17590468E+00 0.11372099E+01 -0.12647939E+00 0.25441616E+01 + -0.39932528E+01 -0.41477356E+01 0.13616856E+01 -0.13583241E+00 + -0.12699012E+01 -0.66975020E-02 -0.43774168E-02 0.72404754E+00 + -0.79435599E+00 0.15491712E+00 0.19683876E+01 0.29083941E+01 + -0.72367458E+01 0.59465561E+01 -0.19175699E+01 -0.14585570E+01 + 0.16693544E+01 -0.56365871E+00 0.17722520E+01 0.32326117E+01 + 0.53729033E+00 -0.88220710E+00 -0.56293684E+00 -0.41296844E+01 + -0.31065302E+01 0.19166174E+01 0.91364346E+01 0.66980743E+01 + 0.77398407E+00 -0.30196124E+00 -0.13194684E+01 -0.16660861E+01 + 0.88819361E+00 -0.11270266E+01 -0.17106762E+01 0.95284760E-01 + -0.11591568E+02 0.10206954E+02 -0.44386230E+02 0.47346344E+02 + -0.79038382E+00 -0.90883474E+01 0.11115670E+02 -0.19898727E+01 + 0.37733057E+00 0.13326263E+01 -0.29739463E+00 -0.21107409E+01 + 0.19746448E+01 -0.77565370E+01 0.19142866E+02 -0.19318726E+02 + 0.79751487E+01 0.45732677E+02 -0.11700180E+02 -0.21409185E+01 + 0.95194101E+01 -0.12891825E+01 -0.70309067E+00 -0.49068880E+01 + 0.54949455E+01 0.72287112E+00 -0.51350603E+01 -0.88256531E+01 + 0.16213120E+02 -0.95362787E+01 -0.49770889E+01 0.10020866E+01 + -0.38989055E+01 0.27658882E+01 -0.65731020E+01 -0.83604736E+01 + -0.15559012E+00 0.25949469E+01 0.29289787E+01 0.96731539E+01 + 0.52264996E+01 -0.65303121E+01 -0.14551663E+02 -0.86602287E+01 + -0.16371937E+01 -0.16511115E+01 0.34544618E+01 0.35504465E+01 + -0.31492510E+01 0.25533752E+01 0.52310610E+01 -0.48787493E-01 + 0.20374847E+02 -0.30132751E+02 0.10810121E+03 -0.10528986E+03 + -0.18006439E+02 0.24039797E+02 -0.24310305E+02 0.27824402E+01 + -0.91876066E+00 -0.13190975E+01 -0.37454164E+00 0.39671352E+01 + -0.47484903E+01 0.22527529E+02 -0.60154236E+02 0.38476715E+02 + 0.45293003E+00 -0.10749376E+03 0.29633497E+02 0.56231308E+01 + -0.19200821E+02 0.49150085E+01 0.26779366E+01 0.99957170E+01 + -0.12485247E+02 -0.21405020E+01 0.15377274E+01 0.74568510E+01 + -0.10354220E+02 0.10922907E+02 0.13785338E+02 0.83337110E+00 + 0.27636354E+01 -0.27910290E+01 0.50508103E+01 0.60138636E+01 + -0.15283442E+00 -0.17226228E+01 -0.27341881E+01 -0.54970150E+01 + -0.42347345E+01 0.50668464E+01 0.30705661E+00 0.80789337E+01 + 0.52706480E+00 0.30988748E+01 -0.23904352E+01 -0.23165932E+01 + 0.27464485E+01 -0.15124301E+01 -0.44464521E+01 0.11784692E+00 + -0.12952716E+02 0.21251144E+02 -0.73948395E+02 0.71904922E+02 + 0.22982941E+02 -0.17152084E+02 0.16589584E+02 -0.19711390E+01 + 0.14029668E+00 0.53307498E+00 0.45210415E+00 -0.22865255E+01 + 0.31447535E+01 -0.21541489E+02 0.48531139E+02 -0.20743685E+02 + -0.97520981E+01 0.76132248E+02 -0.22496305E+02 -0.30357063E+01 + 0.11248891E+02 -0.39207582E+01 -0.22813702E+01 -0.63165541E+01 + 0.86511211E+01 0.12434311E+01 -0.15622103E+00 -0.59632380E-01 + -0.90208650E-01 0.19414157E-01 0.73269010E-01 -0.56129467E+00 + -0.63541585E+00 -0.16588993E-01 -0.34606468E-01 -0.21938423E-02 + -0.21088142E-01 -0.10219838E-01 0.62936135E-02 0.10229759E+00 + 0.31424814E-02 0.12619577E+00 -0.10478984E-01 0.10643310E+00 + 0.63880980E+00 -0.58100116E+00 -0.80984813E-03 -0.32982638E-02 + -0.10336743E-01 -0.12900263E-01 -0.13739295E-01 0.22639142E-01 + 0.11596614E+00 0.24706095E+00 -0.15466779E+00 -0.18783575E+00 + -0.65919518E-01 -0.62681043E+00 -0.66545188E+00 0.32444052E-01 + 0.13160098E+00 0.13321730E-01 -0.10927582E+00 0.71161747E-01 + 0.11962272E-01 -0.13758808E+00 -0.70412159E-01 0.23057576E+00 + -0.63733459E-01 -0.23197371E-02 0.77353519E+00 -0.66607165E+00 + -0.11856483E+00 0.19452100E+00 0.44829208E-01 0.53664814E-02 + 0.81992805E-01 -0.22440353E-01 0.17074039E+01 0.56844890E+00 + -0.19279140E+00 -0.48811179E+00 -0.82032901E+00 0.17906553E+01 + 0.46447378E+00 0.62934273E+00 0.11496824E+00 0.72347283E-01 + 0.16785286E+00 0.25202709E+00 0.64511716E-01 -0.21264601E+01 + 0.78551662E+00 -0.27990741E+00 0.20393796E+00 -0.17369803E+01 + -0.49138680E+00 0.25081100E+01 -0.13376951E+00 0.84815377E+00 + 0.67785092E-01 -0.21081494E-01 0.27407336E+00 -0.19572496E+00 + 0.22916570E+00 -0.89228177E+00 0.14403731E+00 0.62578565E+00 + 0.42053264E-01 -0.14299738E+00 0.10011272E+01 -0.10695213E+00 + -0.26902199E+00 0.31509314E-01 0.18015152E+00 -0.22677259E+00 + 0.45944665E-01 0.78097397E+00 0.17563754E+00 -0.79983294E+00 + -0.23202593E-01 0.51307887E+00 -0.12497673E+01 0.63095033E-01 + 0.27101773E+00 -0.64966005E+00 -0.12470670E+00 0.57328969E-01 + -0.25540155E+00 0.30125933E-01 -0.36262932E+01 0.51153998E-04 + 0.65369076E+00 0.12630243E+01 0.59161860E+00 -0.33515158E+01 + 0.12459384E+00 -0.92280024E+00 0.16300046E+00 -0.98683946E-02 + -0.39698187E+00 -0.33663473E+00 -0.30247193E-01 0.35409753E+01 + -0.94228369E+00 0.59330601E+00 -0.47572304E-01 0.26288929E+01 + -0.11341673E+00 -0.40985451E+01 0.55726737E+00 -0.15782919E+01 + -0.92821479E-01 -0.86877584E-01 -0.41220182E+00 0.23814104E+00 + 0.40369987E-01 0.69174051E-01 0.90490915E-02 0.33020664E-01 + 0.11527483E-01 0.12345884E-01 0.26705261E-01 0.19554184E+00 + -0.36173040E+00 0.22097258E-01 -0.12866686E-01 0.62658112E-02 + 0.24714431E-01 0.16548367E-01 -0.36080949E-01 -0.25610084E-01 + -0.21156788E-01 0.43353237E-01 -0.31337325E-01 0.13042551E-01 + 0.34459084E+00 0.21506377E+00 0.16185859E-01 -0.13301041E-01 + 0.14696218E-01 0.17140716E-01 0.11640609E+00 -0.35488158E-01 + -0.61050300E-01 -0.10260254E+00 0.45410369E-01 -0.78796074E-02 + -0.90719387E-02 -0.14850968E+00 -0.58185768E+00 -0.61733756E-01 + -0.32026162E-02 0.21957424E-01 0.52263442E-01 0.55307172E-01 + -0.17401585E-01 -0.41585356E-01 0.76646626E-01 -0.57702400E-02 + -0.12208955E+00 0.50012428E-01 0.47269493E+00 0.20059487E-02 + 0.50178029E-01 -0.18123775E-02 0.58514785E-01 -0.23311082E-01 + 0.39524499E-01 0.80552042E-01 -0.42998645E-01 0.16749270E-01 + 0.31579152E-01 -0.44717081E-02 -0.84887660E-03 -0.49433589E-01 + 0.10765206E-01 0.21353498E+00 0.13728052E+00 -0.10284929E-01 + 0.20548500E-01 0.99338472E-01 0.17302404E-02 0.41451101E-04 + -0.84679365E-01 -0.11557482E-01 -0.22574198E-01 -0.23921097E-01 + -0.82226358E-02 -0.69644861E-01 -0.13849449E+00 0.20419700E+00 + 0.16953167E-01 0.82117133E-02 0.72829008E-01 -0.41823316E-01 + 0.10375716E-01 -0.56614611E-01 0.41825403E-01 0.20270184E-01 + 0.12032609E-01 -0.24085417E-01 -0.12075845E-01 0.61627734E-02 + 0.59546161E-01 -0.69685983E-02 0.10623485E+00 0.54462729E-02 + -0.64947754E-02 -0.79987012E-02 -0.12688860E-01 -0.63994944E-01 + -0.21709124E-01 -0.43794498E-01 0.31835441E-01 -0.27470827E-01 + -0.70910007E-02 0.91979466E-02 -0.11307490E+00 -0.22885030E-01 + -0.13536140E-01 0.18244114E-01 -0.90564966E-01 0.45806579E-02 + 0.17037231E-01 0.58723767E-02 -0.15382155E-01 -0.81376947E-03 + -0.10111790E-01 -0.13766922E-01 0.88332891E-02 -0.10245700E-01 + 0.28617419E-02 0.21085771E-01 0.25080673E-01 -0.33543896E-01 + 0.24984222E-01 -0.45952462E-01 -0.19729603E-01 0.25285017E-01 + 0.50980870E-01 -0.13921152E-01 -0.91980696E-02 0.12159725E-01 + -0.17162612E-03 -0.10890554E-01 0.40087324E-01 0.82861662E-01 + -0.52096926E-01 -0.26000412E-01 -0.59353504E-01 -0.32921359E-01 + 0.14816161E-01 -0.14302544E-01 -0.12839499E-01 0.24855362E-01 + -0.25451362E-01 0.88601559E-03 0.27688907E-01 -0.54229580E-01 + 0.40404368E-01 0.11072409E+00 0.53175785E-01 -0.27590901E-01 + 0.21070372E-01 0.30208081E-01 0.12800894E-01 0.44277795E-02 + -0.28233778E-01 0.11693152E-02 0.20908633E-01 -0.11176487E-01 + 0.30831585E+01 0.36423465E-02 0.95374249E-02 -0.43797642E-02 + -0.18526373E-02 0.12529453E-02 -0.21983865E-02 0.29568165E-03 + 0.14598125E-02 0.46192217E+00 0.57096803E-03 0.68593979E-01 + 0.65610945E-01 -0.10962676E-01 -0.29499028E-01 -0.40161174E-01 + 0.90372525E-02 0.10792329E-01 0.59456217E+00 -0.58928523E-01 + -0.10835457E+00 0.15614104E-01 0.38582683E-01 0.23725564E-01 + 0.37873339E-01 -0.45640215E-01 -0.25683858E-01 -0.58345467E+00 + -0.27269018E+00 -0.13519895E+00 -0.14928317E+00 0.25888458E-01 + 0.10878223E+00 0.17128436E+00 -0.17555455E-01 -0.41636076E-01 + -0.47605807E+00 0.18886378E+00 0.18850458E+00 0.15938819E-02 + -0.82812428E-01 -0.16693853E-01 -0.74811757E-01 0.13277733E+00 + 0.68222947E-01 0.97611368E-01 0.27176988E+00 0.73444307E-01 + 0.79687834E-01 -0.56013237E-02 -0.85544765E-01 -0.14200658E+00 + 0.61242133E-02 0.28192678E-01 -0.89809708E-01 -0.11081779E+00 + -0.60269386E-01 -0.10322292E-01 0.58627546E-01 -0.12565222E-01 + 0.40889375E-01 -0.88073611E-01 -0.47065701E-01 0.50374344E-02 + -0.12933058E+00 -0.36687320E+00 0.13463667E-02 -0.39664879E-02 + 0.91926754E-02 -0.25788704E-02 0.42144693E-02 0.51479936E-02 + 0.33288822E-01 0.38233617E+00 -0.14407396E+00 0.14271196E-01 + 0.11049573E-01 -0.93471631E-02 -0.82618259E-02 -0.22260591E-02 + -0.10530116E-02 -0.19392333E-02 0.48438215E+00 0.80777757E-01 + 0.84854364E-01 0.67027092E-01 0.96795224E-02 -0.77769160E-02 + -0.18757643E-01 -0.34126833E-02 0.10197647E-01 -0.10353539E-01 + 0.50584143E+00 -0.11593372E+00 -0.44522554E-01 0.55989955E-01 + -0.29334025E-01 0.31971797E-01 -0.19206980E-01 -0.19130749E+00 + 0.67898893E+00 0.13500413E+01 -0.41417088E-01 -0.41389436E-01 + -0.11354161E+00 0.12479116E+00 -0.15671545E+00 -0.16941839E+00 + -0.69109058E+00 -0.15827084E+01 0.77499503E+00 -0.54360230E-01 + -0.76154411E-01 0.21804530E-01 0.12542558E+00 0.97710431E-01 + 0.15336754E-01 0.46886271E+00 -0.25143080E+01 0.51227117E+00 + 0.20739184E+00 -0.24356622E+00 -0.41955861E+00 -0.88255465E-01 + -0.11599702E+00 -0.16374969E+00 0.60307807E+00 -0.83648962E+00 + -0.31556289E+01 0.47265428E+00 0.62394643E+00 -0.54705191E+00 + 0.20412102E+00 -0.19938686E+00 0.61526429E-01 0.66733706E+00 + -0.84022295E+00 -0.36363816E+00 -0.47948975E-01 0.91792941E-01 + 0.36664313E+00 -0.50559235E+00 0.43860999E+00 0.55686808E+00 + 0.20355389E+01 0.71406549E+00 -0.12435474E+01 0.21483092E+00 + -0.53310115E-01 -0.59347369E-01 -0.33315623E+00 -0.25482255E+00 + -0.24464151E-02 -0.78910601E+00 0.37705989E+01 -0.86769474E+00 + -0.12256937E+01 0.33561516E+00 0.13111095E+01 0.17731486E+00 + 0.52530521E+00 0.42007923E+00 -0.23053181E+01 0.16463203E+01 + 0.60083599E+01 -0.67770946E+00 -0.16302880E+01 0.13140202E+01 + -0.39495337E+00 0.35773265E+00 -0.20983079E-01 -0.48089164E+00 + 0.39525765E+00 -0.48140708E+00 0.16104811E+00 -0.11935354E-01 + -0.33358169E+00 0.43848920E+00 -0.33588856E+00 -0.45440465E+00 + -0.16640767E+01 0.70364141E+00 0.72135723E+00 -0.26408893E+00 + 0.13320313E+00 0.60090341E-01 0.20128183E+00 0.18900406E+00 + -0.34622148E-01 0.22574456E+00 -0.15068558E+01 0.90492386E+00 + 0.10402929E+01 -0.16921981E+00 -0.10404444E+01 -0.66429377E-01 + -0.44397837E+00 -0.24560232E+00 0.19569387E+01 -0.13762980E+01 + -0.33979952E+01 0.37711105E+00 0.11398211E+01 -0.88892829E+00 + 0.24327640E+00 -0.19420272E+00 -0.70902789E-02 -0.20724721E-01 + -0.35504639E-01 -0.82354783E-03 0.36352225E-01 -0.11773664E+00 + -0.11033535E-01 0.95688138E-03 -0.97791515E-02 -0.58923662E-02 + 0.11510790E-01 -0.53077191E-02 -0.21679616E-01 0.12743253E+00 + 0.43944500E-01 -0.99055991E-02 -0.21604956E-02 -0.19020387E-02 + 0.15028873E-02 0.34215365E-01 0.19715220E+00 0.12483913E+00 + -0.11022669E+00 -0.31943321E-01 0.11501913E-02 -0.29224208E-01 + -0.21727003E-01 -0.48656184E-01 -0.12077172E+00 0.44407237E-01 + -0.50276600E-01 0.74237466E-01 -0.13876396E+00 0.50061855E-01 + -0.89441332E-04 -0.19618968E-01 0.77808690E-02 0.11498177E+00 + 0.30138892E+00 0.84145181E-01 0.52387480E-01 -0.16962320E+00 + 0.13028959E-01 0.83306365E-01 0.12248266E+00 -0.22928389E-01 + -0.18141045E+00 -0.73630512E-01 0.12350224E-01 0.22824010E+00 + 0.88408589E-01 -0.56969862E-01 0.44197980E-01 0.42088985E-01 + -0.97412877E-01 -0.15992832E+00 -0.10725375E+01 -0.37769395E+00 + 0.20365877E+00 -0.10712838E+00 -0.52147180E-01 0.11348373E+00 + 0.12272291E+00 0.21829335E+00 0.90741438E+00 0.27918214E+00 + 0.21284492E+00 -0.16413611E+00 0.20872624E+00 -0.26607728E-01 + -0.13638991E+00 0.10097219E+00 -0.90743773E-01 -0.16678727E+00 + -0.49267459E+00 -0.25228685E+00 -0.20995040E+00 0.35344943E+00 + -0.42392891E-01 -0.14291541E+00 -0.18131788E+00 0.37399545E-01 + 0.22921517E+00 -0.11525337E-01 0.10362251E+00 -0.50349134E+00 + -0.24221870E+00 0.16809082E+00 -0.94889171E-01 -0.70770025E-01 + 0.13145506E+00 0.21850900E+00 0.14192160E+01 0.37012821E+00 + -0.17118193E-01 0.49541607E+00 0.17686056E+00 -0.86773753E-01 + -0.13545221E+00 -0.20977926E+00 -0.10618935E+01 -0.52702361E+00 + -0.14100182E+00 -0.16452020E+00 0.87792039E-01 -0.11034584E+00 + 0.22220004E+00 -0.97200029E-01 0.10797976E+00 -0.20363387E-01 + -0.53697564E-02 0.68575102E-02 0.68112351E-02 0.10468056E-01 + 0.19557826E-01 -0.29966215E-01 0.26615837E-02 -0.39665846E-03 + -0.27748954E-02 -0.12629429E-01 -0.34522377E-02 -0.19603441E-01 + -0.74741095E-02 0.36278367E-01 0.38917959E-01 0.62133335E-02 + 0.52181520E-02 0.47905691E-01 0.42130254E-01 0.10669808E-01 + -0.42659171E-01 -0.48366003E-02 -0.12414150E+00 0.83759092E-02 + 0.88774711E-02 -0.24281682E-02 0.65088272E-02 -0.18100817E-01 + -0.99380650E-02 -0.49212314E-02 0.54735458E-03 -0.14428277E-01 + -0.12441480E+00 -0.92068017E-02 -0.31998195E-03 0.24573997E-01 + -0.10163296E+00 0.31056127E-01 0.11012294E-01 -0.45570403E-01 + -0.14161533E+00 -0.41898370E-01 0.22085365E-02 -0.13771434E-01 + -0.37635207E-01 -0.79316162E-02 -0.12239705E-01 0.54416321E-01 + -0.23432044E-01 0.64405203E-01 -0.15231901E+00 -0.39993413E-02 + 0.10142058E-01 -0.18101417E-01 -0.84799826E-02 0.34984993E-03 + 0.89346394E-02 0.47468557E-03 0.28572041E-02 -0.35473127E-02 + 0.14134600E-01 -0.84402598E-02 -0.24490006E-01 0.59575289E-02 + -0.83975270E-02 -0.10783281E-01 0.10519187E-01 0.37295430E-02 + 0.78448243E-02 0.11155127E-01 0.20005921E-01 0.62797785E-01 + 0.11900892E-01 -0.27039558E-01 -0.19209160E-01 0.50548911E-02 + -0.49631184E-04 -0.94857486E-03 -0.61566602E-02 -0.72145343E-01 + 0.32358173E-01 -0.47734085E-01 0.26209855E-01 0.28988879E-01 + 0.74443226E-02 -0.39548054E-02 0.37050033E-02 0.76541901E-01 + -0.17525801E-02 0.52079745E-02 -0.92345104E-02 0.14466229E-02 + -0.19333604E-02 -0.76571703E-02 0.36316391E-02 -0.43371283E-02 + -0.36561654E-02 0.67056157E-02 0.16525773E-02 0.18420488E-01 + -0.17318184E-01 -0.72389054E-02 -0.36425989E-02 0.67126667E-02 + 0.62284837E-02 -0.25143016E-02 -0.54201256E-02 -0.49585290E-02 + 0.72677061E-02 0.95763803E-02 0.33443144E-02 0.68702064E-02 + 0.38347978E-02 -0.47801472E-02 -0.56901607E-02 0.15504234E-02 + -0.65200366E-02 -0.13484795E-01 -0.16534761E-01 -0.93058534E-02 + -0.70031774E-02 0.61732740E-03 0.68263332E-02 0.85278712E-02 + 0.13020537E-03 0.26661365E+01 -0.11117877E-02 0.34222321E-02 + -0.20794710E-02 0.24010155E-02 -0.40831417E-02 -0.47719330E-02 + -0.29675064E-02 -0.20296485E-02 0.41117507E+00 0.10291319E-01 + 0.47319625E-01 0.31215116E-01 0.78935325E-02 -0.25743436E-01 + -0.38405076E-01 0.98825060E-02 0.67149173E-02 0.74506962E+00 + 0.48187733E-01 -0.71195960E-01 0.25079396E-01 -0.21259580E-01 + 0.67766905E-01 0.48439432E-01 -0.66096783E-02 0.20697495E-01 + -0.39045447E+00 -0.26972127E+00 -0.70841610E-01 -0.73414035E-01 + -0.12673206E-01 0.81827521E-01 0.14244866E+00 -0.26457300E-01 + -0.33021890E-01 -0.66143787E+00 -0.15479177E+00 0.11289430E+00 + -0.54646455E-01 0.28970569E-01 -0.14369094E+00 -0.10134429E+00 + 0.25818259E-01 -0.48019908E-01 0.53726792E-01 0.25038397E+00 + 0.37336461E-01 0.40437397E-01 0.14270316E-01 -0.59865795E-01 + -0.11061208E+00 0.18749859E-01 0.24053220E-01 -0.40976707E-01 + 0.14224786E+00 -0.30323654E-01 0.30423731E-01 -0.44295676E-02 + 0.87912492E-01 0.58721393E-01 -0.13916853E-01 0.28919088E-01 + 0.74064289E-02 -0.27877736E+00 -0.28779900E+00 0.39281845E-02 + -0.14419554E-02 -0.11547091E-02 0.31535965E-02 -0.72778360E-03 + 0.34911863E-02 0.19075761E-01 0.28820461E+00 -0.28949183E+00 + 0.22228619E-01 0.63713086E-02 -0.21684170E-02 -0.55248658E-02 + -0.13032343E-02 0.91081448E-02 -0.81327856E-01 0.27268976E+00 + 0.13500667E+00 0.54546636E-01 0.37922066E-01 -0.32600060E-01 + -0.10949604E-01 0.19963372E-01 0.26835289E-01 0.87298229E-02 + -0.22350941E-01 0.29820484E+00 0.20726327E-01 -0.52162141E-01 + 0.49364645E-01 -0.39931946E-02 0.40589683E-01 -0.22952456E-02 + -0.10790926E+00 0.83676583E+00 0.63060778E+00 -0.68363369E-01 + -0.99837855E-02 -0.66430080E-02 -0.12207447E-01 -0.76347291E-01 + -0.15965883E+00 -0.35241809E+00 -0.65478712E+00 0.11052341E+01 + -0.12858538E+00 0.48155159E-01 0.30722397E-02 0.79846025E-01 + 0.70853233E-01 -0.98708272E-01 0.10073023E+01 -0.17845335E+01 + -0.80092162E+00 -0.46188459E-01 -0.14296985E+00 0.64327180E-01 + -0.35780568E-01 -0.21253629E+00 -0.38209793E+00 0.28986448E+00 + 0.20012248E+00 -0.21629677E+01 -0.28332931E+00 0.53812021E+00 + -0.36693877E+00 0.39688271E-01 -0.34019375E+00 -0.44371121E-01 + 0.21445230E+00 -0.62239212E+00 0.50726289E+00 0.12845743E+00 + -0.50081644E-01 0.10264900E-01 -0.10842125E-01 0.25324762E+00 + 0.47339383E+00 0.98013794E+00 -0.77179390E+00 -0.15949878E+01 + 0.26540798E+00 -0.23207286E+00 -0.71822703E-01 -0.27238446E+00 + -0.25130802E+00 0.26421374E+00 -0.21762607E+01 0.31028824E+01 + 0.20128746E+01 -0.15856741E+00 0.15671609E+00 -0.83239712E-02 + 0.12464355E+00 0.52468282E+00 0.88304269E+00 -0.13928699E+01 + -0.54484451E+00 0.43236532E+01 0.72512794E+00 -0.13013943E+01 + 0.80244911E+00 -0.15787379E+00 0.71791559E+00 0.87640762E-01 + -0.90506792E-01 0.29343450E+00 -0.64716011E+00 -0.85126460E-02 + 0.86700082E-01 -0.19545073E-01 0.22539424E-01 -0.21825898E+00 + -0.35119236E+00 -0.77049863E+00 0.13025292E+01 0.10195141E+01 + -0.17070550E+00 0.19100779E+00 0.10148967E+00 0.19473384E+00 + 0.22605895E+00 -0.21595259E+00 0.12541904E+01 -0.14151649E+01 + -0.76735258E+00 0.20479742E+00 -0.57303511E-01 -0.61315093E-01 + -0.67472458E-01 -0.35682023E+00 -0.55211598E+00 0.12503937E+01 + -0.19497246E+00 -0.25232332E+01 -0.48834428E+00 0.95700103E+00 + -0.50639713E+00 0.15538096E+00 -0.43736929E+00 -0.24403555E-02 + 0.58859177E-02 -0.32317564E-01 0.18789642E-02 0.81562936E-01 + -0.10188312E+00 -0.16970166E-02 0.10929942E-01 -0.80213174E-02 + -0.64339079E-02 0.12977692E-01 -0.20233873E-01 -0.87966025E-02 + 0.10940552E+00 0.84022999E-01 -0.43360288E-02 0.49938266E-02 + -0.24055215E-02 0.34415219E-02 0.13273510E-01 0.11690063E+00 + 0.11301345E+00 -0.53855576E-01 0.71545350E-02 0.26712853E-02 + -0.65927994E-02 -0.43166098E-02 -0.16314678E-01 -0.76610744E-01 + 0.31374007E-01 -0.51425260E-01 0.29726736E-01 -0.10468842E+00 + 0.35839195E-02 0.31228568E-01 -0.15449938E-02 0.10545071E-01 + 0.31877272E-01 0.21496820E+00 0.69084771E-01 -0.39078760E+00 + 0.10721207E+00 -0.50794110E-02 -0.28492520E-01 0.88592887E-01 + 0.17780274E-01 -0.14039850E+00 -0.13015021E-01 -0.97526431E-01 + -0.13987684E+00 -0.35487771E+00 -0.44129573E-01 0.44898987E-02 + 0.47013648E-01 -0.73569477E-01 -0.59302974E-01 -0.65177017E+00 + -0.36309087E+00 -0.23424511E+00 -0.13430981E+00 -0.32746036E-01 + 0.60699228E-01 0.33282299E-01 0.85893095E-01 0.49057350E+00 + 0.21044838E+00 0.23838104E+00 0.10888346E-01 -0.39147530E-01 + 0.10908669E+00 -0.18488687E+00 0.53481311E-01 -0.13602662E+00 + -0.10266942E+00 -0.34125087E+00 -0.22209170E+00 0.21323264E+00 + -0.73764920E-01 -0.42999983E-01 0.28910642E-01 -0.12368566E+00 + -0.24522580E-01 0.17222381E+00 -0.45565147E-01 0.26528454E+00 + 0.10084933E+00 0.18232720E+00 0.10636825E+00 -0.40960643E-01 + -0.71175873E-01 0.91745019E-01 0.48435759E-01 0.88375968E+00 + 0.36494935E+00 0.37522811E+00 0.38870537E+00 0.11076623E+00 + -0.87760687E-01 -0.44668164E-01 -0.12374670E+00 -0.56823587E+00 + -0.31550622E+00 -0.23784252E+00 -0.28017616E+00 0.20619076E+00 + -0.18672664E+00 0.23123896E+00 -0.66964269E-01 0.16415411E+00 + -0.73595010E-02 -0.61682202E-02 0.89407265E-02 0.50872304E-02 + 0.11877637E-01 0.35297506E-01 -0.39307773E-01 0.14423404E-02 + 0.44433936E-03 -0.74655705E-04 -0.16662818E-02 -0.57203509E-02 + -0.14137457E-01 -0.46855919E-02 0.45804936E-01 0.35633922E-01 + 0.30760854E-02 -0.23319600E-02 0.12941353E-01 0.44963382E-01 + 0.54211020E-02 -0.12041886E-01 -0.95001571E-02 -0.11241354E+00 + -0.19248098E-01 0.27269039E-02 -0.30035621E-02 0.59964396E-02 + -0.13195523E-02 -0.46101660E-02 0.39474592E-02 -0.64694285E-02 + 0.15680537E-01 -0.11271560E+00 -0.32720950E-02 -0.51417272E-02 + 0.48678979E-01 -0.73544323E-01 0.30441813E-01 0.96263885E-02 + -0.39520711E-01 -0.17735022E+00 -0.45016337E-01 0.51114708E-02 + -0.11839547E-01 -0.81728883E-02 -0.23926420E-01 0.60986388E-02 + 0.40335935E-01 -0.35920464E-02 0.41258313E-01 -0.14260805E+00 + -0.34774819E-02 0.18476749E-01 -0.10441232E-01 -0.13517551E-01 + 0.34676611E-02 -0.14249105E-02 0.14872111E-02 -0.32633503E-02 + -0.21993518E-02 0.17342657E-01 -0.17490787E-02 -0.15205594E-01 + 0.49438253E-02 -0.87333806E-02 -0.87372363E-02 0.14296354E-02 + 0.37051601E-03 0.55464767E-02 0.15304494E-03 0.21174494E-01 + 0.39107338E-01 0.80265291E-02 -0.22919754E-01 -0.76330574E-02 + -0.77880700E-02 -0.70988768E-04 0.10868076E-01 0.58998386E-02 + -0.64436138E-01 0.41344304E-01 -0.33050463E-01 0.35609435E-01 + 0.15621076E-01 0.52525136E-02 -0.76148473E-02 0.10637492E-01 + 0.63588083E-01 0.85605606E-02 0.37736224E-02 -0.12569183E-02 + -0.73067169E-03 -0.55869143E-02 -0.57651363E-02 -0.35552052E-03 + -0.52995868E-02 -0.63682459E-02 0.34755846E-02 0.33890575E-02 + 0.20352293E-01 -0.10258363E-01 -0.16343703E-02 -0.76323338E-02 + 0.61682425E-02 0.74977577E-02 -0.10669790E-02 -0.31994097E-02 + -0.56459676E-02 0.10195385E-01 0.95578730E-02 0.39921701E-02 + 0.18846112E-02 -0.28111460E-03 -0.14161777E-03 -0.63958354E-02 + -0.16010746E-03 0.83076097E-02 -0.32676377E-02 -0.81046112E-02 + -0.20230603E-02 -0.86054020E-02 0.55735968E-02 0.49315915E-02 + 0.46230294E-02 0.80582750E-03 diff --git a/src/test/resources/nequick/ccir12.asc b/src/test/resources/nequick/ccir12.asc new file mode 100644 index 000000000..d06f15956 --- /dev/null +++ b/src/test/resources/nequick/ccir12.asc @@ -0,0 +1,715 @@ + 0.58852777E+01 -0.96291304E-01 -0.24346260E-02 0.59140641E-01 + -0.63641071E-02 -0.26449412E-02 -0.31942982E-01 -0.10096008E-02 + 0.14919641E-01 -0.31421110E-02 -0.46499595E-02 -0.67822039E-02 + 0.15032778E-01 0.16458445E+01 -0.18067592E+00 0.30474961E+00 + -0.21605857E+00 -0.49374825E+00 -0.62353790E-01 -0.34158051E-01 + -0.12912387E+00 0.10613750E+00 0.29181529E-01 -0.23050727E-01 + 0.40541515E-01 -0.11224717E+00 0.10501717E+02 0.15741062E+01 + -0.14308901E+01 -0.48761311E+00 0.94652450E+00 -0.30434477E+00 + 0.10839930E+01 -0.10534966E+00 -0.51447511E+00 -0.91966093E-01 + 0.29239577E+00 0.20149441E-01 -0.39589244E+00 -0.23581301E+02 + 0.36677198E+01 -0.80632627E-01 0.43846779E+01 0.81138687E+01 + 0.20209017E+01 0.32430315E+01 0.27812090E+01 -0.52667058E+00 + 0.26251918E+00 0.75711906E+00 -0.62242740E+00 0.95958686E+00 + -0.55303650E+02 -0.63127480E+01 0.83682976E+01 -0.49186344E+01 + -0.69345770E+01 0.62089682E+01 -0.60723085E+01 0.13838013E+01 + 0.38213997E+01 -0.14319527E+00 -0.18019360E+01 0.50669366E+00 + 0.23809681E+01 0.59686279E+02 -0.30755753E+02 -0.12747594E+02 + -0.16911804E+02 -0.32807720E+02 -0.12712320E+02 -0.21192411E+02 + -0.12855251E+02 -0.71364403E-01 -0.14239577E+01 -0.39535253E+01 + 0.33811417E+01 -0.32125998E+01 0.87687027E+02 0.13251464E+02 + -0.15531276E+02 0.25012054E+02 0.18020905E+02 -0.21276217E+02 + 0.13908660E+02 -0.47290392E+01 -0.11022417E+02 0.16285952E+01 + 0.42395010E+01 -0.24118853E+01 -0.54046259E+01 -0.23993408E+02 + 0.89517502E+02 0.42279510E+02 0.22479492E+02 0.54392288E+02 + 0.30301132E+02 0.50255482E+02 0.23656769E+02 0.32564287E+01 + 0.28625791E+01 0.82307177E+01 -0.78404713E+01 0.53785992E+01 + -0.66045975E+02 -0.16009598E+02 0.10073885E+02 -0.35849014E+02 + -0.18812134E+02 0.25561323E+02 -0.14358001E+02 0.62677321E+01 + 0.13022477E+02 -0.24407015E+01 -0.45216808E+01 0.35019357E+01 + 0.52684317E+01 -0.57186352E+02 -0.10306863E+03 -0.47426025E+02 + -0.90657444E+01 -0.39237549E+02 -0.30380722E+02 -0.50804016E+02 + -0.19044098E+02 -0.49842196E+01 -0.29108648E+01 -0.74697680E+01 + 0.79306431E+01 -0.42882528E+01 0.20778378E+02 0.76332722E+01 + -0.15185137E+01 0.16232573E+02 0.66888428E+01 -0.10187650E+02 + 0.54846725E+01 -0.28345733E+01 -0.53408060E+01 0.10432415E+01 + 0.18286180E+01 -0.16316251E+01 -0.18638296E+01 0.42999359E+02 + 0.40907440E+02 0.17649246E+02 -0.67038953E+00 0.99691086E+01 + 0.10768867E+02 0.18582962E+02 0.55952597E+01 0.21914597E+01 + 0.12064838E+01 0.24707308E+01 -0.28870993E+01 0.12680759E+01 + 0.10030657E+00 0.17061023E+01 0.14686527E+01 0.67665517E-01 + 0.21641413E-01 0.18892784E-01 0.10023634E-01 -0.12924849E-01 + -0.28599402E-01 -0.64662802E-02 0.11706680E-01 -0.93984343E-02 + 0.17487409E-01 -0.23059969E+00 -0.14013823E+01 0.18092794E+01 + -0.91769516E-01 0.27110618E-01 0.17508436E-02 -0.26233229E-02 + 0.22305543E-01 0.89679919E-02 0.32947335E-01 0.14318242E-01 + 0.24811622E-01 -0.15941350E-02 -0.90277523E+00 0.23125534E+01 + 0.16092967E+01 -0.14453238E+00 -0.20665839E+00 0.51915783E+00 + 0.49450493E+00 -0.19916792E+00 0.18426664E+00 0.25234297E-01 + 0.38722821E-01 -0.42649657E-02 -0.26182026E-01 -0.56744325E+00 + 0.44611597E+00 0.11730175E+01 -0.47925121E+00 0.65121371E+00 + -0.45957804E-01 0.45501199E+00 0.25943023E+00 0.15283298E+00 + 0.99556029E-01 -0.21310529E-01 0.37541655E+00 -0.42286009E-01 + 0.20739956E+01 0.21575239E+02 0.34665108E+01 -0.20396402E+01 + 0.26834297E+01 0.28675489E-01 0.42604321E+00 0.28829843E+00 + 0.78976136E+00 0.17124642E-01 -0.31698339E-01 0.52003264E+00 + -0.44703302E+00 -0.10670328E+00 -0.74782786E+01 0.15177947E+02 + 0.26179514E+01 0.20770683E+01 -0.10762348E+01 -0.44632077E+00 + 0.60240370E+00 -0.58553094E+00 -0.10602016E+01 -0.88225491E-01 + -0.11664104E+01 -0.34999728E+00 0.25958815E+02 -0.27454483E+02 + -0.54103336E+01 0.15304747E+01 0.93126850E+01 -0.87061577E+01 + -0.62785416E+01 0.45617943E+01 -0.37337401E+01 -0.49913472E+00 + 0.41627297E+00 -0.20554547E+00 0.59320409E-01 0.14931066E+02 + -0.24322109E+02 -0.18978456E+02 0.66896200E+01 -0.11191241E+02 + 0.25101948E+01 -0.91349792E+01 -0.48819113E+01 -0.36994448E+01 + 0.46167007E+00 0.15925082E+01 -0.77618060E+01 -0.19510707E+01 + -0.18649813E+02 -0.15214693E+03 0.53326965E+02 0.57327814E+01 + -0.26576281E+02 -0.19274545E+00 0.15754473E+00 0.28831234E+01 + -0.84430447E+01 -0.36592317E+00 0.27528572E+01 -0.42047195E+01 + 0.30515223E+01 0.14867091E+02 -0.28944748E+02 -0.87118652E+02 + -0.89018812E+01 -0.27807983E+02 0.10147782E+02 0.44683981E+01 + -0.29643440E+01 0.63139424E+01 0.88454924E+01 -0.19191800E+01 + 0.97981710E+01 0.39162436E+01 -0.15608711E+03 0.10050726E+03 + 0.31733870E+02 0.67168102E+01 -0.41432083E+02 0.47361160E+02 + 0.28008730E+02 -0.28612595E+02 0.24360201E+02 0.73379183E+01 + -0.59432826E+01 0.31006489E+01 0.61421555E+00 -0.10763946E+03 + 0.12835527E+03 0.69382751E+02 -0.43361359E+02 0.56389217E+02 + -0.13272401E+02 0.51118820E+02 0.27908691E+02 0.29593458E+02 + -0.90813322E+01 -0.13741107E+02 0.45609161E+02 0.17076019E+02 + 0.49405960E+02 0.36311185E+03 -0.26420923E+03 0.41176748E+01 + 0.81804565E+02 -0.21720428E+01 -0.76053786E+01 -0.19046158E+02 + 0.28341923E+02 0.31033659E+01 -0.15050347E+02 0.12041607E+02 + -0.86199579E+01 -0.58249126E+02 0.21876076E+03 0.15515247E+03 + 0.21008593E+02 0.99964432E+02 -0.32595764E+02 -0.15503604E+02 + 0.48927860E+01 -0.20159592E+02 -0.26689789E+02 0.95943127E+01 + -0.29238539E+02 -0.13632692E+02 0.39192969E+03 -0.18186565E+03 + -0.12129234E+03 -0.57435070E+02 0.56430359E+02 -0.11213168E+03 + -0.54315079E+02 0.70347794E+02 -0.67493713E+02 -0.30095579E+02 + 0.18334641E+02 -0.94074984E+01 -0.31521273E+01 0.27239185E+03 + -0.28597070E+03 -0.12101059E+03 0.12336749E+03 -0.12470566E+03 + 0.26024109E+02 -0.12104428E+03 -0.59888287E+02 -0.85995743E+02 + 0.29719173E+02 0.37946320E+02 -0.11199421E+03 -0.46891850E+02 + -0.50657455E+02 -0.37947949E+03 0.38515723E+03 -0.23199800E+02 + -0.10095909E+03 0.50711761E+01 0.14311046E+02 0.33573044E+02 + -0.37079788E+02 -0.60635834E+01 0.25830381E+02 -0.14170277E+02 + 0.10315927E+02 0.79237274E+02 -0.35955151E+03 -0.10834154E+03 + -0.33607834E+02 -0.13744238E+03 0.42688854E+02 0.22823517E+02 + -0.24746647E+01 0.25041639E+02 0.33539780E+02 -0.14638426E+02 + 0.35408264E+02 0.18950533E+02 -0.44368753E+03 0.16978250E+03 + 0.19025841E+03 0.10587994E+03 -0.16499313E+02 0.12066158E+03 + 0.45466450E+02 -0.74402390E+02 0.81906021E+02 0.44979855E+02 + -0.21132381E+02 0.10045573E+02 0.49591427E+01 -0.27212524E+03 + 0.29296631E+03 0.10778041E+03 -0.14709779E+03 0.12872285E+03 + -0.21798767E+02 0.12947227E+03 0.51874660E+02 0.10150548E+03 + -0.36791386E+02 -0.41881744E+02 0.12185918E+03 0.52135880E+02 + 0.17340685E+02 0.14838106E+03 -0.17882974E+03 0.15429539E+02 + 0.43413681E+02 -0.26469879E+01 -0.74090319E+01 -0.18376602E+02 + 0.16659882E+02 0.33483200E+01 -0.13998299E+02 0.58607693E+01 + -0.43770046E+01 -0.36554958E+02 0.17909184E+03 0.23982544E+02 + 0.19982361E+02 0.63960342E+02 -0.19503311E+02 -0.11998042E+02 + -0.21119621E+00 -0.10841630E+02 -0.14879584E+02 0.71827703E+01 + -0.14873816E+02 -0.91093121E+01 0.18463350E+03 -0.63689987E+02 + -0.10000370E+03 -0.59487553E+02 -0.83337975E+01 -0.48281860E+02 + -0.12824591E+02 0.28396820E+02 -0.35691711E+02 -0.22169373E+02 + 0.81618071E+01 -0.34571950E+01 -0.25228517E+01 0.91842926E+02 + -0.11355025E+03 -0.39262447E+02 0.60758072E+02 -0.51565228E+02 + 0.64481277E+01 -0.51903687E+02 -0.14617392E+02 -0.41567413E+02 + 0.15849867E+02 0.16073256E+02 -0.48541443E+02 -0.20367508E+02 + 0.33230793E-01 -0.53760558E-02 -0.43271579E-01 -0.82253766E+00 + 0.10927147E+00 -0.62830341E-02 0.32827888E-01 0.20675361E-02 + 0.11074953E-01 0.14030250E-01 -0.93817338E-02 0.58153607E-02 + -0.90415105E-02 -0.72160554E-02 0.44827167E-01 0.94339013E-01 + -0.15674746E+00 -0.88599294E+00 0.21040725E-01 0.11656060E-01 + -0.43813027E-02 0.28248453E-02 0.18651810E-01 0.15717313E-01 + 0.10290854E-01 -0.74585453E-02 0.32696807E+00 0.55384904E+00 + -0.20601004E+00 0.22753012E+00 -0.38133556E+00 0.28293085E+00 + -0.22165217E+00 -0.19600344E+00 -0.30326170E+00 -0.53036105E-01 + -0.64323902E-01 -0.25258502E-01 0.27758271E-01 0.84868366E+00 + 0.71870285E+00 0.10409750E+00 -0.34669641E+00 0.68305485E-01 + 0.17950527E+00 0.17103159E+00 -0.16034061E+00 0.11909677E+00 + -0.90939045E-01 0.77516763E-02 0.50704512E-02 -0.44594161E-01 + 0.19773264E+01 -0.63938504E+00 0.54355240E+00 0.34600694E+01 + 0.14479407E+01 -0.65015870E+00 -0.12161551E+01 0.79876208E+00 + -0.60558915E+00 0.30918711E+00 0.64186800E+00 0.23445682E+00 + 0.25567997E+00 -0.23858166E+00 -0.21537187E+01 -0.21538348E+00 + 0.19827142E+00 0.62378964E+01 -0.14610815E+01 -0.79967242E+00 + 0.97321606E+00 0.28241432E+00 -0.71557987E+00 -0.40822547E-01 + -0.35631901E+00 -0.30096269E+00 0.27642244E+00 -0.35841660E+01 + 0.20953629E+01 0.21262350E+01 0.82936811E+01 -0.25825262E+01 + 0.12673424E+01 0.22965708E+01 0.32046335E+01 0.59451181E+00 + 0.29327148E+00 0.60926776E-01 -0.18911137E+00 -0.77316456E+01 + -0.86913090E+01 0.70329517E+00 0.29154104E+00 0.37658501E+01 + -0.15267448E+01 -0.19037495E+01 0.18705777E+01 -0.38128948E+00 + 0.16374692E+01 0.94264507E-01 -0.12111473E+01 0.54479063E+00 + -0.11841910E+02 0.12982109E+02 -0.46878176E+01 0.11409553E+02 + 0.11456190E+02 0.28962116E+01 0.70374966E+01 -0.53894968E+01 + 0.32251692E+01 -0.26807203E+01 -0.33563080E+01 -0.14099931E+01 + -0.16444159E+01 0.45781116E+01 0.22667101E+02 0.25675013E+01 + -0.19983488E+02 -0.88170254E+00 0.60731277E+01 0.46235952E+01 + -0.60956392E+01 -0.36376827E+01 0.50197077E+01 0.35221523E+00 + 0.22886686E+01 0.17762288E+01 -0.40170135E+01 0.62177038E+01 + -0.81950226E+01 -0.85565052E+01 -0.26114576E+02 0.52662058E+01 + -0.33671968E+01 -0.57750206E+01 -0.89394627E+01 -0.96039099E+00 + -0.44176665E+00 -0.38639605E+00 0.38240880E+00 0.16040436E+02 + 0.22648804E+02 -0.38160076E+01 0.32987604E+01 -0.11050161E+02 + 0.41704865E+01 0.42172184E+01 -0.41252756E+01 0.30131924E+00 + -0.52030263E+01 -0.83111125E+00 0.49567080E+01 -0.11959333E+01 + 0.23355225E+02 -0.34282349E+02 0.11538242E+02 -0.49848267E+02 + -0.40598740E+02 -0.39050007E+01 -0.14526565E+02 0.10634095E+02 + -0.49407692E+01 0.58253703E+01 0.57160435E+01 0.24022808E+01 + 0.39250431E+01 -0.89171886E+01 -0.57658356E+02 -0.79275866E+01 + 0.56511951E+02 -0.33630768E+02 -0.73403583E+01 -0.97860651E+01 + 0.12670937E+02 0.95948782E+01 -0.10938619E+02 -0.13207884E+01 + -0.39759085E+01 -0.31204891E+01 0.31317451E+01 -0.26248662E+01 + 0.75624285E+01 0.10054381E+02 0.23560148E+02 -0.29456441E+01 + 0.29910412E+01 0.40049524E+01 0.69776058E+01 0.23051453E+00 + 0.35383257E+00 0.45363480E+00 -0.17931674E+00 -0.85573311E+01 + -0.16594070E+02 0.34918072E+01 -0.66410446E+01 0.96621037E+01 + -0.31863918E+01 -0.24729843E+01 0.26573007E+01 0.11516501E+00 + 0.40185375E+01 0.10184889E+01 -0.46337080E+01 0.70501119E+00 + -0.15520617E+02 0.24251537E+02 -0.78417478E+01 0.39622375E+02 + 0.31915634E+02 0.84966397E+00 0.10047779E+02 -0.63451672E+01 + 0.19262160E+01 -0.35821593E+01 -0.31948893E+01 -0.13733149E+01 + -0.27612696E+01 0.26133039E+01 0.42539505E+02 0.70027022E+01 + -0.41647888E+02 0.34347591E+02 0.24487429E+01 0.63871117E+01 + -0.86457167E+01 -0.66765866E+01 0.73050594E+01 0.12362032E+01 + 0.21852674E+01 0.16885307E+01 -0.16071808E+00 0.14123529E-01 + -0.13230795E+00 0.34138903E-01 0.59729517E-01 -0.50168329E+00 + -0.57280517E+00 0.43802690E-01 -0.13694670E-01 0.17453469E-01 + 0.33055807E-02 0.23122185E-02 0.62880963E-02 0.53357899E-01 + -0.19458124E-01 0.69014668E-01 0.63686967E-02 0.54668400E-01 + 0.58147484E+00 -0.50669259E+00 -0.12543347E-01 0.45777820E-01 + -0.29289942E-01 -0.17757392E-01 -0.45786143E-03 -0.10528304E-01 + -0.54030935E-02 0.18703188E+00 -0.11604701E+00 -0.90121031E-01 + -0.24077912E+00 -0.58423525E+00 -0.78927040E-01 -0.25518278E-01 + 0.17570584E+00 0.64967513E-01 -0.28771311E-01 0.21496506E-01 + 0.58259081E-01 -0.21440379E+00 0.46478160E-01 0.59997041E-01 + -0.10545157E+00 0.87879360E-01 0.31408739E+00 -0.76883554E+00 + -0.22707506E+00 0.97065151E-01 -0.84792078E-01 -0.42242594E-02 + -0.36972158E-01 0.13577212E-01 0.13984450E+01 0.21562596E+00 + 0.81785202E+00 0.42129420E-01 -0.45740336E+00 0.19257107E+01 + 0.10962820E+01 -0.13253962E+00 0.64441621E-01 -0.76614618E-01 + 0.80381989E-01 0.60075343E-01 -0.42204820E-02 -0.88858902E+00 + 0.68705350E+00 -0.11165399E+00 -0.39081052E-02 -0.11788683E+01 + -0.96058542E+00 0.22603960E+01 0.79304039E-01 -0.20290291E+00 + 0.10524018E+00 0.22646756E+00 0.12000297E-01 0.20639112E-02 + -0.38604550E-01 -0.64558333E+00 0.15047131E+00 0.23604786E+00 + 0.51776189E+00 0.65631807E+00 -0.64743757E-01 0.23293778E+00 + -0.31635427E+00 -0.24677654E+00 0.73522210E-01 -0.12383265E+00 + -0.23125414E-01 0.63801259E+00 -0.17993660E+00 0.41443497E-01 + -0.30626380E+00 0.13222782E+00 -0.38505167E+00 0.11026430E+01 + 0.38552052E+00 -0.14338493E+00 0.16477841E+00 0.44638623E-01 + -0.27766572E-01 -0.14409492E-01 -0.16779747E+01 0.35500044E+00 + -0.75000978E+00 0.44501577E-01 0.16619509E+00 -0.29565685E+01 + -0.11524153E+01 0.10906345E+00 0.63353598E-01 0.74749351E-01 + -0.98273456E-01 -0.23684593E+00 0.99928252E-01 0.12862396E+01 + -0.10268888E+01 -0.34922292E-03 0.42514104E+00 0.18869686E+01 + 0.92553735E+00 -0.33864343E+01 -0.96434176E-01 0.88395417E-01 + -0.27669013E-01 -0.47842044E+00 -0.87917507E-01 -0.50919611E-01 + 0.67794323E-01 0.43764465E-01 -0.85234791E-02 0.55448759E-01 + -0.75007230E-02 0.26949579E-02 0.40005319E-01 0.17787796E+00 + -0.21966220E+00 0.13119746E-01 0.17033216E-01 0.48258598E-02 + 0.93731321E-02 0.41226272E-01 -0.45745872E-01 -0.44874884E-02 + -0.56989055E-01 0.66878623E-03 0.49436130E-02 -0.93553104E-02 + 0.20852254E+00 0.17780302E+00 -0.10008898E-01 0.40826781E-03 + -0.44579692E-02 -0.96555203E-02 0.32994185E-01 -0.50840318E-01 + -0.82209945E-01 -0.16789144E+00 -0.35853390E-01 -0.74349880E-01 + 0.36870696E-01 -0.67959309E-01 -0.23842363E+00 -0.75435221E-01 + 0.58410536E-01 0.19143851E-01 0.72812736E-01 -0.35581663E-01 + -0.75313270E-01 -0.37497941E-02 -0.53745732E-02 0.86594522E-01 + -0.85272789E-01 -0.75303733E-01 0.15578286E+00 -0.57227295E-01 + -0.19145610E-01 0.38526919E-01 -0.33226523E-02 -0.25027826E-01 + -0.24258217E-01 0.56879047E-01 -0.87987781E-01 -0.18437514E-01 + -0.26629930E-02 0.94258226E-02 0.11299052E-01 -0.10933794E-01 + 0.11623717E-02 0.17373119E+00 0.16964650E+00 -0.10166548E-01 + -0.62725316E-02 0.30380951E-01 -0.23155002E-01 -0.33405375E-01 + -0.44372205E-01 0.21909753E-01 -0.50504357E-02 -0.34750249E-01 + 0.32919925E-02 -0.52613996E-01 -0.17605484E+00 0.17251746E+00 + 0.14515134E-01 0.11617799E-01 0.42745028E-01 -0.67311865E-02 + -0.12199853E-01 -0.23588117E-01 0.42618997E-01 0.23207843E-01 + 0.16206969E-01 -0.71131135E-02 -0.15745319E-01 0.93277022E-02 + 0.54416270E-03 -0.92576861E-01 0.75096667E-01 -0.57170995E-01 + -0.11325012E-01 -0.45626003E-01 -0.51696181E-01 -0.54596663E-02 + 0.18047408E-02 -0.57304047E-01 0.28688207E-01 -0.29154113E-02 + -0.48920624E-02 -0.11745230E-02 -0.72187781E-01 -0.10533947E+00 + -0.46112321E-01 -0.93352422E-02 -0.77548146E-01 0.10806181E-01 + 0.16295979E-01 -0.91340803E-02 -0.37854970E-01 0.59323609E-02 + -0.70786555E-02 0.43499954E-02 -0.12444423E-01 -0.23848298E-02 + 0.11797853E-01 -0.69076233E-02 -0.14922633E-01 -0.16607359E-01 + -0.28959990E-01 0.37629217E-01 0.27335903E-02 -0.21362375E-01 + 0.14246407E-01 0.54619014E-02 0.60001425E-02 0.29482828E-01 + -0.15042796E-01 -0.14008234E-01 -0.39528869E-02 0.18516524E-02 + -0.39649025E-01 0.28208222E-01 -0.11501376E-01 -0.40830545E-01 + 0.14463946E-01 0.18475296E-02 -0.75901337E-02 0.18725945E-01 + 0.10570665E-01 -0.12890499E-04 0.23008054E-01 -0.51339734E-01 + 0.28110504E-01 -0.61789118E-02 0.81891306E-02 -0.29036775E-01 + 0.28971056E-01 0.64823441E-02 0.76583959E-02 0.27483685E-02 + -0.17355926E-01 0.15277425E-01 0.51793228E-02 -0.15141429E-01 + 0.88938065E+01 -0.15078265E-01 -0.25140064E-01 0.22020804E-01 + 0.25030831E-02 -0.20642309E-01 -0.30851012E-01 0.35875998E-02 + -0.87216613E-03 0.24480883E-01 0.15102468E-01 -0.19631796E-01 + 0.20391542E-01 0.61357880E+00 0.13776004E+00 -0.57032764E+00 + -0.28906604E-01 -0.35331151E+00 -0.21978436E+00 -0.14012581E+00 + 0.54715615E-01 0.14554125E+00 -0.24320902E-02 -0.52757952E-01 + -0.18868657E-01 -0.78913510E-01 0.26584976E+02 -0.91476983E+00 + -0.10767021E+01 0.83116639E+00 0.18041840E+01 -0.63989371E+00 + 0.51932621E+00 0.50343698E+00 -0.63642454E+00 -0.97818613E+00 + -0.29772168E+00 0.35066119E+00 -0.68079126E+00 0.31529951E+01 + -0.22581005E+01 0.95738220E+01 0.81222594E+00 0.97320185E+01 + 0.23350554E+01 0.16431693E+01 0.61718774E+00 -0.20582497E+01 + -0.12018208E-01 0.19452524E+01 -0.24020819E+00 0.93675071E+00 + -0.12845279E+03 0.76379833E+01 0.81046038E+01 -0.12054642E+02 + -0.15387235E+02 0.68140392E+01 -0.15058469E+01 -0.48598976E+01 + 0.49816790E+01 0.52011757E+01 0.22433045E+01 -0.60794914E+00 + 0.40673323E+01 -0.78451294E+02 -0.14396162E+02 -0.34657211E+02 + -0.25212047E+01 -0.49333847E+02 -0.11871572E+02 -0.53334064E+01 + -0.59590969E+01 0.88634005E+01 0.10821543E+01 -0.11399438E+02 + 0.47652416E+01 -0.32855814E+01 0.21243150E+03 -0.14004525E+02 + -0.17843674E+02 0.43910172E+02 0.43445210E+02 -0.19488859E+02 + 0.13466700E+01 0.12091711E+02 -0.13215184E+02 -0.10340990E+02 + -0.57268867E+01 -0.15506172E+01 -0.88107119E+01 0.24853136E+03 + 0.78768326E+02 0.34186371E+02 0.19544324E+01 0.10425355E+03 + 0.27955257E+02 0.85331831E+01 0.15262190E+02 -0.16240067E+02 + -0.35532908E+01 0.25211716E+02 -0.16891586E+02 0.51664085E+01 + -0.16578397E+03 0.30796995E+01 0.14645019E+02 -0.58538589E+02 + -0.48412689E+02 0.21371473E+02 -0.61169744E+00 -0.10880287E+02 + 0.14118614E+02 0.89713211E+01 0.56740236E+01 0.40566044E+01 + 0.80941868E+01 -0.28710034E+03 -0.11082729E+03 0.47830534E+01 + 0.12881907E+01 -0.99204010E+02 -0.28727613E+02 -0.78436446E+01 + -0.15181052E+02 0.13331136E+02 0.39052055E+01 -0.23992599E+02 + 0.21218475E+02 -0.36269217E+01 0.51397835E+02 0.44691315E+01 + -0.40350657E+01 0.25961411E+02 0.18408005E+02 -0.80434484E+01 + 0.32910937E+00 0.31243172E+01 -0.52550678E+01 -0.28733051E+01 + -0.18864108E+01 -0.22640371E+01 -0.26912498E+01 0.11311130E+03 + 0.48871567E+02 -0.13456261E+02 -0.14472980E+01 0.34871857E+02 + 0.10456634E+02 0.32485311E+01 0.52217913E+01 -0.40892696E+01 + -0.13860579E+01 0.83094473E+01 -0.88487806E+01 0.87602514E+00 + 0.69597125E-01 0.16769733E+01 0.15545816E+01 -0.55449344E-02 + 0.69705725E-01 0.23653561E-01 0.12845128E-01 0.86718909E-02 + -0.45932859E-01 0.31570096E-01 0.45554500E-01 -0.21642284E-01 + 0.12889817E-01 -0.21921284E+00 -0.16087894E+01 0.17624187E+01 + -0.13460630E+00 -0.59290789E-02 -0.83502904E-02 -0.34621306E-01 + 0.11610981E-01 -0.14968857E-01 -0.25111863E-01 0.17095665E-01 + -0.55068284E-02 -0.23103977E-01 -0.48869604E+00 0.17512939E+01 + 0.14671191E+01 -0.29812479E+00 0.43485564E+00 0.74070942E+00 + 0.47886825E+00 -0.15530139E-01 0.28587043E+00 -0.90406001E-01 + 0.12089236E+00 -0.10466528E+00 -0.22864468E+00 0.26475126E+00 + -0.10255442E+01 0.12023135E+01 -0.79612106E+00 -0.14503479E+00 + 0.48347481E-01 0.24352115E+00 0.33930928E+00 0.17734116E+00 + -0.29564551E+00 -0.23605781E-01 0.26259267E+00 -0.14518070E+00 + 0.32442265E+01 0.19304138E+02 -0.17855986E+02 0.15392789E+01 + 0.12891808E+01 -0.13034649E+01 0.78133225E-01 -0.28128737E+00 + 0.13791045E+01 -0.29651862E+00 -0.13774165E+01 0.90447134E+00 + -0.48520064E+00 -0.38545475E+01 0.17391617E+02 0.15856245E+02 + 0.32506828E+01 0.17471524E+01 0.54408711E+00 -0.87338269E-01 + 0.11546888E+01 -0.39241767E+00 0.82400143E-01 -0.41304436E+00 + -0.31734008E+00 -0.47280583E+00 0.15891955E+02 -0.71328111E+01 + -0.82937183E+01 -0.10363102E+01 -0.37894361E+01 -0.13196980E+02 + -0.97192097E+01 0.57880574E+00 -0.50687680E+01 0.15093237E+00 + -0.15454119E+01 0.22428341E+01 0.37367296E+01 -0.37251844E+01 + 0.30780756E+00 -0.38300512E+01 0.13541659E+02 -0.41292338E+01 + 0.24990661E+01 -0.36101904E+01 -0.68872385E+01 -0.33844929E+01 + 0.48587589E+01 0.16653652E+01 -0.54408011E+01 -0.14610329E+01 + -0.35525452E+02 -0.55185825E+02 0.18234506E+03 -0.17191864E+02 + -0.18231384E+02 0.10715060E+02 0.41820860E+00 0.49597664E+01 + -0.10105695E+02 0.44890794E+00 0.11448022E+02 -0.59232826E+01 + 0.21196375E+01 0.48971527E+02 -0.17984662E+03 -0.10086093E+02 + -0.28173094E+02 -0.18571411E+02 -0.34781046E+01 0.46446905E+00 + -0.91365309E+01 0.32334211E+01 0.29283720E+00 0.53791580E+01 + 0.33645313E+01 0.52979574E+01 -0.98831818E+02 0.35010025E+02 + 0.81809647E+02 0.42378189E+02 0.32127884E+02 0.71276749E+02 + 0.47292526E+02 -0.79754682E+01 0.26064089E+02 0.57404060E+01 + 0.62453079E+01 -0.13935454E+02 -0.23157148E+02 0.37681503E+02 + -0.22015532E+02 0.41568680E+02 -0.89377487E+02 0.34201309E+02 + -0.14441485E+02 0.12126778E+02 0.37069687E+02 0.21612261E+02 + -0.29737091E+02 -0.11194305E+02 0.31738434E+02 0.18420135E+02 + 0.11772128E+03 -0.16025236E+02 -0.54052002E+03 0.52717880E+02 + 0.66749588E+02 -0.31852322E+02 -0.27905672E+01 -0.18864182E+02 + 0.26960798E+02 0.23407800E+00 -0.36213848E+02 0.12973186E+02 + -0.41116314E+01 -0.15707159E+03 0.53367798E+03 -0.18824307E+03 + 0.96771606E+02 0.59688568E+02 0.96216154E+01 0.33605175E+01 + 0.27191832E+02 -0.63597374E+01 -0.57947135E+00 -0.20041166E+02 + -0.10695271E+02 -0.15405687E+02 0.25402480E+03 -0.12169589E+03 + -0.29696802E+03 -0.17765755E+03 -0.10246048E+03 -0.16805844E+03 + -0.91728355E+02 0.29707184E+02 -0.58331955E+02 -0.25739077E+02 + -0.14582020E+02 0.34748569E+02 0.59372269E+02 -0.14180336E+03 + 0.90961334E+02 -0.17497099E+03 0.24299307E+03 -0.93683578E+02 + 0.25937103E+02 -0.10940236E+02 -0.83610352E+02 -0.59765331E+02 + 0.78051529E+02 0.30359772E+02 -0.77565636E+02 -0.57330204E+02 + -0.15175063E+03 0.14136122E+03 0.67243634E+03 -0.63942413E+02 + -0.95142914E+02 0.37566513E+02 0.25746934E+01 0.25226885E+02 + -0.30201874E+02 0.11459293E+01 0.47971268E+02 -0.10312353E+02 + 0.43723440E+01 0.18913742E+03 -0.64964209E+03 0.40084793E+03 + -0.13516269E+03 -0.75677643E+02 -0.12140693E+02 -0.98627491E+01 + -0.34648930E+02 0.30085962E+01 -0.86283255E+00 0.28143951E+02 + 0.13283780E+02 0.17091980E+02 -0.29154053E+03 0.17865942E+03 + 0.44016385E+03 0.25832788E+03 0.12581498E+03 0.18186658E+03 + 0.75668427E+02 -0.42528137E+02 0.58712418E+02 0.38270676E+02 + 0.19351196E+02 -0.37923859E+02 -0.65868088E+02 0.21195496E+03 + -0.14264766E+03 0.25605197E+03 -0.27863403E+03 0.10939056E+03 + -0.14928992E+02 -0.43717604E+01 0.85104996E+02 0.72570892E+02 + -0.90291138E+02 -0.36729889E+02 0.84085495E+02 0.70076569E+02 + 0.67721512E+02 -0.90769203E+02 -0.30035889E+03 0.26721813E+02 + 0.47102432E+02 -0.15028220E+02 -0.20477100E+00 -0.11208222E+02 + 0.12107579E+02 -0.20266438E+01 -0.22364059E+02 0.21444893E+01 + -0.19921618E+01 -0.77146408E+02 0.27997412E+03 -0.22317944E+03 + 0.64471100E+02 0.32618530E+02 0.58598595E+01 0.59874973E+01 + 0.15801618E+02 0.81914449E+00 0.12750367E+01 -0.13325418E+02 + -0.56135445E+01 -0.63814483E+01 0.12182439E+03 -0.87194756E+02 + -0.22319072E+03 -0.12528762E+03 -0.51943050E+02 -0.73651093E+02 + -0.21513718E+02 0.20706057E+02 -0.21602539E+02 -0.18770325E+02 + -0.10114023E+02 0.15116210E+02 0.26225405E+02 -0.10590907E+03 + 0.75341293E+02 -0.12101202E+03 0.11209222E+03 -0.47404510E+02 + 0.42671257E+00 0.63914061E+01 -0.32075298E+02 -0.31445267E+02 + 0.37990162E+02 0.16272751E+02 -0.33418060E+02 -0.29758163E+02 + 0.24743641E-01 -0.24780037E+00 0.32477383E-01 -0.70758224E+00 + 0.77269542E+00 0.21704480E-01 0.73262006E-02 -0.54433793E-02 + -0.36484736E-02 0.15552453E-01 0.11511405E-01 0.95175020E-02 + -0.77193901E-02 -0.48369352E-01 -0.53220801E-01 0.27144585E-01 + -0.81413311E+00 -0.71973479E+00 -0.70226764E-04 -0.60768463E-02 + 0.16783386E-01 -0.50986302E-02 -0.15607438E-01 0.57154219E-02 + 0.16545273E-01 -0.27624261E-01 0.42223510E+00 -0.98611236E-01 + 0.50277317E+00 -0.16155949E+01 0.44995165E+00 0.60947478E+00 + -0.26007742E+00 -0.34951413E+00 -0.61507735E-01 -0.29398155E+00 + -0.57447206E-01 -0.17995073E-01 -0.72372675E-01 0.12762966E+01 + 0.26164579E+00 0.47269124E+00 -0.10257168E+01 -0.19976234E+01 + 0.18526942E+00 0.29332149E+00 -0.20163959E+00 0.15762202E+00 + -0.21016262E+00 -0.20759078E-01 0.75109005E-01 -0.30883992E+00 + 0.23981123E+01 0.29899120E+01 0.38449600E+01 -0.60386229E+01 + 0.53788691E+01 -0.93953526E+00 -0.15277853E+01 0.59264237E+00 + 0.45906553E+00 0.24649298E+00 -0.10305214E+00 0.32214963E+00 + 0.46169204E+00 0.16696634E+01 0.25706762E+00 0.28278368E+01 + -0.46109810E+01 -0.72205906E+01 0.34772471E+00 -0.62179738E+00 + -0.14041897E-01 0.11932107E+01 0.11926311E+00 0.61168361E-01 + -0.12217854E+00 0.74488103E-01 -0.42425365E+01 0.35861957E+00 + -0.69054890E+01 0.77307911E+01 0.14447308E+01 -0.51289425E+01 + 0.42940632E+00 0.37216489E+01 0.11370012E+01 0.24206257E+01 + -0.55311292E-01 0.61113585E-01 0.43589982E+00 -0.11186956E+02 + 0.14551839E+01 -0.46096087E+01 0.70924864E+01 0.82799072E+01 + 0.54562348E+00 -0.19091223E+01 0.63213462E+00 -0.97554809E+00 + 0.27594106E+01 0.64862490E-01 -0.13592871E+01 0.23405161E+01 + -0.17754061E+02 -0.32034550E+01 -0.41930237E+02 0.41079239E+02 + -0.18051514E+02 0.25384109E+01 0.90485382E+01 -0.25573387E+01 + -0.52479219E+01 -0.22733593E+01 0.16716584E+01 -0.19437447E+01 + -0.34734039E+01 -0.11303489E+02 0.17556185E+02 -0.22370165E+02 + 0.15778043E+02 0.52471004E+02 -0.31812954E+01 0.27775533E+01 + -0.23356986E+00 -0.10081250E+02 0.12472677E+01 -0.56565034E+00 + 0.53981125E-01 0.12582926E+00 0.12362516E+02 -0.29632864E+01 + 0.15124091E+02 -0.18801893E+02 -0.13831274E+02 0.12536343E+02 + 0.10004864E+01 -0.93945026E+01 -0.36175585E+01 -0.51194935E+01 + 0.14203262E+01 -0.24957808E-01 -0.76139683E+00 0.25606962E+02 + -0.82127504E+01 0.11993702E+02 -0.10493735E+02 -0.15479229E+02 + -0.24436884E+01 0.37523031E+01 0.70967054E+00 0.28187838E+01 + -0.75910473E+01 0.22493187E-01 0.46240826E+01 -0.53346510E+01 + 0.38124294E+02 -0.81857128E+01 0.10164819E+03 -0.78550079E+02 + 0.12163009E+02 0.46451297E-01 -0.17560549E+02 0.37782581E+01 + 0.13861210E+02 0.52900157E+01 -0.42033958E+01 0.37402475E+01 + 0.76729031E+01 0.27311661E+02 -0.54518936E+02 0.45628464E+02 + -0.14268176E+02 -0.10502531E+03 0.78711662E+01 -0.59193978E+01 + 0.21227322E+01 0.23136658E+02 -0.59244928E+01 0.94676512E+00 + 0.14095345E+01 0.77875793E-01 -0.12606328E+02 0.52987642E+01 + -0.10864912E+02 0.19476120E+02 0.18500380E+02 -0.88927746E+01 + -0.17200900E+01 0.67320638E+01 0.26062744E+01 0.29826610E+01 + -0.15832289E+01 -0.24634516E+00 0.30302536E+00 -0.16824036E+02 + 0.83268948E+01 -0.88709040E+01 0.17254645E+00 0.14521972E+02 + 0.19288082E+01 -0.16344374E+01 -0.16025695E+01 -0.28889387E+01 + 0.53860931E+01 0.74160635E-01 -0.41329079E+01 0.36643448E+01 + -0.25644224E+02 0.11694124E+02 -0.68230270E+02 0.47731461E+02 + 0.49299583E+01 -0.33478413E+01 0.10701688E+02 -0.15946397E+01 + -0.10438580E+02 -0.35907743E+01 0.26091223E+01 -0.24007339E+01 + -0.50249081E+01 -0.22422714E+02 0.41399734E+02 -0.25003632E+02 + 0.22523797E+00 0.66093277E+02 -0.54813418E+01 0.45410833E+01 + -0.25613079E+01 -0.15686406E+02 0.53152466E+01 -0.38827556E+00 + -0.17855605E+01 -0.56493258E+00 -0.25739521E+00 -0.51444802E-01 + -0.39007924E-01 0.43471344E-01 0.74577093E-01 -0.69018120E+00 + -0.77091730E+00 0.18789889E-01 -0.30679218E-01 0.34278046E-01 + 0.70777461E-02 0.17007650E-02 0.12116459E-01 0.30931160E-01 + 0.82304358E-01 0.23780584E-01 -0.61587133E-02 0.14854145E+00 + 0.73189169E+00 -0.68215251E+00 0.67674113E-02 0.98737925E-02 + -0.13763633E-01 -0.28919922E-01 -0.11603952E-02 0.28128896E-01 + 0.15583676E+00 -0.97631477E-02 -0.42719722E-01 0.55609424E-01 + -0.76401174E-01 -0.72838414E+00 -0.35610980E+00 0.81875384E-01 + 0.17080718E+00 -0.30333633E-01 -0.31908482E-01 0.57391774E-01 + 0.27769839E-01 -0.52173842E-01 0.24948266E+00 0.12350981E+00 + -0.15202741E+00 0.21870522E+00 0.53911513E+00 -0.62828910E+00 + -0.21726985E+00 -0.81490837E-02 -0.29228793E-01 -0.10110051E-01 + -0.15235766E-01 0.31288318E-01 0.17942055E+01 -0.47697359E+00 + -0.24683045E-01 -0.73759902E+00 -0.31411223E-01 0.23973179E+01 + 0.15254402E+01 0.46166000E+00 -0.19089139E+00 -0.40453416E+00 + 0.24325489E+00 0.47338761E-01 -0.12414199E+00 -0.10261517E+01 + 0.34687656E+00 -0.13719416E+00 -0.56109309E+00 -0.19106921E+01 + -0.12889605E+01 0.28899508E+01 0.31973648E+00 0.39896643E+00 + 0.91862559E-01 0.74149251E-01 0.17311738E+00 -0.22030468E+00 + 0.19139688E+00 -0.29637605E+00 -0.89744151E-01 0.34440777E-03 + 0.12633979E+00 0.17837121E+00 0.34260511E+00 -0.52784592E-01 + -0.35431856E+00 0.11950551E+00 0.18184207E+00 -0.15287530E+00 + -0.12142629E-02 0.38059655E+00 -0.70801198E+00 -0.47004503E+00 + 0.36706585E-01 -0.10262800E+00 -0.90509474E+00 -0.71891248E-01 + 0.41418591E+00 0.51909387E-02 0.73546290E-01 0.61649166E-01 + -0.10198504E+00 -0.11583489E+00 -0.30275669E+01 0.20220096E+01 + 0.34253961E+00 0.11947128E+01 -0.63510936E+00 -0.44640865E+01 + -0.18234404E+01 -0.84736711E+00 0.57081997E+00 0.75149286E+00 + -0.48013154E+00 -0.24022443E-01 0.20686176E+00 0.15877695E+01 + -0.71108866E+00 0.99898326E+00 0.13696938E+01 0.26519346E+01 + 0.18384991E+01 -0.53081532E+01 -0.50006747E+00 -0.82502490E+00 + -0.16206495E+00 -0.16357309E+00 -0.40980053E+00 0.16522449E+00 + -0.80586374E-02 0.50992239E-01 -0.46632241E-01 0.57858132E-01 + 0.29589588E-01 -0.29866926E-01 0.44593319E-01 0.20724244E+00 + -0.33956417E+00 0.48757140E-01 0.48252717E-02 0.75157727E-02 + 0.82745329E-02 0.56242995E-01 -0.98413788E-02 -0.85247047E-02 + -0.81652962E-02 0.10179363E-01 -0.32878403E-01 0.63941111E-02 + 0.30926961E+00 0.19301081E+00 0.51544080E-02 -0.95572881E-02 + 0.14922715E-01 -0.64172186E-02 0.19160559E-02 -0.24454542E-02 + -0.16382515E+00 -0.21728694E-01 0.84944487E-01 -0.70919216E-01 + 0.61331503E-01 -0.12808955E+00 -0.38097063E+00 -0.58370434E-01 + 0.67949355E-01 0.16139146E-01 0.56471497E-01 -0.82536153E-02 + -0.59724025E-01 0.79807997E-01 0.33527710E-01 0.72642326E-01 + -0.10801912E+00 -0.34897956E-02 0.36352581E+00 -0.57958066E-01 + -0.35505168E-01 0.12366364E-02 0.40800601E-01 -0.18490655E-01 + -0.46349317E-02 0.14545527E-01 -0.12120492E+00 0.26173398E-01 + 0.17550852E-02 -0.28536871E-01 0.22547290E-01 -0.36351152E-01 + -0.60174358E-02 0.28420085E+00 0.16398446E+00 -0.12288247E-01 + 0.14442493E-01 0.60371332E-01 0.38244717E-01 0.32651134E-01 + -0.77243626E-01 -0.35003494E-01 0.14984455E-01 0.15117689E-01 + -0.19099511E-01 -0.49697436E-01 -0.15599817E+00 0.25729859E+00 + 0.33024964E-02 -0.99182781E-03 0.71319520E-01 -0.75824678E-01 + 0.36760569E-01 -0.49347986E-01 0.15868418E-01 0.38285632E-01 + 0.23324167E-01 -0.39113779E-01 -0.30983375E-01 0.13260115E-01 + 0.37964739E-01 -0.74268162E-01 0.11632289E+00 -0.17346490E-01 + 0.15348020E-01 -0.14875908E-01 -0.52558880E-01 -0.71550250E-01 + -0.61885454E-02 -0.24182135E-01 0.37889171E-02 -0.25238233E-01 + -0.21548858E-02 0.12035027E-01 -0.14105135E+00 -0.92943013E-01 + -0.53878658E-01 -0.32849424E-01 -0.84194541E-01 0.31174354E-01 + -0.46395548E-02 0.12672111E-01 -0.28512161E-01 -0.13265371E-01 + -0.14615446E-01 0.36233847E-02 -0.12471825E-01 0.34783303E-02 + 0.54068267E-02 -0.35035559E-02 0.55042446E-01 0.23584511E-01 + -0.25574237E-01 0.69150329E-02 -0.15520843E-01 0.11701882E-01 + 0.12512359E-01 -0.23976656E-01 0.11502409E-02 0.91396831E-02 + 0.85549615E-02 -0.30781738E-01 0.11815183E-01 0.77101648E-01 + 0.19891473E-01 -0.14418865E-01 -0.48151333E-01 -0.46777278E-01 + 0.32677677E-01 0.10109332E-01 0.22690780E-03 0.29887984E-01 + -0.23127504E-01 0.21396788E-01 0.23422491E-01 -0.10521829E+00 + 0.46248101E-01 -0.85954962E-04 0.24128253E-01 0.10098126E-01 + 0.15944388E-01 0.24146425E-01 0.21453381E-01 0.39750673E-02 + -0.21658877E-01 0.59070811E-02 0.15631013E-01 -0.13315893E-01 + 0.30724745E+01 0.76932688E-02 0.10582104E-01 -0.58678426E-02 + 0.86863562E-02 0.23237041E-02 -0.16314250E-02 0.22063470E-02 + 0.30517471E-02 0.31540650E+00 -0.10881312E-01 0.51532704E-01 + 0.60170829E-01 0.84916502E-02 -0.18651346E-01 -0.24970859E-01 + 0.24080008E-01 -0.41201664E-03 0.70605505E+00 -0.14244080E+00 + -0.29646527E-01 -0.12706629E-01 -0.95824562E-02 -0.33969921E-02 + 0.17386444E-01 -0.78530967E-01 -0.11982952E-01 -0.42120481E+00 + -0.20498922E+00 -0.70140362E-01 -0.13760924E+00 -0.42224448E-01 + 0.85511677E-01 0.73424160E-01 -0.67239933E-01 0.15587627E-01 + -0.89627135E+00 0.41788441E+00 -0.50209496E-01 0.68723977E-01 + 0.28690731E-01 0.34792382E-01 -0.43728631E-01 0.22312868E+00 + 0.29185694E-01 0.65906465E-01 0.19188380E+00 0.25963048E-01 + 0.69747448E-01 0.35327673E-01 -0.73112071E-01 -0.53085875E-01 + 0.43332022E-01 -0.21014431E-01 0.26427591E+00 -0.27628177E+00 + 0.10059512E+00 -0.50584864E-01 -0.29864948E-01 -0.44461355E-01 + 0.33647086E-01 -0.14697210E+00 -0.26645195E-01 0.16860802E-01 + -0.18605262E+00 -0.38714591E+00 -0.19328044E-03 0.40252996E-03 + 0.75271167E-03 0.54476932E-02 0.79560243E-02 0.55059046E-03 + 0.20514991E-01 0.39720565E+00 -0.19083656E+00 -0.12558008E-01 + 0.56398660E-02 -0.12297943E-01 -0.14556027E-01 -0.61569135E-02 + 0.10029856E-01 0.10009073E-01 0.30681634E+00 0.34232044E+00 + 0.98892391E-01 0.69215238E-01 0.82950518E-02 -0.18969622E-01 + 0.55852693E-01 -0.31100797E-01 0.77327038E-02 -0.19496197E+00 + 0.34152463E+00 -0.10556674E+00 -0.18567832E-01 0.55548735E-03 + -0.31484786E-01 0.53078610E-01 0.60641043E-01 -0.30647779E+00 + 0.81640363E+00 0.18649312E+01 -0.98093085E-01 0.15951090E-01 + 0.17376810E-01 -0.39560460E-01 -0.20320363E+00 -0.74637711E-01 + -0.73014015E+00 -0.19144686E+01 0.81253171E+00 0.19620959E+00 + -0.52492671E-01 0.88517666E-01 0.17049301E+00 0.12281353E+00 + -0.20673338E+00 0.48533574E+00 -0.15024738E+01 -0.17705137E+01 + -0.81606110E-03 -0.53666764E+00 -0.37227353E+00 0.75344294E-02 + -0.40956616E+00 0.40251583E+00 0.89858896E+00 0.10686445E+01 + -0.16356421E+01 0.29005784E+00 0.37916356E+00 -0.13871599E-01 + 0.33012235E+00 -0.34580475E+00 -0.33433402E+00 0.10481234E+01 + -0.77934951E+00 -0.19115534E+01 0.12393999E+00 0.55828344E-01 + -0.70680201E-01 0.11313993E+00 0.58049357E+00 0.31924832E+00 + 0.22701540E+01 0.16197052E+01 -0.96915627E+00 -0.33665836E+00 + -0.14552671E+00 -0.21495458E+00 -0.52067465E+00 -0.32353055E+00 + 0.57284433E+00 -0.12134342E+01 0.19404649E+01 0.37635963E+01 + -0.62870938E+00 0.10511742E+01 0.11378069E+01 -0.29707568E-01 + 0.86152846E+00 -0.11126767E+01 -0.29988582E+01 -0.20589962E+01 + 0.24830685E+01 -0.22141758E-01 -0.89734024E+00 0.17300200E+00 + -0.71507877E+00 0.67783278E+00 0.56816953E+00 -0.79848272E+00 + 0.23965521E+00 0.80937093E+00 0.18386710E-01 -0.11181236E+00 + 0.65899372E-01 -0.10855013E+00 -0.42357111E+00 -0.30929345E+00 + -0.19041709E+01 -0.49399413E-01 0.43354791E+00 0.93478858E-01 + 0.24635492E+00 0.13785356E+00 0.41312331E+00 0.21510725E+00 + -0.42922240E+00 0.70117199E+00 -0.47726721E+00 -0.19355592E+01 + 0.54693979E+00 -0.56250000E+00 -0.84684217E+00 0.39356496E-01 + -0.54770637E+00 0.81452745E+00 0.24183493E+01 0.72689992E+00 + -0.10589314E+01 -0.23238602E+00 0.54398221E+00 -0.20291322E+00 + 0.43034214E+00 -0.41715693E+00 -0.29115313E+00 -0.90023018E-02 + -0.35391401E-01 -0.47154613E-02 0.19855537E-01 -0.11723322E+00 + -0.10261105E-01 0.60877353E-02 -0.11590884E-01 -0.67245774E-02 + 0.96493699E-02 -0.22004316E-01 -0.56211911E-02 0.11911504E+00 + 0.25769383E-01 -0.13206675E-01 -0.57847798E-03 -0.63171280E-02 + -0.14825935E-02 0.97160041E-01 0.14064240E+00 0.12654924E+00 + 0.90184137E-02 0.10824889E+00 0.98466850E-03 -0.39058451E-01 + 0.21360934E-01 -0.68189758E-02 -0.69581389E-01 0.23204977E-01 + -0.33772092E-01 -0.23201564E-01 -0.16431103E-01 0.35661332E-01 + -0.24787609E-01 -0.15851654E-01 0.41659132E-01 -0.95431058E-03 + 0.32939357E+00 0.11949617E+00 -0.34582306E-01 -0.11245042E+00 + 0.58247320E-01 0.44278201E-01 0.32697480E-01 0.79446398E-02 + -0.27802205E+00 0.99982262E-01 -0.18884204E+00 0.14989614E+00 + -0.30045878E-01 -0.12822230E-01 0.70558429E-01 0.67012231E-02 + -0.54927103E-01 -0.52163047E+00 -0.76617789E+00 -0.38275307E+00 + 0.93988597E-01 -0.80029541E+00 -0.46852093E-01 0.19828326E+00 + -0.19820786E+00 -0.20384856E-01 0.73622519E+00 0.23355690E+00 + 0.24254851E+00 0.40519953E+00 0.11749785E-01 -0.76143026E-01 + 0.65943301E-01 0.78227103E-01 -0.24041748E+00 -0.48859108E-01 + -0.53506446E+00 -0.33032447E+00 -0.10122341E+00 0.79143226E-01 + -0.14064234E+00 -0.84364593E-01 0.29860293E-02 -0.22253856E-01 + 0.39246804E+00 -0.24812710E+00 0.40944195E+00 -0.17673939E+00 + -0.78235686E-01 0.72178841E-01 -0.16227911E+00 0.10302574E-01 + 0.85755765E-01 0.64045298E+00 0.11233282E+01 0.36713567E+00 + -0.16331939E+00 0.12432957E+01 0.20128110E+00 -0.23927684E+00 + 0.27385575E+00 0.72312951E-01 -0.94199342E+00 -0.33690757E+00 + -0.17330156E+00 -0.81343490E+00 0.69725700E-01 0.41456182E-01 + -0.43618816E-03 -0.84605157E-01 0.24982798E+00 -0.22805035E-01 + -0.59726276E-02 0.38705333E-02 0.30002026E-02 0.19159811E-02 + 0.18420031E-01 -0.37724920E-01 0.35234529E-02 -0.43825810E-02 + -0.67331116E-02 -0.10876592E-01 -0.79003610E-02 -0.13564546E-01 + -0.40359162E-02 0.42511482E-01 0.42690057E-01 0.78176372E-02 + -0.44241245E-02 0.61757568E-01 0.38225949E-01 0.16911129E-01 + -0.45007329E-01 0.18286873E-01 -0.83427310E-01 0.43182421E-01 + 0.80693141E-02 -0.15373635E-02 0.29610461E-01 -0.18918576E-01 + -0.18943192E-01 -0.15242502E-01 -0.12218371E-01 -0.21460388E-01 + -0.98122180E-01 -0.44038400E-03 0.17151916E-01 0.91914497E-02 + -0.88108547E-01 0.29710809E-01 0.37761100E-01 -0.42912245E-01 + -0.14925539E+00 -0.86556077E-01 0.32728361E-02 -0.97887143E-02 + -0.35554547E-01 -0.30815806E-01 -0.29502630E-01 0.11506282E-01 + -0.96649565E-02 0.11226374E+00 -0.22778022E+00 0.95754513E-03 + 0.19735225E-01 -0.19949600E-01 -0.14575392E-01 0.80723651E-02 + 0.10257791E-01 0.98831533E-03 0.21253307E-02 0.44467158E-03 + 0.30331463E-01 -0.68215728E-02 -0.16475894E-01 0.66600144E-02 + -0.96909404E-02 -0.23368846E-02 0.10803204E-01 0.18352592E-03 + 0.94600804E-02 0.34825664E-02 0.29143482E-01 0.68724394E-01 + 0.15268686E-01 -0.34583663E-02 -0.26248896E-01 -0.41180067E-02 + -0.69923671E-02 0.78354776E-02 -0.15067246E-01 -0.50502360E-01 + 0.26632210E-01 -0.38117900E-01 0.12489505E-01 0.38269714E-01 + -0.23778919E-01 -0.45978688E-02 -0.10741331E-01 0.55188525E-01 + -0.19089220E-01 0.50233081E-02 -0.68038441E-02 0.13171526E-01 + -0.79407506E-02 -0.15828493E-02 0.69405888E-02 -0.26731647E-02 + -0.18833795E-02 0.10679698E-01 0.77929986E-02 0.25170865E-01 + -0.12785461E-01 -0.85407831E-02 -0.88489465E-02 0.11496037E-01 + -0.64758724E-03 -0.79743117E-02 -0.92306355E-03 -0.26192795E-03 + 0.58631450E-02 0.11213571E-01 0.88310167E-02 0.19518092E-02 + 0.98038791E-03 -0.22055171E-02 0.15052840E-02 0.49419217E-02 + -0.49593602E-02 -0.28198513E-02 -0.11953373E-01 -0.12248963E-01 + -0.72131343E-02 0.10401812E-01 -0.17990726E-02 -0.28054372E-02 + 0.18662047E-02 0.27312078E+01 -0.36635625E-03 0.16809824E-02 + 0.35598597E-02 0.75279060E-02 0.53007551E-03 0.95740211E-03 + -0.22847110E-02 -0.28182077E-03 0.21439908E+00 0.15668213E-01 + 0.39947953E-01 0.18864460E-01 0.18349141E-01 -0.73838937E-02 + -0.29964810E-01 0.16750785E-01 0.58596502E-02 0.98324704E+00 + -0.38888179E-01 -0.89483634E-02 -0.30634860E-01 -0.57423551E-01 + 0.13029806E-01 0.31853251E-01 -0.39872222E-01 0.66098981E-02 + -0.71482241E-01 -0.26525635E+00 -0.19658716E-01 -0.33415090E-01 + -0.51787484E-01 0.35274655E-01 0.85669100E-01 -0.48909988E-01 + -0.21501373E-01 -0.13290062E+01 0.17191924E+00 -0.47023814E-01 + 0.52566618E-01 0.13115124E+00 -0.12865188E-01 -0.10077954E+00 + 0.11846806E+00 0.88568963E-02 -0.13872872E+00 0.21173362E+00 + -0.49534775E-02 0.75430046E-02 0.31798296E-01 -0.33703379E-01 + -0.59091616E-01 0.35570819E-01 0.11184798E-01 0.40687090E+00 + -0.11250210E+00 0.64376891E-01 -0.24939284E-01 -0.85930586E-01 + -0.26775305E-02 0.72211981E-01 -0.74090540E-01 -0.24171598E-01 + 0.18235698E-01 -0.32615590E+00 -0.29267043E+00 0.70642792E-02 + 0.11300357E-02 -0.19541867E-02 0.65887645E-02 0.25641057E-03 + 0.29901182E-03 0.10992620E-01 0.29850316E+00 -0.32224560E+00 + -0.13626590E-01 -0.15000730E-02 -0.56463708E-02 -0.13415892E-01 + 0.31011614E-02 0.13834986E-01 -0.92273317E-02 0.24425700E+00 + 0.56881361E-01 0.36258154E-03 0.63643634E-01 -0.37808137E-03 + -0.32947320E-01 0.38247399E-01 0.19941088E-01 -0.57335585E-01 + 0.87612152E-01 0.25150669E+00 -0.19707844E-01 -0.44863455E-01 + 0.16167350E-01 -0.10398515E-01 0.50344795E-01 0.68640888E-01 + -0.23492482E+00 0.11852227E+01 0.87067664E+00 -0.62521160E-01 + 0.42712395E-02 0.31809576E-01 0.21999139E-01 -0.92716336E-01 + -0.10461420E+00 -0.57572049E+00 -0.91379118E+00 0.12106152E+01 + 0.14713532E+00 0.49721979E-01 0.31173522E-01 0.14988387E+00 + 0.74236989E-01 -0.24920762E+00 0.37146533E+00 -0.15066242E+01 + -0.33582765E+00 0.13240385E+00 -0.49595785E+00 -0.17519760E+00 + 0.14915366E-01 -0.31701410E+00 -0.11277884E+00 0.11722956E+01 + -0.33704275E+00 -0.16070231E+01 -0.73385954E-01 0.44775620E+00 + -0.89496613E-01 0.11555022E+00 -0.42885175E+00 -0.43839580E+00 + 0.61520100E+00 -0.11530800E+01 0.13902968E+00 0.11537028E+00 + -0.13625572E-01 -0.11211419E+00 -0.90618193E-01 0.34417909E+00 + 0.43181032E+00 0.19090472E+01 -0.30285782E+00 -0.14655379E+01 + -0.29066688E+00 -0.22451898E+00 -0.12008685E+00 -0.50865209E+00 + -0.31707209E+00 0.65367371E+00 -0.86626565E+00 0.25727079E+01 + 0.11919090E+01 -0.25942808E+00 0.98266917E+00 0.50214672E+00 + 0.11235261E+00 0.75492078E+00 0.13290590E+00 -0.35606389E+01 + 0.50929976E+00 0.30332546E+01 0.46690196E+00 -0.93843842E+00 + 0.33491963E+00 -0.23293012E+00 0.92977613E+00 0.81740063E+00 + -0.38443807E+00 0.52484918E+00 -0.42313319E+00 -0.31547219E-01 + -0.23082055E-01 0.98553777E-01 0.48045237E-01 -0.29371864E+00 + -0.38383645E+00 -0.16131201E+01 0.93166280E+00 0.74328411E+00 + 0.15688562E+00 0.21910544E+00 0.11658287E+00 0.44385308E+00 + 0.28195137E+00 -0.46593124E+00 0.43430272E+00 -0.11887656E+01 + -0.43771562E+00 0.14430624E+00 -0.56061119E+00 -0.36049956E+00 + -0.12475538E+00 -0.52396160E+00 -0.43358773E-01 0.28472090E+01 + -0.78438574E+00 -0.16446295E+01 -0.40643525E+00 0.59259111E+00 + -0.32095200E+00 0.95902145E-01 -0.59256899E+00 -0.44462156E+00 + 0.10362735E-02 -0.26521128E-01 0.73475327E-03 0.78305662E-01 + -0.87907068E-01 -0.87850466E-02 0.68914331E-02 -0.58439672E-02 + -0.10781296E-01 0.83343238E-02 -0.22290353E-01 0.50302148E-02 + 0.79541683E-01 0.76331973E-01 -0.69553149E-02 -0.10722161E-02 + -0.23844002E-02 -0.24587917E-03 0.73374867E-01 0.11703366E+00 + 0.75943530E-01 -0.60151588E-01 0.15490431E+00 0.13585862E-01 + -0.18192250E-01 0.11195568E-01 0.70080836E-02 -0.29040044E-01 + 0.32617461E-01 -0.60124032E-01 -0.11059098E+00 -0.43481726E-01 + 0.27728146E-01 0.21420592E-01 -0.26929742E-01 0.35609297E-01 + -0.37986711E-01 0.21261556E+00 0.65299809E-01 -0.47157770E+00 + 0.18923239E+00 0.89936629E-02 0.30793028E-02 0.21662015E-01 + 0.45056511E-01 -0.18105257E+00 0.52625746E-01 -0.21388228E+00 + -0.12751257E+00 -0.44269648E+00 -0.68748951E-01 0.48228782E-01 + 0.46695489E-01 -0.61157335E-01 -0.31314623E+00 -0.65667808E+00 + -0.16174650E+00 0.18607914E+00 -0.82700670E+00 -0.49523894E-01 + 0.11539984E+00 -0.11283566E+00 -0.42533651E-02 0.31864041E+00 + 0.13107453E+00 0.33589387E+00 0.72368962E+00 0.48834570E-01 + -0.47290842E-02 -0.90480983E-01 0.11117184E+00 -0.19858021E+00 + 0.16404297E-01 -0.35947224E+00 -0.23393698E+00 0.24125104E+00 + -0.40167993E+00 -0.59507191E-01 -0.12976586E-01 0.16296891E-02 + -0.64027667E-01 0.21480627E+00 -0.16956282E+00 0.42124185E+00 + 0.31029803E+00 0.24321970E+00 0.14924949E+00 -0.11708121E+00 + -0.62503338E-01 0.91057897E-01 0.29138744E+00 0.99653769E+00 + 0.11597234E+00 -0.23700123E+00 0.11012861E+01 0.13280974E+00 + -0.17497236E+00 0.16628049E+00 -0.11821240E-01 -0.40243316E+00 + -0.14012007E+00 -0.34927449E+00 -0.10288906E+01 -0.43111134E-01 + -0.44211321E-01 0.12559944E+00 -0.10422826E+00 0.19184583E+00 + -0.12884370E-01 -0.28929864E-02 0.62589156E-02 -0.43417551E-02 + 0.16956746E-02 0.30290779E-01 -0.54206152E-01 0.47972496E-02 + -0.54383767E-02 -0.18483960E-02 -0.49267076E-02 -0.35054756E-02 + -0.10494788E-02 -0.31706644E-03 0.53946707E-01 0.46015929E-01 + 0.77006114E-02 -0.74489890E-02 0.28184280E-01 0.48737310E-01 + 0.56083123E-02 -0.11658833E-01 0.10535412E-01 -0.77447712E-01 + 0.14809873E-01 -0.54364097E-02 0.26957260E-02 0.12003126E-01 + -0.48028259E-03 -0.13672523E-01 -0.10574404E-01 -0.94266161E-02 + -0.67775021E-02 -0.85156560E-01 0.66752793E-04 0.83940960E-02 + 0.25840158E-01 -0.82805574E-01 0.31506184E-01 0.41513223E-01 + -0.28803999E-01 -0.18279600E+00 -0.70030391E-01 0.43120943E-02 + -0.44541992E-03 -0.10199835E-01 -0.34188926E-01 -0.19336941E-01 + 0.11237562E-01 -0.19958831E-01 0.87408066E-01 -0.20651507E+00 + -0.62467046E-02 0.28983789E-01 -0.82333684E-02 -0.15517811E-01 + 0.84783211E-02 0.52443543E-03 0.13247509E-02 0.27244105E-02 + 0.20155314E-03 0.27045678E-01 0.32722114E-02 -0.98290928E-02 + 0.24848564E-02 -0.12258628E-01 0.43838951E-02 0.21730985E-02 + 0.14691027E-03 0.10895628E-01 -0.70574176E-02 0.27331525E-01 + 0.34686185E-01 0.11546563E-01 -0.10812424E-01 -0.11996834E-01 + -0.61492622E-02 -0.16286846E-01 0.90343282E-02 -0.16508182E-02 + -0.44392467E-01 0.24883408E-01 -0.41023172E-01 0.30125698E-01 + 0.19361742E-01 -0.84361620E-02 -0.86162388E-02 -0.12216836E-01 + 0.51103357E-01 -0.75027507E-04 0.11774481E-01 -0.37965029E-02 + 0.73318444E-02 -0.37572163E-02 -0.29526060E-02 0.51077679E-02 + -0.20714712E-02 -0.67285742E-02 0.69300090E-02 0.76303929E-02 + 0.18072840E-01 -0.92502236E-02 -0.23002876E-02 -0.76491982E-02 + 0.66094734E-02 0.57324432E-02 -0.36398082E-02 0.18937784E-02 + 0.12494958E-03 0.95274895E-02 0.79445876E-02 0.87751150E-02 + -0.22462979E-02 0.10836435E-02 0.13684510E-02 -0.88894577E-03 + 0.21372179E-02 -0.11187471E-02 -0.17962215E-02 -0.84776208E-02 + -0.32081937E-02 -0.57096705E-02 0.51954128E-02 0.20163734E-02 + -0.19013527E-02 0.13429526E-02 diff --git a/src/test/resources/nequick/ccir13.asc b/src/test/resources/nequick/ccir13.asc new file mode 100644 index 000000000..14eb67988 --- /dev/null +++ b/src/test/resources/nequick/ccir13.asc @@ -0,0 +1,715 @@ + 0.65998964E+01 -0.96180737E-01 -0.18148595E-01 0.64034283E-01 + -0.14069435E-01 -0.11540678E-01 0.66070855E-02 0.26406836E-01 + -0.39686033E-03 0.23210552E-01 -0.22450823E-02 -0.10104239E-01 + -0.12631580E-01 -0.42413343E-01 0.80642939E-01 0.27393836E+00 + -0.16345827E+00 -0.16899700E+00 -0.32240999E+00 0.70448697E-01 + -0.77763975E-01 -0.13244357E-01 0.30214986E-01 -0.13424671E+00 + -0.17871726E-01 0.15353709E-01 0.17452026E+02 0.14823141E+01 + -0.10489836E+01 -0.31613785E+00 0.14407471E+01 -0.17907828E+00 + 0.29510629E+00 -0.22444354E-01 0.21991578E+00 -0.10238972E+01 + 0.21552382E+00 0.43258828E+00 0.30413872E-01 -0.42824154E+01 + -0.43370705E+01 0.27843063E+01 0.32597790E+01 0.52011843E+01 + 0.38541880E+01 -0.19715508E+01 0.21992905E+01 0.23029690E+01 + -0.60228556E+00 0.22066259E+01 0.23972336E-01 -0.80908841E+00 + -0.11069538E+03 -0.47234507E+01 0.81807337E+01 -0.57918816E+01 + -0.15985529E+02 0.41825180E+01 0.31950969E+00 -0.15979003E+01 + -0.29805326E+00 0.65984235E+01 -0.15701970E+01 -0.28786163E+01 + -0.55098760E+00 0.53160343E+01 0.72372942E+01 -0.31718048E+02 + -0.84363060E+01 -0.20782211E+02 -0.15876793E+02 0.10275279E+02 + -0.12953022E+02 -0.18293261E+02 0.30118990E+01 -0.10225960E+02 + 0.10002424E+01 0.57159648E+01 0.22316840E+03 0.88046808E+01 + -0.19268265E+02 0.27535292E+02 0.49745651E+02 -0.14210364E+02 + -0.63509388E+01 0.59100389E+01 -0.75693417E+00 -0.15410736E+02 + 0.43323641E+01 0.69434185E+01 0.26285543E+01 0.29579544E+02 + 0.18237549E+02 0.82377548E+02 0.84427810E+00 0.30343168E+02 + 0.29563704E+02 -0.19898544E+02 0.30717590E+02 0.48212418E+02 + -0.59438214E+01 0.19914412E+02 -0.42029829E+01 -0.14977189E+02 + -0.20669724E+03 -0.11006776E+02 0.17986938E+02 -0.39454208E+02 + -0.59185928E+02 0.16635513E+02 0.11510051E+02 -0.69961233E+01 + 0.14310035E+01 0.15335246E+02 -0.50885744E+01 -0.70506630E+01 + -0.39190333E+01 -0.65092926E+02 -0.45056271E+02 -0.80958832E+02 + 0.13474419E+02 -0.17513613E+02 -0.25489258E+02 0.16221634E+02 + -0.31921722E+02 -0.51784847E+02 0.50485597E+01 -0.17261200E+02 + 0.55830841E+01 0.16545364E+02 0.74110519E+02 0.55856390E+01 + -0.58897910E+01 0.18034470E+02 0.23959211E+02 -0.63647890E+01 + -0.57852678E+01 0.26369388E+01 -0.59193826E+00 -0.55258875E+01 + 0.21282358E+01 0.25619020E+01 0.18311788E+01 0.34186600E+02 + 0.23974504E+02 0.27236193E+02 -0.89847784E+01 0.29195013E+01 + 0.82554817E+01 -0.46716986E+01 0.12058103E+02 0.19580338E+02 + -0.15368041E+01 0.54791770E+01 -0.23879938E+01 -0.65005140E+01 + -0.24007400E-01 0.21675978E+01 0.11725760E+01 0.50758086E-01 + 0.13093474E-01 -0.23201449E-01 0.38342893E-01 0.48389513E-01 + 0.63410662E-02 0.44442557E-01 0.19522280E-01 -0.27899284E-01 + -0.14491891E-02 -0.34519996E-01 -0.11496038E+01 0.21471727E+01 + -0.14192484E+00 0.68746626E-01 -0.33114925E-01 -0.61117642E-01 + 0.42638429E-01 0.90309940E-02 -0.28206117E-01 -0.93916431E-02 + -0.10890186E-01 0.86654350E-02 -0.62337194E-01 0.79887128E+00 + 0.91313583E+00 -0.18493378E+00 0.26627880E+00 0.28355408E+00 + 0.51949298E+00 0.11120750E+00 0.27354652E+00 -0.12354255E+00 + -0.27485762E-01 -0.33132059E-02 0.10892821E+00 -0.26281744E+00 + 0.44478521E+00 0.60648137E+00 -0.41248816E+00 0.25587833E+00 + -0.95881879E-01 -0.33539433E-01 0.57145733E+00 0.13682044E+00 + -0.25388563E+00 -0.10539192E+00 0.25895590E+00 -0.85921526E-01 + 0.27832451E+01 0.16864960E+02 0.40619507E+01 -0.20387974E+01 + 0.93537438E+00 0.16030453E+01 0.35865557E+00 -0.70939958E+00 + 0.63179672E+00 -0.16262045E+01 0.22060847E+00 0.10916176E+01 + -0.26890576E+00 -0.38157616E+01 -0.31960354E+01 0.17024628E+02 + 0.35198448E+01 0.14320096E+01 -0.42652923E+00 0.44432792E+00 + -0.12067032E+00 -0.51051909E+00 0.10688667E+01 0.34004807E+00 + 0.25413656E+00 -0.20112851E+00 0.69541912E+01 -0.18067734E+02 + 0.91149321E+01 0.38701576E+00 0.36137352E+01 -0.53189087E+01 + -0.11495462E+02 -0.10826283E+01 -0.27792189E+01 0.27802818E+01 + 0.12037230E+01 -0.14036683E+01 -0.12014112E+01 0.12424924E+02 + -0.22949509E+02 -0.12072405E+02 0.37552617E+01 -0.35413675E+01 + 0.57876978E+01 0.79935122E+00 -0.93507404E+01 -0.10703613E+01 + 0.37773590E+01 0.11066065E+01 -0.40062103E+01 -0.51845574E+00 + -0.17640093E+02 -0.10663565E+03 0.76676781E+02 0.15154501E+02 + -0.11779244E+02 -0.14249014E+02 -0.23536949E+01 0.50884314E+01 + -0.77559648E+01 0.10476252E+02 -0.28326015E+01 -0.80197411E+01 + 0.17742893E+01 0.41513287E+02 -0.97553864E+02 -0.95567101E+02 + -0.19530245E+02 -0.16382980E+02 0.50004244E+01 0.46859521E+00 + 0.59307051E+00 0.33864224E+01 -0.85503206E+01 -0.49351854E+01 + -0.36469865E+00 0.17972651E+01 -0.50485668E+02 0.11387515E+03 + -0.35196548E+02 0.13647219E+02 -0.18866573E+02 0.35348221E+02 + 0.61966625E+02 0.28466082E+01 0.12943145E+02 -0.17173037E+02 + -0.69480548E+01 0.11160711E+02 0.54356537E+01 -0.10127907E+03 + 0.11782327E+03 0.68567123E+02 -0.27491041E+02 0.10630719E+02 + -0.37230164E+02 -0.21067331E+01 0.51232285E+02 0.83989620E+01 + -0.19422346E+02 -0.21974297E+01 0.19062988E+02 0.78485546E+01 + 0.37536377E+02 0.21429556E+03 -0.35160007E+03 -0.42891769E+02 + 0.40961731E+02 0.44047211E+02 0.81962329E+00 -0.13827250E+02 + 0.28208023E+02 -0.26970642E+02 0.91622019E+01 0.21888948E+02 + -0.39068768E+01 -0.13467381E+03 0.43239697E+03 0.16293761E+03 + 0.55668140E+02 0.53183453E+02 -0.12969425E+02 -0.54627333E+01 + -0.22841864E+01 -0.78471823E+01 0.25674971E+02 0.17792437E+02 + -0.14446115E+01 -0.57079682E+01 0.15792363E+03 -0.30741357E+03 + 0.12066244E+02 -0.73300522E+02 0.21158735E+02 -0.10123547E+03 + -0.13733228E+03 0.33357602E-01 -0.29374786E+02 0.42309250E+02 + 0.14585931E+02 -0.30827667E+02 -0.13427902E+02 0.27333496E+03 + -0.24579082E+03 -0.17028870E+03 0.87392258E+02 -0.19682510E+02 + 0.87100418E+02 0.28480637E+01 -0.12049127E+03 -0.31395861E+02 + 0.46579376E+02 -0.16486950E+01 -0.39088516E+02 -0.23570740E+02 + -0.31926086E+02 -0.18912199E+03 0.49377737E+03 0.51254742E+02 + -0.55447201E+02 -0.56824295E+02 0.64984665E+01 0.14788384E+02 + -0.39874294E+02 0.31675291E+02 -0.11539884E+02 -0.25417494E+02 + 0.36541967E+01 0.17872554E+03 -0.60567114E+03 -0.10871115E+03 + -0.77059845E+02 -0.71071350E+02 0.11870969E+02 0.10181161E+02 + 0.38203001E+01 0.61157160E+01 -0.31524569E+02 -0.23383057E+02 + 0.37743139E+01 0.61833124E+01 -0.22133594E+03 0.37228467E+03 + 0.54766739E+02 0.12162727E+03 0.21483109E+01 0.12726327E+03 + 0.13672382E+03 -0.70452433E+01 0.30163025E+02 -0.44665482E+02 + -0.12745264E+02 0.35419662E+02 0.16225983E+02 -0.29494238E+03 + 0.23506216E+03 0.19200449E+03 -0.10832541E+03 0.29829514E+02 + -0.84662720E+02 -0.59570789E+01 0.12735706E+03 0.48301056E+02 + -0.52132954E+02 0.77952442E+01 0.36343369E+02 0.26745316E+02 + 0.91377707E+01 0.66141739E+02 -0.22206754E+03 -0.21895308E+02 + 0.25961348E+02 0.26107529E+02 -0.57225595E+01 -0.50952444E+01 + 0.19250319E+02 -0.14170376E+02 0.50944929E+01 0.10638087E+02 + -0.13205595E+01 -0.84391205E+02 0.27314233E+03 0.24791868E+02 + 0.38730946E+02 0.33692505E+02 -0.33924561E+01 -0.61104660E+01 + -0.23151674E+01 -0.92081571E+00 0.13415735E+02 0.10256060E+02 + -0.23337307E+01 -0.19138917E+01 0.11088846E+03 -0.16574036E+03 + -0.44082214E+02 -0.64954498E+02 -0.86842937E+01 -0.57481567E+02 + -0.51243748E+02 0.55801935E+01 -0.11060499E+02 0.16775253E+02 + 0.39023745E+01 -0.14520376E+02 -0.73669634E+01 0.11177200E+03 + -0.84463303E+02 -0.81101242E+02 0.44699478E+02 -0.19768433E+02 + 0.28911028E+02 0.49595222E+01 -0.49829727E+02 -0.25354980E+02 + 0.21757780E+02 -0.52241926E+01 -0.12592972E+02 -0.10411532E+02 + 0.30574525E-01 -0.31148717E-01 -0.33901516E-01 -0.87049472E+00 + 0.20368209E+00 -0.32607842E-01 -0.16634516E-01 0.27669176E-01 + 0.36947880E-01 0.47631599E-02 0.34091133E-02 -0.23116292E-01 + 0.21287637E-01 0.58895040E-01 0.15586517E-01 0.69088884E-01 + -0.21127129E+00 -0.80712032E+00 -0.14075823E-01 -0.17555032E-01 + -0.16835840E-01 0.10679643E-01 -0.12162153E-01 -0.73469686E-02 + -0.37808849E-02 0.10991143E-02 0.62006795E+00 0.13560390E+00 + 0.16468418E+00 0.99273920E-01 -0.26552624E+00 0.37287199E+00 + -0.35812032E+00 -0.19624997E-01 0.44019241E-01 -0.16461615E+00 + 0.20510986E-01 -0.11776924E+00 0.38004398E-01 0.10694619E+01 + 0.31023818E+00 0.14203928E+00 -0.43358117E-01 0.10166669E+00 + 0.41650143E+00 0.48760930E+00 -0.12005377E+00 0.97967386E-01 + -0.15563516E+00 -0.22586858E+00 0.49013637E-01 -0.20813970E-01 + 0.18206575E+01 -0.41084614E+00 0.27921238E+01 0.24209125E+01 + 0.16685303E+01 -0.28808552E+00 -0.90014279E+00 -0.50827682E+00 + -0.45300132E+00 -0.35001542E-01 0.36338080E-01 0.24220031E+00 + -0.31733364E+00 0.43253842E+00 -0.63174385E+00 0.50231868E+00 + -0.17871256E+01 0.42565956E+01 -0.41577768E+00 -0.12443371E-01 + 0.90635937E+00 -0.81871711E-02 0.12240941E+00 -0.58664852E+00 + 0.16192608E-01 -0.34534615E-01 -0.39647152E+01 0.33445108E+00 + -0.17875118E+01 0.35496013E+01 0.51491532E+01 -0.33950500E+01 + 0.13043871E+01 0.25871402E+00 0.68523347E-01 0.13834658E+01 + 0.79948354E+00 0.91803938E+00 -0.45803875E-01 -0.64467535E+01 + -0.20690763E+01 0.49838591E+00 -0.82725662E+00 0.50504017E+01 + -0.24308872E+01 -0.33799701E+01 0.58349323E+00 -0.12550087E+01 + 0.10462332E+01 0.23345356E+01 -0.70762026E+00 0.51471239E+00 + -0.15008720E+02 0.14641235E+02 -0.20451660E+02 0.19731979E+02 + 0.55634995E+01 0.25407569E+01 0.62443285E+01 0.28349655E+01 + 0.24219618E+01 -0.96738267E+00 -0.41830260E+00 -0.83132803E-01 + 0.83228946E+00 -0.45921926E+01 0.10040653E+02 -0.35055697E+01 + -0.40767612E+01 0.60929508E+01 0.75083411E+00 0.31848952E-01 + -0.46174974E+01 -0.34868580E+00 0.49051601E+00 0.39066937E+01 + 0.55248684E+00 -0.44293055E+00 0.63590775E+01 -0.54019079E+01 + 0.35216532E+01 -0.11525576E+02 -0.16511581E+02 0.75384364E+01 + -0.19127111E+01 -0.46861178E+00 -0.16359043E+01 -0.28776960E+01 + -0.27371662E+01 -0.23561430E+01 -0.15143436E+00 0.10229012E+02 + 0.11192627E+01 -0.24896040E+01 0.21574695E+01 -0.16082792E+02 + 0.50335703E+01 0.60995483E+01 0.46528444E-01 0.44228535E+01 + -0.24760294E+01 -0.58701072E+01 0.17978441E+01 -0.14681014E+01 + 0.34721951E+02 -0.42912167E+02 0.43504807E+02 -0.63420731E+02 + -0.24599470E+02 -0.63787670E+01 -0.11826031E+02 -0.60871477E+01 + -0.45813751E+01 0.32331924E+01 0.11356508E+01 -0.13086147E+01 + -0.20494528E+00 0.13705240E+02 -0.26223618E+02 0.63174248E+01 + 0.21032364E+02 -0.33421906E+02 0.69371122E+00 0.33373719E+00 + 0.82973967E+01 0.57793893E-02 -0.35463054E+01 -0.80484915E+01 + -0.15746632E+01 0.11740103E+01 -0.34624617E+01 0.80138206E+01 + -0.30727043E+01 0.99697714E+01 0.14296802E+02 -0.47378616E+01 + 0.91392750E+00 0.25849402E+00 0.23256731E+01 0.17453269E+01 + 0.22083223E+01 0.17524529E+01 0.13290423E+00 -0.44886570E+01 + 0.27600317E+01 0.26766872E+01 -0.16193962E+01 0.12873305E+02 + -0.35492830E+01 -0.32382326E+01 -0.82338870E+00 -0.40521240E+01 + 0.16536398E+01 0.42015963E+01 -0.11780930E+01 0.11460972E+01 + -0.24425173E+02 0.32594193E+02 -0.26974182E+02 0.44860214E+02 + 0.18794022E+02 0.41103077E+01 0.71137910E+01 0.43121300E+01 + 0.26971643E+01 -0.24290111E+01 -0.88320673E+00 0.13616093E+01 + -0.47190928E+00 -0.12868724E+02 0.17487791E+02 -0.35085895E+01 + -0.16604246E+02 0.24305555E+02 -0.93955791E+00 -0.42676288E+00 + -0.49368086E+01 0.68438691E+00 0.36197155E+01 0.52519341E+01 + 0.11007042E+01 -0.74931693E+00 -0.15135264E+00 -0.28601021E-02 + -0.89310586E-01 -0.33103663E-01 0.79293370E-01 -0.50901484E+00 + -0.82532126E+00 0.27812917E-01 0.20369738E-01 0.24551893E-01 + 0.18150743E-01 -0.15981855E-01 0.17871842E-01 0.47308989E-02 + -0.10820432E+00 0.30828550E-01 0.20033805E-01 0.29000899E-01 + 0.75493073E+00 -0.47701424E+00 0.32587878E-02 0.46372227E-01 + -0.10304346E-01 -0.20734092E-01 0.25965126E-01 -0.58355224E-02 + -0.30175501E-01 0.29149771E+00 -0.15922236E+00 -0.23880070E+00 + -0.31934559E+00 -0.21410790E+00 -0.14080048E+00 -0.13714212E+00 + 0.11907786E+00 0.39285962E-01 0.14231239E+00 0.47506593E-01 + -0.21241788E-01 -0.11470717E+00 0.12420136E+00 -0.40786356E-01 + -0.17982394E+00 0.13026784E+00 0.35654247E+00 -0.31161553E+00 + -0.22107504E+00 0.22054937E-01 -0.22563413E-01 -0.27322272E-01 + 0.78594647E-02 0.29850727E-01 0.91586936E+00 0.45026916E+00 + 0.85786003E+00 0.57185078E+00 -0.34676489E+00 0.13745327E+01 + 0.23583157E+01 -0.16617000E+00 -0.55329833E-01 -0.98012567E-01 + -0.80390751E-01 0.74126601E-01 -0.24377273E-01 -0.41545361E+00 + 0.12106429E+01 -0.93434161E+00 0.17056143E+00 -0.64522797E+00 + -0.23836489E+01 0.16357203E+01 -0.10281749E+00 -0.50418890E+00 + 0.29982608E-01 -0.91422498E-01 -0.29078585E+00 0.26920128E-02 + -0.32012028E+00 -0.33131802E+00 0.44400710E+00 0.35786447E+00 + 0.46332926E+00 0.39637893E+00 0.22233672E+00 0.42943183E+00 + -0.11153209E+00 -0.72281182E-01 -0.15658081E+00 -0.14401633E+00 + 0.95212579E-01 0.34326744E+00 -0.40543489E-01 0.20303135E+00 + -0.67969382E-01 -0.69856882E-01 -0.80425560E+00 0.52323300E+00 + 0.22219920E+00 0.59583046E-01 0.29945871E-01 0.43922313E-01 + -0.15566495E-01 -0.91002509E-02 -0.44131526E+00 -0.30327225E+00 + -0.92330807E+00 -0.77402669E+00 0.13792759E+00 -0.20475719E+01 + -0.27376490E+01 0.10802830E+00 -0.65257788E-01 0.78867793E-01 + 0.10399986E+00 0.14911513E-01 -0.53068720E-01 0.66848314E+00 + -0.16395501E+01 0.17826375E+01 -0.61707687E-01 0.10942956E+01 + 0.34093120E+01 -0.27390242E+01 0.11946614E+00 0.77287662E+00 + 0.62772572E-01 0.15083092E+00 0.45553598E+00 -0.37019581E-01 + 0.21583671E-01 0.64543169E-03 -0.51576737E-03 0.58179986E-01 + 0.27645396E-01 0.17042678E-01 0.23695774E-01 0.30250359E+00 + -0.15979145E+00 0.11132519E-01 0.16834153E-01 -0.14365312E-01 + -0.20031256E-02 0.37123352E-01 0.31039353E-01 -0.32179166E-01 + 0.90723857E-02 -0.57725225E-01 0.15170094E-01 0.13725638E-01 + 0.11982990E+00 0.30412436E+00 0.16133189E-01 0.21785470E-02 + 0.67538656E-02 -0.11140664E-01 -0.14433792E-02 0.11381990E+00 + -0.10765873E+00 -0.10239578E+00 -0.81107616E-01 -0.61356388E-01 + 0.38089097E-01 0.56286901E-01 0.27529797E-01 -0.90354145E-01 + 0.81266291E-01 0.29821135E-03 0.13847735E-01 0.18724556E+00 + 0.95570683E-02 -0.21760222E-01 0.13237506E+00 0.12431902E+00 + -0.66988230E-01 -0.10429621E+00 -0.10871854E-01 -0.82563143E-03 + -0.46499766E-01 -0.35336360E-01 0.74498015E-02 -0.50428431E-02 + -0.87155998E-01 0.10371951E-01 -0.10520716E+00 0.13535340E-01 + -0.12469282E-01 0.89040734E-02 0.31624246E-01 0.37560670E-02 + -0.11854895E-01 0.15747432E+00 0.22601800E+00 -0.16246822E-01 + -0.11745606E-01 0.61789233E-01 0.55235766E-01 -0.75306930E-02 + -0.16015358E-01 -0.22144975E-01 0.42483758E-01 -0.94584078E-02 + -0.29955332E-04 -0.20362385E-01 -0.22954024E+00 0.14123082E+00 + 0.11846970E-01 -0.48866947E-02 0.41830935E-01 -0.25836840E-01 + 0.33995997E-01 -0.30328433E-02 -0.43513551E-02 0.32394242E-01 + 0.24555245E-01 0.15828688E-01 -0.14602710E-01 0.79171918E-02 + -0.24579484E-02 -0.12720142E+00 0.61430715E-01 0.11831303E-01 + 0.48629563E-01 -0.36074687E-01 0.10915473E-01 0.65989308E-02 + 0.81955455E-02 -0.26336169E-01 -0.81899911E-02 -0.11951328E-01 + -0.18219598E-01 -0.14673568E-01 -0.55252790E-01 -0.12856483E+00 + -0.18628046E-01 -0.58445823E-02 -0.82438052E-01 0.24269115E-01 + 0.24777472E-01 -0.10445635E-01 -0.56395717E-02 0.88527240E-02 + -0.72764158E-02 0.19107532E-03 -0.24804154E-01 0.88188238E-02 + 0.33777922E-02 0.22041785E-01 0.75239122E-01 0.32701150E-01 + -0.36235764E-02 0.28052097E-01 0.17236879E-01 0.44026834E-03 + -0.37383430E-01 0.11369156E-02 0.21209640E-02 0.54265261E-02 + 0.13008385E-02 0.85698180E-02 0.10458429E-01 -0.10118044E-02 + -0.77243917E-01 0.30200144E-04 0.16539749E-01 -0.37585136E-02 + 0.45206279E-01 -0.19975778E-01 0.64657144E-02 0.45526288E-02 + -0.13365079E-01 0.17035088E-01 0.60681738E-02 -0.31197893E-01 + 0.27110072E-01 -0.81724226E-02 0.53124391E-01 -0.37347761E-03 + -0.60616839E-02 0.15380550E-01 0.24982354E-01 0.43096021E-02 + -0.35201445E-01 -0.23587817E-01 -0.47319382E-02 0.29201475E-02 + 0.93594637E+01 0.11758082E-01 0.84277689E-01 0.73569536E-01 + 0.11903163E-01 -0.44155391E-02 -0.15138904E-01 0.74017155E-02 + -0.15588633E-01 0.36506955E-01 -0.14251898E-02 -0.65558036E-02 + -0.18775852E-02 0.88674414E+00 0.51994503E-01 0.62100887E-02 + -0.30662936E+00 -0.13489079E+00 -0.16742069E+00 -0.27921742E+00 + -0.73416770E-01 -0.51260430E-01 0.34743931E-01 -0.64074218E-01 + -0.14990612E-01 -0.33514559E-01 0.29466921E+02 -0.10430384E+01 + -0.17538365E+01 0.64629501E+00 0.15527000E+01 -0.81919438E+00 + 0.24933694E+00 0.21972422E+00 0.14215916E+00 -0.14595737E+01 + 0.24961293E+00 0.30417073E+00 -0.55456985E-01 -0.67446027E+01 + 0.40613860E+00 0.46058159E+01 0.29142275E+01 0.43435965E+01 + 0.19936314E+01 0.27405975E+01 0.19893138E+01 0.26587334E+01 + -0.36289036E+00 0.87958097E+00 0.43432504E+00 0.45760855E+00 + -0.14369508E+03 0.82375011E+01 0.86440678E+01 -0.11147150E+02 + -0.15416178E+02 0.78732023E+01 0.98172742E+00 -0.10455227E+01 + 0.79332030E+00 0.88577414E+01 -0.20928278E+01 -0.17485448E+01 + -0.37013817E+00 -0.38804271E+01 -0.24045441E+02 -0.22236849E+02 + -0.39119642E+01 -0.14422158E+02 -0.11314327E+02 -0.11605090E+02 + -0.11023641E+02 -0.19990582E+02 0.18404474E+01 -0.36433990E+01 + -0.19584159E+01 -0.16701307E+01 0.24726463E+03 -0.13912272E+02 + -0.16638885E+02 0.39193115E+02 0.45437637E+02 -0.20975449E+02 + -0.71870813E+01 0.10358953E+01 -0.41288271E+01 -0.20344755E+02 + 0.61743193E+01 0.37249968E+01 0.23654852E+01 0.73438400E+02 + 0.85878952E+02 0.28821285E+02 -0.12087472E+02 0.15061756E+02 + 0.27009081E+02 0.25284409E+02 0.25017273E+02 0.52237438E+02 + -0.39412920E+01 0.60525675E+01 0.32629385E+01 0.20258255E+01 + -0.20673763E+03 0.37566128E+01 0.14237962E+02 -0.50470261E+02 + -0.52279781E+02 0.21282148E+02 0.11163843E+02 0.52002543E+00 + 0.55029087E+01 0.20240616E+02 -0.74278593E+01 -0.33429353E+01 + -0.35941296E+01 -0.11962259E+03 -0.10679832E+03 -0.54719858E+01 + 0.29441711E+02 -0.20143700E+01 -0.27501463E+02 -0.26564102E+02 + -0.25437057E+02 -0.56287430E+02 0.34835873E+01 -0.41210537E+01 + -0.22583301E+01 -0.41311580E+00 0.69616791E+02 0.29591660E+01 + -0.46051245E+01 0.21710464E+02 0.20603971E+02 -0.72812705E+01 + -0.51570253E+01 -0.75040770E+00 -0.23034897E+01 -0.73399339E+01 + 0.31145620E+01 0.10590287E+01 0.16675491E+01 0.55920959E+02 + 0.44685558E+02 -0.57169743E+01 -0.16177475E+02 -0.28279171E+01 + 0.99622288E+01 0.10504270E+02 0.95728416E+01 0.21457169E+02 + -0.10309287E+01 0.88172019E+00 0.53643727E+00 -0.38652465E+00 + -0.91051519E-01 0.16604548E+01 0.15699625E+01 0.76715767E-01 + 0.43537371E-01 -0.13598571E-01 0.49196348E-01 0.54983902E-02 + -0.43234859E-01 0.35610508E-01 0.33476464E-01 -0.23877522E-01 + -0.35067953E-03 0.12912869E+00 -0.15785017E+01 0.15362043E+01 + -0.14700162E+00 0.59193391E-01 -0.35832047E-01 -0.21853300E-01 + 0.66302009E-02 0.16508464E-01 0.10124203E-01 0.11756689E-01 + -0.16161021E-01 -0.59979521E-02 -0.84079021E+00 0.12545851E+01 + -0.53319615E+00 -0.38466424E+00 0.71295905E+00 0.44927460E+00 + 0.46575683E+00 0.96385419E-01 0.24827370E+00 -0.49310956E-01 + -0.60446393E-01 -0.82794249E-01 0.53030346E-01 0.93256640E+00 + -0.20340858E+00 0.24310620E+00 -0.10172791E+00 0.75127989E+00 + 0.97861581E-01 0.30854338E+00 0.39208812E+00 0.25966078E-01 + -0.73293746E-01 -0.10588093E+00 0.91211319E-01 -0.16803260E+00 + 0.31397121E+01 0.17180099E+02 -0.13800440E+02 0.70740998E-01 + 0.46341306E+00 0.14315277E+00 -0.44296425E-01 0.59252042E+00 + 0.15348605E+01 -0.11630144E+01 -0.22830708E+00 0.94050133E+00 + -0.27207708E+00 -0.83226337E+01 0.16027708E+02 0.18227188E+02 + 0.24127636E+01 0.16124907E+01 0.64143932E+00 -0.48962837E+00 + 0.14949484E+01 -0.68322611E+00 -0.83393395E+00 -0.21246541E+00 + 0.36369675E+00 0.15471222E-01 0.25553757E+02 -0.20131187E+01 + 0.26365784E+02 -0.37747600E+01 -0.64699764E+01 -0.78558402E+01 + -0.10889876E+02 -0.23848505E+00 -0.30194919E+01 0.15077209E+01 + 0.17867328E+01 0.61363947E+00 -0.83897746E+00 -0.97228460E+01 + -0.83611345E+01 0.63290434E+01 0.16351891E+01 -0.20032822E+02 + 0.44843369E+01 -0.30204687E+01 -0.67688689E+01 0.79144502E+00 + 0.25467318E+00 0.99470073E+00 -0.17565976E+01 0.14626292E+01 + -0.19355896E+02 -0.47454224E+02 0.12098094E+03 -0.89022665E+01 + -0.42745752E+01 -0.45515871E+01 0.30617991E-01 -0.31281147E+01 + -0.12787306E+02 0.67629743E+01 0.81136113E+00 -0.72240005E+01 + 0.21611481E+01 0.77719879E+02 -0.15284087E+03 -0.28094070E+02 + -0.12935535E+02 -0.18593325E+02 -0.32531595E+01 0.55940328E+01 + -0.11318360E+02 0.32409828E+01 0.75526605E+01 0.48537755E+00 + -0.15223312E+01 0.88688982E+00 -0.16509647E+03 -0.13600341E+02 + -0.14347475E+03 0.67285431E+02 0.29329422E+02 0.45942947E+02 + 0.55822556E+02 -0.64459357E+01 0.13185073E+02 -0.11480048E+02 + -0.14453206E+02 -0.30418861E+00 0.47256918E+01 0.55850414E+02 + 0.47293289E+02 -0.38787140E+02 -0.14584156E+02 0.12430083E+03 + -0.31622999E+02 0.13420869E+02 0.35762142E+02 -0.36125880E+00 + -0.15479679E+01 -0.12744303E+01 0.86030378E+01 -0.44953403E+01 + 0.38700027E+02 -0.28222197E+02 -0.30419238E+03 0.39386948E+02 + 0.15715429E+02 0.20906570E+02 -0.27541666E+01 0.65622759E+01 + 0.40180481E+02 -0.16013824E+02 -0.15492725E+01 0.20418943E+02 + -0.60262117E+01 -0.24083034E+03 0.41435205E+03 -0.13463225E+03 + 0.38008820E+02 0.62823849E+02 0.78923759E+01 -0.17364426E+02 + 0.29752790E+02 -0.36583557E+01 -0.22033188E+02 -0.86091959E+00 + 0.23167665E+01 -0.40712490E+01 0.43789868E+03 0.37758240E+02 + 0.30222437E+03 -0.25211703E+03 -0.68283478E+02 -0.12247943E+03 + -0.11544856E+03 0.29691114E+02 -0.26862549E+02 0.32532578E+02 + 0.40526031E+02 -0.55368466E+01 -0.12097772E+02 -0.16987952E+03 + -0.98175888E+02 0.93504868E+02 0.44424988E+02 -0.31534619E+03 + 0.75678291E+02 -0.27929535E+02 -0.75439178E+02 -0.14984092E+02 + 0.86548948E+01 -0.38562279E+01 -0.19092194E+02 0.82323360E+01 + -0.28264296E+02 0.16086137E+03 0.33062646E+03 -0.60156815E+02 + -0.25561417E+02 -0.33909607E+02 0.69856234E+01 -0.67728310E+01 + -0.52560555E+02 0.17889969E+02 0.16138610E+01 -0.24223925E+02 + 0.70134721E+01 0.30368723E+03 -0.46959616E+03 0.33666504E+03 + -0.55255215E+02 -0.86959839E+02 -0.90647650E+01 0.22722626E+02 + -0.31628494E+02 -0.20313890E+01 0.26141890E+02 0.15387295E+01 + -0.10764122E+01 0.55649920E+01 -0.51269458E+03 -0.24774506E+02 + -0.26924045E+03 0.35456689E+03 0.72959488E+02 0.14845412E+03 + 0.10644101E+03 -0.44661758E+02 0.25646072E+02 -0.38323624E+02 + -0.45829041E+02 0.11802900E+02 0.13949015E+02 0.23760628E+03 + 0.85215302E+02 -0.10850819E+03 -0.47027058E+02 0.35732687E+03 + -0.74357651E+02 0.24879044E+02 0.67221268E+02 0.34626282E+02 + -0.15760850E+02 0.95299788E+01 0.20570358E+02 -0.99656219E+01 + 0.57932053E+01 -0.10340133E+03 -0.13253651E+03 0.30239807E+02 + 0.14212955E+02 0.18223083E+02 -0.44180136E+01 0.29476211E+01 + 0.24200895E+02 -0.79207330E+01 -0.70972711E+00 0.10236231E+02 + -0.29160755E+01 -0.13413786E+03 0.19037308E+03 -0.19506718E+03 + 0.28727465E+02 0.42836151E+02 0.36783915E+01 -0.11200488E+02 + 0.11366664E+02 0.33454435E+01 -0.10977008E+02 -0.10146284E+01 + -0.15341073E+00 -0.23435020E+01 0.21834229E+03 -0.54074174E+00 + 0.81919067E+02 -0.17072714E+03 -0.27865326E+02 -0.65729050E+02 + -0.36894897E+02 0.22338470E+02 -0.91411533E+01 0.15863236E+02 + 0.18038864E+02 -0.67405639E+01 -0.59032984E+01 -0.11627515E+03 + -0.24264629E+02 0.48176727E+02 0.13980582E+02 -0.15089851E+03 + 0.25507414E+02 -0.73551226E+01 -0.20702438E+02 -0.20904860E+02 + 0.87487831E+01 -0.55933890E+01 -0.86189528E+01 0.53419051E+01 + 0.78886330E-01 -0.29637569E+00 -0.60464900E-01 -0.71206862E+00 + 0.59372735E+00 -0.20558242E-01 0.48958015E-01 0.17571803E-01 + 0.42676930E-02 -0.61578047E-02 0.21608405E-01 0.51746960E-03 + -0.57962169E-02 -0.11099775E-01 -0.77226818E-01 -0.35840608E-01 + -0.68324238E+00 -0.71531457E+00 -0.41512378E-01 -0.81707276E-02 + -0.76341666E-02 0.20536050E-01 0.75761302E-04 0.10275764E-01 + -0.93738479E-03 0.10511256E-02 0.13842400E+01 -0.49234234E-01 + 0.12677438E-01 -0.10571032E+01 0.10398120E+00 0.59301776E+00 + -0.14417672E+00 -0.12642121E+00 -0.50918173E-01 -0.13518077E+00 + 0.30521564E-01 -0.12413521E+00 -0.55086076E-01 0.13468283E+01 + 0.45321479E+00 0.33050817E-01 -0.19486004E+00 -0.84212869E+00 + 0.33315790E+00 0.56156081E+00 -0.21251965E+00 0.18369168E+00 + -0.45716692E-01 -0.15525162E+00 -0.21887373E-02 -0.13814416E-01 + 0.13547544E+01 0.35052299E+01 0.39791515E+01 -0.39452152E+01 + 0.91488066E+01 -0.59917301E+00 -0.23404016E+01 0.19902436E+00 + 0.28914595E+00 0.32449687E+00 -0.30973130E+00 -0.13093150E+00 + 0.24543996E+00 0.93270177E+00 0.10100641E+01 0.21535051E+01 + -0.79689913E+01 -0.27236197E+01 0.71202475E+00 -0.46545172E+00 + 0.11434031E+01 -0.18245190E+00 -0.40821990E+00 -0.56782430E+00 + -0.14069527E-01 -0.91296136E-01 -0.10542485E+02 0.11633003E+00 + -0.27338638E+01 0.60308561E+01 0.38688376E+01 -0.47813063E+01 + -0.80322623E-01 0.11000690E+01 0.13760308E+01 0.10471878E+01 + -0.10195703E+00 0.84878850E+00 0.67848611E+00 -0.11052454E+02 + -0.35547702E+01 -0.17437516E+01 -0.14164075E+01 0.29000559E+01 + -0.17477272E+00 -0.31872110E+01 0.15479764E+01 -0.11199074E+01 + 0.35770196E-01 0.15186518E+01 -0.51870155E+00 0.42309418E+00 + -0.12578058E+02 -0.68359618E+01 -0.30894136E+02 0.29231522E+02 + -0.37497787E+02 0.42103472E+01 0.13634277E+02 -0.23105450E+01 + -0.25411384E+01 -0.20200243E+01 0.17991819E+01 0.12031136E+01 + -0.22861774E+01 -0.45937929E+01 0.20954573E+01 -0.12322833E+02 + 0.30053970E+02 0.19175720E+02 -0.63447342E+01 0.20542047E+01 + -0.71390734E+01 -0.82132202E+00 0.34279487E+01 0.34167354E+01 + 0.95250791E+00 -0.24310122E+00 0.24285004E+02 -0.33831911E+01 + 0.87184391E+01 -0.14099851E+02 -0.16883636E+02 0.11646293E+02 + 0.59411901E+00 -0.24929810E+01 -0.56281357E+01 -0.20639105E+01 + 0.36040887E+00 -0.18116416E+01 -0.17643518E+01 0.24702208E+02 + 0.38919735E+01 0.61029816E+01 0.65146122E+01 -0.22756844E+01 + -0.12218447E+01 0.49939818E+01 -0.24445648E+01 0.28680897E+01 + -0.10368447E+00 -0.39225388E+01 0.16193438E+01 -0.12233028E+01 + 0.28191435E+02 0.78694779E+00 0.64988586E+02 -0.59622391E+02 + 0.50546677E+02 -0.93377047E+01 -0.25691008E+02 0.49692049E+01 + 0.66733646E+01 0.38342440E+01 -0.33193254E+01 -0.28077450E+01 + 0.59086132E+01 0.68308530E+01 -0.11145399E+02 0.20142715E+02 + -0.35770203E+02 -0.34637833E+02 0.14650714E+02 -0.28380070E+01 + 0.14030186E+02 0.30224793E+01 -0.93840456E+01 -0.67304082E+01 + -0.30187073E+01 0.13366690E+01 -0.19719055E+02 0.68867254E+01 + -0.97942543E+01 0.12571601E+02 0.16866743E+02 -0.80991716E+01 + -0.60612911E+00 0.14781256E+01 0.55502701E+01 0.12907429E+01 + -0.25038749E+00 0.10915365E+01 0.11269932E+01 -0.16954178E+02 + 0.31211653E+01 -0.45404320E+01 -0.60521488E+01 0.81650001E+00 + 0.11353197E+01 -0.19928207E+01 0.10430183E+01 -0.25809250E+01 + 0.46962976E-01 0.30409877E+01 -0.11915779E+01 0.96175605E+00 + -0.18254305E+02 0.40652580E+01 -0.38976639E+02 0.37998062E+02 + -0.22253876E+02 0.54544687E+01 0.15347374E+02 -0.28659790E+01 + -0.52428360E+01 -0.22536192E+01 0.18733271E+01 0.18808315E+01 + -0.43471785E+01 -0.42598820E+01 0.68740034E+01 -0.86680908E+01 + 0.13091698E+02 0.19776108E+02 -0.94230890E+01 0.93041646E+00 + -0.87512522E+01 -0.19371969E+01 0.73051834E+01 0.41424298E+01 + 0.23743391E+01 -0.12347584E+01 -0.10308002E+00 -0.11345816E+00 + -0.42388607E-01 -0.54478396E-01 0.37894849E-01 -0.71249014E+00 + -0.99690706E+00 0.42135198E-01 -0.17244508E-01 0.18175336E-01 + 0.22615844E-01 0.40037408E-02 -0.35507255E-02 -0.27820380E-01 + -0.77944398E-01 0.14688867E+00 0.16636170E-01 0.53210996E-01 + 0.95628870E+00 -0.70051461E+00 0.17104764E-01 0.31993400E-01 + -0.93262866E-02 -0.18731829E-01 0.20413630E-01 -0.50872727E-03 + 0.29756284E+00 0.12934244E+00 -0.18983012E+00 0.71824849E-01 + -0.41808224E+00 -0.11720638E+00 -0.41143599E+00 -0.28631786E-01 + 0.21437567E+00 0.25426919E-01 0.33951659E-01 0.75097613E-01 + -0.22934020E-01 0.60831446E-01 0.26703393E+00 0.11492735E+00 + -0.14872837E+00 0.15820682E+00 0.73452610E+00 -0.15326774E+00 + -0.20186377E+00 0.79028957E-01 -0.39597563E-02 -0.69052167E-02 + -0.35170142E-02 0.39248485E-01 0.77993286E+00 0.11083746E+01 + 0.43744078E+00 0.59175074E+00 0.27468514E+00 0.27732401E+01 + 0.21687405E+01 -0.25144768E+00 0.20495268E-01 -0.25761267E-01 + 0.13951998E-02 -0.70093565E-01 0.10886872E+00 -0.10175123E+01 + 0.14403580E+01 -0.19194680E+01 0.23482403E-01 -0.27122623E+00 + -0.25169382E+01 0.30849991E+01 -0.93018353E-01 -0.32557720E+00 + -0.32845687E-01 0.71069181E-01 -0.18071032E+00 -0.11195785E+00 + -0.68460888E+00 0.29701370E+00 0.60023886E+00 0.74086189E-01 + 0.98181754E+00 0.17232141E-01 0.71498251E+00 0.15950716E+00 + -0.32126063E+00 -0.25459522E-01 0.10034925E+00 -0.21438284E+00 + 0.80607355E-01 0.29350961E-01 -0.52844387E+00 -0.36183965E+00 + -0.28149527E+00 0.92464566E-01 -0.15573701E+01 -0.51209647E-01 + 0.32866800E+00 -0.38855325E-01 0.12696608E-01 0.45670737E-01 + -0.69922102E-02 -0.22250840E-01 -0.49448672E+00 -0.11309271E+01 + -0.43056560E+00 -0.97913963E+00 -0.75081778E+00 -0.50914221E+01 + -0.24884195E+01 0.29986811E+00 0.74715838E-02 -0.13069282E-01 + -0.12120259E+00 0.20640136E+00 -0.19321388E+00 0.16908380E+01 + -0.17447996E+01 0.30932491E+01 -0.34096673E+00 0.17136320E-01 + 0.35928824E+01 -0.54552412E+01 0.32137137E-01 0.51082975E+00 + 0.19546562E+00 -0.10672492E+00 0.28139514E+00 0.41073266E-01 + -0.29096516E-01 0.21864381E-01 0.12243152E-01 0.32921236E-01 + 0.26921557E-01 -0.18893566E-01 0.16802768E-02 0.28694057E+00 + -0.29211944E+00 0.16393879E-01 0.94393194E-02 -0.60703456E-02 + -0.10121062E-02 0.22870012E-01 0.40416900E-01 0.20207793E-02 + 0.28009051E-01 -0.47511235E-01 0.16151294E-01 0.41487217E-02 + 0.24980807E+00 0.29251510E+00 -0.41429587E-02 0.31435890E-02 + 0.86209811E-02 -0.10191371E-01 -0.31774394E-01 0.34211449E-01 + -0.82030535E-01 0.80120206E-01 0.52378405E-01 -0.12363160E+00 + 0.10513848E+00 0.79557300E-01 -0.65318108E-01 -0.10646765E+00 + 0.76470137E-01 0.25804229E-02 0.20964760E-01 0.12791419E+00 + 0.45520249E-02 0.28757796E-01 0.62985361E-01 0.84955096E-01 + -0.12073988E+00 -0.98188937E-01 0.52158497E-01 0.69911301E-01 + -0.42228647E-01 -0.41942723E-01 -0.53663676E-04 0.20629903E-01 + -0.84972262E-01 0.74791489E-02 -0.72876990E-01 0.54825366E-01 + 0.78998543E-02 0.21651429E-02 0.11295613E-01 -0.22708066E-01 + -0.24967114E-01 0.23709925E+00 0.20721009E+00 -0.75820689E-02 + -0.66711716E-02 0.91338404E-01 0.75325787E-01 -0.11707541E-01 + -0.18225780E-02 -0.68179369E-02 0.26803996E-01 0.29882746E-01 + -0.50773583E-02 -0.38290664E-02 -0.20912650E+00 0.21416287E+00 + -0.53014234E-03 0.60032639E-02 0.42857222E-01 -0.81398368E-01 + -0.70250402E-02 0.28814858E-01 0.10183388E-01 0.45627076E-01 + 0.34210831E-01 -0.13469204E-01 -0.16962208E-01 0.95584542E-02 + 0.76674409E-02 -0.11811173E+00 0.10944933E+00 0.37916858E-01 + 0.34320731E-01 -0.38995236E-01 -0.11582066E-01 0.56862938E-02 + 0.19178797E-01 -0.19646438E-01 -0.19834880E-02 -0.70472513E-02 + -0.87856874E-02 -0.38532328E-02 -0.12558442E+00 -0.99743485E-01 + -0.44582158E-01 -0.84324479E-01 -0.50034773E-01 0.46942957E-01 + 0.46193041E-02 0.71701999E-02 -0.12611548E-01 0.95665874E-03 + -0.12036864E-01 -0.67090063E-04 -0.20105047E-01 0.25720501E-02 + 0.19281612E-02 -0.26651990E-01 0.87436736E-01 0.20321310E-01 + -0.69049001E-01 0.10091057E-02 0.10883667E-01 -0.17108638E-01 + -0.87443851E-02 0.57800971E-02 0.46012322E-02 0.20599570E-01 + -0.53997189E-02 0.58125625E-02 -0.57532750E-02 0.34642287E-01 + 0.31471014E-01 -0.11714597E-01 -0.16319931E-01 -0.50641309E-01 + 0.25461501E-01 0.27247520E-01 0.11968784E-01 0.18001124E-01 + -0.22403056E-01 0.21385523E-01 0.13279281E-01 -0.25084522E-01 + 0.21860246E-01 0.28222948E-02 0.35862550E-01 0.60812443E-01 + 0.43446869E-02 0.19660836E-01 0.30596416E-01 -0.88513829E-02 + -0.24848018E-01 -0.96459314E-02 -0.90757385E-02 -0.20335526E-02 + 0.29977398E+01 -0.81961863E-02 0.18906318E-01 0.31932627E-02 + -0.40838043E-02 -0.23357219E-03 0.76571526E-02 -0.79752170E-02 + 0.34400285E-03 0.20014942E+00 -0.29716199E-01 0.52193098E-01 + 0.37738368E-01 -0.50039212E-02 -0.29981712E-01 -0.13986629E-01 + 0.22926545E-02 -0.21308565E-02 0.13428993E+01 0.44498190E-01 + -0.18523584E+00 -0.17925262E+00 0.45948785E-01 0.47860365E-01 + -0.33176940E-01 0.42967811E-01 0.43051202E-01 -0.47216853E+00 + -0.16368181E+00 -0.10566968E+00 -0.59037436E-01 -0.33112377E-01 + 0.11583865E+00 0.14226821E-01 0.78643629E-04 0.69223386E-02 + -0.23492825E+01 0.67165673E-01 0.47879130E+00 0.52358502E+00 + -0.15943331E+00 -0.14764255E+00 0.48829697E-01 -0.51714528E-01 + -0.10612428E+00 0.24342522E+00 0.16540092E+00 0.64394534E-01 + 0.85904822E-02 0.40568676E-01 -0.88596344E-01 -0.20141602E-02 + -0.10498879E-02 -0.26079479E-02 0.11590290E+01 -0.87880909E-01 + -0.30248934E+00 -0.36426729E+00 0.13489676E+00 0.10174662E+00 + -0.20617874E-01 0.17740108E-01 0.64807892E-01 0.14391306E-01 + -0.21309040E+00 -0.33884132E+00 0.10892763E-01 -0.42811520E-02 + -0.25248926E-02 0.12565411E-01 -0.44771396E-02 0.69199530E-02 + 0.26753717E-02 0.35680091E+00 -0.20014954E+00 -0.98086223E-02 + 0.87794177E-02 -0.34690206E-02 -0.91818944E-02 0.56939311E-02 + 0.10811757E-01 -0.10302395E+00 0.19964647E+00 0.12284160E+00 + 0.62227909E-01 0.39830700E-01 -0.31292230E-01 -0.18277897E-01 + 0.34071937E-01 -0.24559934E-01 0.73183656E-01 -0.31019021E-01 + 0.22225292E+00 -0.79470754E-01 -0.39866906E-01 0.20936767E-01 + -0.13295945E-01 0.57061117E-01 0.55259667E-01 -0.22905076E+00 + 0.90782642E+00 0.16330605E+01 0.19163444E-02 0.35776567E-01 + 0.49570460E-01 -0.11902386E+00 0.45402091E-01 -0.11314363E+00 + -0.39456537E+00 -0.17365063E+01 0.86957514E+00 0.16775034E+00 + -0.85004151E-01 0.42578943E-01 0.72186649E-01 -0.78504860E-01 + -0.12058395E+00 0.13912697E+01 -0.96152514E+00 -0.60672939E+00 + -0.13106681E-01 -0.41902941E+00 0.11963302E+00 0.62974282E-02 + -0.18483324E+00 0.25544435E+00 0.54170632E+00 0.34240025E+00 + -0.99347806E+00 0.24775451E+00 0.47574925E+00 -0.18045484E+00 + 0.13595831E+00 -0.61139071E+00 -0.26010543E+00 0.74438137E+00 + -0.80979353E+00 -0.17164000E+01 -0.35758603E+00 -0.14151997E-01 + -0.13134676E+00 0.27793384E+00 -0.11998469E+00 0.27071470E+00 + 0.13506945E+01 0.16267356E+01 -0.12598553E+01 -0.31339693E+00 + 0.68517029E-01 -0.18701576E+00 -0.86923420E-01 0.14469230E+00 + 0.22702868E+00 -0.34414785E+01 0.10698557E+01 0.14466066E+01 + -0.78836627E-01 0.10688086E+01 -0.78987241E-01 0.20188455E+00 + 0.36264935E+00 -0.72390538E+00 -0.21533566E+01 -0.86708015E+00 + 0.16319656E+01 -0.28797519E+00 -0.10868006E+01 0.50646031E+00 + -0.39900687E+00 0.15120944E+01 0.29860812E+00 -0.48577076E+00 + 0.13015091E+00 0.95722878E+00 0.44391340E+00 -0.32366667E-01 + 0.12413591E+00 -0.17610566E+00 0.96929371E-01 -0.16703933E+00 + -0.11894512E+01 -0.38839000E+00 0.71710134E+00 0.12543809E+00 + 0.23892200E-01 0.17996968E+00 -0.33655792E-01 -0.64367652E-01 + -0.11553252E+00 0.22641020E+01 -0.19882113E-01 -0.99476326E+00 + -0.88516831E-01 -0.73695374E+00 0.47051865E-02 -0.22439906E+00 + -0.23656234E+00 0.55085856E+00 0.17834071E+01 0.62063682E+00 + -0.85358530E+00 0.12144196E+00 0.67288089E+00 -0.39924723E+00 + 0.35274625E+00 -0.10284061E+01 -0.55081528E-01 -0.42461529E-02 + -0.19090572E-01 -0.21750685E-02 0.77972591E-01 -0.10230899E+00 + -0.61414950E-02 -0.60802400E-02 -0.60765664E-02 -0.31842440E-02 + 0.36602344E-02 -0.20476624E-01 0.19559986E-02 0.12126583E+00 + 0.80235839E-01 -0.91823526E-02 -0.76314099E-02 0.35730619E-02 + -0.18788263E-02 0.73799253E-01 0.18658286E+00 0.25844133E-01 + 0.38106725E-01 0.13187512E-01 0.33492073E-01 -0.36260985E-01 + -0.13196411E-01 -0.99324882E-02 0.14192871E-01 -0.25389522E-01 + -0.18034408E-01 0.66986740E-01 0.37657667E-01 0.83836555E-01 + -0.19943714E-01 -0.24610313E-01 0.22301380E-01 -0.17031062E+00 + 0.24293564E+00 -0.47562115E-01 -0.18710291E+00 -0.21173184E+00 + 0.45424968E-01 0.10562469E+00 0.11877581E-01 0.27717492E-01 + -0.23334759E+00 0.18515386E-01 -0.18031676E+00 0.16339771E+00 + -0.16562819E+00 0.22401253E-01 0.12215626E+00 -0.20599376E-01 + -0.22505933E-01 -0.23864312E+00 -0.10410758E+01 0.20875807E+00 + 0.41495822E-02 -0.14400750E+00 -0.13934612E-01 0.98016083E-01 + 0.64151287E-01 -0.90540037E-03 0.43185464E+00 0.47100693E+00 + 0.23188818E+00 -0.12820059E+00 0.30625874E+00 -0.37186649E+00 + 0.27746355E-01 0.18685448E+00 -0.14788830E+00 0.31099784E+00 + -0.51439345E+00 0.33028477E-02 -0.17644372E-01 0.89867830E-01 + -0.63249946E-01 -0.14556962E+00 -0.11969469E-01 -0.39798412E-01 + 0.37246841E+00 -0.99704146E-01 0.28348404E+00 -0.27310556E-01 + -0.17952356E-02 0.30666629E-01 -0.20847888E+00 -0.28230350E-02 + 0.19477865E-01 0.20202784E+00 0.14707640E+01 -0.31790841E+00 + -0.87093830E-01 0.18147080E+00 -0.21470474E-01 -0.88236153E-01 + -0.84560633E-01 0.35590552E-01 -0.68945134E+00 -0.61575747E+00 + -0.83507538E-01 0.61113440E-01 -0.57205105E+00 0.39900196E+00 + 0.70120335E-01 -0.22128370E+00 0.17749646E+00 -0.23316428E-01 + 0.12048602E-01 0.23783315E-02 0.92227734E-03 0.47883238E-02 + 0.22830907E-01 -0.44083364E-01 -0.45512468E-02 0.17387260E-02 + -0.70657879E-02 -0.15885700E-01 -0.40105842E-02 -0.69217123E-02 + -0.58886260E-02 0.35231207E-01 0.42952798E-01 0.33667523E-02 + -0.20392444E-02 0.59208654E-01 0.63783467E-01 0.12437731E-01 + -0.64228058E-01 0.13783633E-01 -0.51416833E-01 0.18383341E-01 + 0.69502769E-02 0.81083290E-02 0.40749948E-01 -0.75332182E-02 + -0.27416047E-01 -0.33444658E-01 -0.19954121E-01 0.60441415E-02 + -0.56821901E-01 0.11292342E-02 0.17509492E-01 -0.67723930E-01 + -0.14539140E+00 -0.30557400E-01 0.45087747E-02 -0.46182219E-01 + -0.15280163E+00 -0.10240619E+00 0.26795983E-01 -0.21112163E-02 + -0.47966205E-01 0.10730193E-01 -0.31358361E-01 0.15586140E-01 + -0.61677694E-02 0.13321459E+00 -0.20194066E+00 0.10347780E-01 + -0.12390454E-01 -0.18478956E-01 -0.15848845E-01 0.85952654E-02 + 0.16202677E-01 0.12485576E-02 -0.19915239E-02 0.31446819E-02 + 0.44241477E-01 -0.30390825E-03 -0.94869845E-02 0.91496035E-02 + -0.60107480E-02 -0.70505962E-02 -0.37957486E-02 0.63174265E-03 + 0.55268030E-02 -0.33853739E-03 0.48207466E-01 0.65101504E-01 + 0.29953867E-01 -0.47032386E-02 -0.26011158E-01 -0.31840345E-02 + 0.30755347E-02 0.13277408E-02 0.22132436E-01 0.82672723E-02 + -0.78570247E-02 -0.45788117E-01 0.51256302E-02 0.33361401E-01 + -0.11823521E-01 -0.16863131E-02 -0.15676618E-01 0.17375017E-01 + 0.15721172E-01 0.64684786E-02 -0.96570849E-02 0.89065656E-02 + -0.50537400E-02 -0.49813055E-02 0.20753630E-02 0.76234303E-02 + -0.90143494E-02 0.38806566E-02 0.70466399E-02 0.23270644E-01 + -0.98308958E-02 -0.23814661E-02 -0.12868521E-02 0.14961662E-01 + 0.29478408E-02 -0.25250821E-02 0.35902052E-02 0.68825744E-02 + 0.69127004E-02 0.12519724E-01 0.12947413E-01 -0.24092742E-02 + 0.11634666E-02 -0.38903586E-02 -0.92853437E-03 0.12939579E-02 + -0.27606012E-02 -0.23899183E-02 -0.13654519E-01 -0.14725208E-02 + 0.18952836E-02 0.95515475E-02 0.27220517E-02 -0.41225250E-02 + 0.64941794E-02 0.26891699E+01 -0.77640079E-02 0.11127226E-01 + 0.56581008E-02 0.55255595E-03 0.19188959E-02 0.38992227E-02 + -0.63712634E-02 -0.10736038E-02 0.89743257E-01 0.20814056E-01 + 0.49664252E-01 0.12002766E-01 0.16872058E-01 -0.14828339E-01 + -0.20098081E-01 -0.71201287E-02 -0.10063168E-01 0.14451989E+01 + 0.18207381E-01 -0.12469007E+00 -0.77557147E-01 0.96017905E-02 + 0.50489227E-02 0.77703628E-02 0.43605082E-01 0.20670583E-01 + -0.10420048E+00 -0.30086064E+00 -0.98388195E-01 -0.17734095E-01 + -0.10223061E+00 0.44458363E-01 0.44485766E-01 0.28927311E-01 + 0.21576229E-01 -0.26058178E+01 0.11795593E+00 0.28667599E+00 + 0.16859519E+00 -0.69919109E-01 -0.51369853E-02 -0.43885093E-01 + -0.75206399E-01 -0.15287776E-01 0.39084069E-02 0.23944090E+00 + 0.64139605E-01 0.46739057E-02 0.91723323E-01 -0.28238663E-01 + -0.27856348E-01 -0.21242142E-01 -0.13344119E-01 0.13095465E+01 + -0.10214919E+00 -0.16770975E+00 -0.98850541E-01 0.73869824E-01 + -0.47578216E-02 0.37430067E-01 0.40278368E-01 -0.92505589E-02 + 0.23524527E-01 -0.34971905E+00 -0.28617579E+00 0.24448624E-02 + 0.10531452E-02 -0.24429683E-02 0.79786703E-02 -0.32044223E-02 + 0.65662451E-02 -0.49985647E-02 0.30120927E+00 -0.33876920E+00 + -0.98431110E-02 -0.94157760E-03 -0.78012803E-04 -0.10437773E-01 + 0.98567717E-02 0.11818309E-01 -0.57822526E-01 0.21672080E+00 + 0.88802397E-01 -0.38946371E-02 0.58250647E-01 -0.24885841E-01 + -0.17417109E-01 0.15775122E-01 -0.64615905E-02 0.32139465E-01 + 0.32517146E-01 0.21158406E+00 -0.15073597E-01 -0.36884345E-01 + 0.46076272E-01 0.17812059E-02 0.35551559E-01 0.46800572E-01 + -0.24651740E+00 0.11098005E+01 0.93898606E+00 0.13167661E+00 + 0.78329667E-02 0.21393836E-01 0.26152806E-01 0.99524148E-02 + -0.16420490E+00 -0.35180089E+00 -0.94679415E+00 0.12385635E+01 + 0.81863344E-01 0.52147958E-01 -0.94125010E-02 0.86879611E-01 + -0.13224542E+00 -0.17574912E+00 0.77992594E+00 -0.13512276E+01 + -0.66809845E+00 0.17822577E-01 -0.50182986E+00 0.64230561E-01 + -0.65235972E-01 -0.17756592E+00 0.55901706E-01 0.60895658E+00 + -0.39232604E-01 -0.12162886E+01 -0.19391635E-01 0.24424779E+00 + -0.32840198E+00 0.16300701E-01 -0.27074844E+00 -0.22464836E+00 + 0.55456519E+00 -0.69234842E+00 -0.40266696E+00 -0.63226157E+00 + 0.10810312E-01 -0.15206471E-01 -0.15813009E+00 0.76063037E-01 + 0.54846871E+00 0.12965288E+01 -0.14871562E+00 -0.16574057E+01 + -0.77499509E-01 -0.24706510E+00 -0.49161386E-01 -0.18116426E+00 + 0.29508817E+00 0.42510372E+00 -0.19151392E+01 0.23017206E+01 + 0.19343644E+01 0.18132132E+00 0.97290933E+00 -0.32005329E-01 + 0.30257875E+00 0.47717172E+00 -0.22451323E+00 -0.23164320E+01 + -0.23464796E-02 0.23696499E+01 0.11396230E+00 -0.30829370E+00 + 0.81678474E+00 -0.14368922E+00 0.57714278E+00 0.30708337E+00 + -0.28491080E+00 0.36383953E-01 0.31162423E+00 0.57425320E+00 + -0.42527661E-01 0.73678861E-02 0.16507232E+00 -0.12021208E+00 + -0.42351905E+00 -0.11174612E+01 0.66397589E+00 0.92702854E+00 + -0.17574133E-01 0.21021616E+00 0.75819194E-01 0.74323654E-01 + -0.16377258E+00 -0.30484438E+00 0.11824274E+01 -0.11248283E+01 + -0.14524230E+01 -0.21500514E+00 -0.54644215E+00 -0.13700273E-01 + -0.25452745E+00 -0.35112607E+00 0.19990943E+00 0.20050182E+01 + 0.13328120E-01 -0.14572992E+01 -0.51557053E-01 0.12367893E+00 + -0.57814133E+00 0.17719764E+00 -0.37120977E+00 -0.99483013E-01 + -0.84307924E-03 -0.17258720E-01 -0.53407182E-02 0.81290662E-01 + -0.76485693E-01 -0.47752857E-02 0.17251113E-02 -0.37566551E-02 + -0.43733157E-02 0.26733198E-02 -0.18344464E-01 0.50127059E-02 + 0.71141422E-01 0.87314069E-01 -0.61744680E-02 -0.70299730E-02 + 0.26243478E-02 -0.23496000E-02 0.28444365E-01 0.11505324E+00 + -0.33933113E-02 0.28973152E-02 0.92887580E-01 0.31396374E-01 + -0.23507848E-01 -0.87130778E-02 -0.41673444E-02 0.46873268E-01 + 0.13442471E-01 -0.25793346E-01 -0.76117992E-01 0.18148191E-01 + 0.74972928E-01 0.14298555E-01 -0.31826302E-01 0.11931221E-01 + -0.10709220E+00 0.17803705E+00 0.89736991E-02 -0.42456064E+00 + 0.21876010E+00 -0.10819509E-01 0.28348541E-01 -0.17255737E-01 + 0.18319871E-01 -0.19474296E+00 0.41860357E-01 -0.13339257E+00 + -0.18719764E+00 -0.42420572E+00 -0.77197962E-02 0.99332154E-01 + -0.31550217E-01 -0.35813104E-01 0.40004592E-01 -0.68339717E+00 + 0.27681798E+00 -0.17132305E-01 -0.32585520E+00 0.31075010E-02 + 0.79180360E-01 0.84248841E-01 -0.97170286E-02 0.93430877E-01 + 0.14520723E+00 0.17805336E+00 0.36324471E+00 0.13691723E+00 + -0.32484740E+00 -0.81565976E-01 0.24830070E+00 -0.83268046E-01 + 0.17182922E+00 -0.39017051E+00 -0.75088441E-01 0.10350132E+00 + -0.59314132E+00 0.26216136E-01 -0.36645234E-01 0.51128767E-01 + -0.23116680E-01 0.29115206E+00 -0.16628718E+00 0.17287152E+00 + 0.57455140E+00 0.10316521E+00 0.24566704E-01 -0.18611246E+00 + 0.36977731E-01 0.51306792E-01 -0.20561790E+00 0.10611658E+01 + -0.37965369E+00 0.59568025E-02 0.27356154E+00 -0.27140493E-01 + -0.93819201E-01 -0.12059696E+00 0.53143971E-01 -0.24612650E+00 + -0.89114845E-01 -0.68045080E-01 -0.36101604E+00 -0.25655359E+00 + 0.38696355E+00 0.15423262E+00 -0.32276905E+00 0.91858685E-01 + -0.19476928E-01 0.73561030E-02 0.17873570E-02 -0.35678833E-02 + -0.33237983E-02 0.33766452E-01 -0.63296556E-01 -0.19452671E-02 + -0.13239881E-02 -0.42364784E-02 -0.10886640E-01 0.13287687E-02 + 0.24953787E-03 -0.21379865E-02 0.55756997E-01 0.50980333E-01 + 0.43777418E-02 -0.78862309E-02 0.35293180E-01 0.57927500E-01 + 0.91379695E-02 -0.24990181E-01 0.15874527E-01 -0.32756235E-01 + -0.91940798E-02 0.63448362E-02 0.59108059E-02 0.20577457E-01 + 0.78460500E-02 -0.80252253E-02 -0.28437277E-01 -0.12757894E-01 + 0.18312814E-01 -0.39697696E-01 -0.13474633E-02 0.13109336E-01 + -0.83176978E-02 -0.11117947E+00 -0.57078409E-03 0.10578159E-01 + -0.20841744E-01 -0.17377388E+00 -0.81262529E-01 0.16026542E-01 + 0.58632642E-02 -0.14602412E-01 -0.52710972E-03 -0.37079420E-01 + 0.15373140E-01 0.46844824E-03 0.11484051E+00 -0.20478857E+00 + -0.60416013E-02 0.15950162E-01 -0.92366859E-02 -0.13327929E-01 + 0.76846969E-02 0.44647716E-02 0.99554379E-03 -0.25372533E-02 + 0.11280878E-02 0.34911960E-01 0.61604748E-02 -0.65696426E-02 + 0.27554485E-02 -0.89025460E-02 -0.58459700E-03 -0.36023045E-02 + 0.17695032E-02 0.71463883E-02 -0.67619309E-02 0.35612646E-01 + 0.37786972E-01 0.27549386E-01 -0.10036920E-01 -0.17617412E-01 + -0.51135980E-02 -0.85136071E-02 0.82170218E-02 0.34347039E-01 + 0.35131625E-02 0.34137517E-02 -0.39485250E-01 0.19134531E-01 + 0.13404503E-01 -0.16808830E-01 -0.10705445E-01 -0.19780356E-01 + 0.15510092E-01 0.21839622E-01 0.12911428E-01 -0.73543191E-02 + 0.50285608E-02 0.59204106E-03 -0.34981018E-02 0.37478309E-02 + 0.20511297E-02 -0.60793981E-02 0.34043845E-02 0.10783732E-01 + 0.17769098E-01 -0.77495468E-02 0.85491623E-03 -0.31315386E-02 + 0.84124953E-02 0.57312618E-02 0.12188158E-02 0.74360073E-02 + 0.63715726E-02 0.54682344E-02 0.96778497E-02 0.52643046E-02 + -0.51632933E-02 0.32400470E-02 -0.58748294E-03 -0.52953465E-03 + 0.25913932E-02 0.41622822E-02 -0.12601026E-02 -0.82769878E-02 + 0.12908092E-02 -0.11074101E-02 0.28636474E-02 0.26873224E-02 + -0.14917086E-02 0.50641405E-02 diff --git a/src/test/resources/nequick/ccir14.asc b/src/test/resources/nequick/ccir14.asc new file mode 100644 index 000000000..67760b179 --- /dev/null +++ b/src/test/resources/nequick/ccir14.asc @@ -0,0 +1,715 @@ + 0.64934902E+01 -0.60000788E-01 0.15284568E+00 0.42398740E-01 + 0.80449134E-02 -0.12943847E-02 -0.18471057E-01 0.14364938E-01 + -0.27232723E-01 0.34205064E-02 0.44790655E-03 0.49032946E-03 + -0.11499409E-01 -0.88309318E+00 -0.13880616E+00 0.72883040E+00 + -0.23786406E+00 0.56492411E-01 -0.44968978E+00 0.27552202E-01 + -0.10558826E+00 -0.26403385E+00 -0.71968925E-02 -0.76252699E-01 + -0.75245738E-01 0.36521424E-01 0.10725157E+02 0.11520149E+01 + -0.29717493E+01 0.77741122E+00 0.10456991E+01 -0.56724101E+00 + 0.10612049E+01 -0.19255698E-01 0.20865388E+00 0.83688870E-02 + 0.17841756E+00 0.38568933E-01 -0.13791543E+00 0.65042410E+01 + -0.35215242E+01 -0.41706262E+01 0.52065020E+01 0.25852561E+00 + 0.73438554E+01 -0.40593761E+00 0.99215269E+00 0.34198158E+01 + 0.59768510E+00 0.13837194E+01 0.21450300E+01 -0.30246961E+00 + -0.73952774E+02 -0.10371048E+02 0.20006668E+02 -0.58430324E+01 + -0.17244535E+02 0.25785177E+01 -0.66231852E+01 -0.10432463E+01 + 0.73055929E+00 0.10648136E+01 -0.16124161E+01 0.77939093E-01 + 0.78449035E+00 0.16648845E+00 0.12172330E+02 -0.27850800E+01 + -0.25546801E+02 0.91742992E+01 -0.32795715E+02 0.28933215E+00 + -0.56761966E+01 -0.18448345E+02 -0.33526461E+01 -0.67829113E+01 + -0.12907631E+02 -0.90398949E+00 0.15081432E+03 0.33412430E+02 + -0.50513577E+02 0.15113484E+02 0.58774567E+02 -0.36906853E+01 + 0.14214766E+02 0.30996857E+01 -0.45489941E+01 -0.52512522E+01 + 0.42320633E+01 -0.65626699E+00 -0.12561435E+01 -0.37230698E+02 + -0.76325498E+01 0.37164612E+02 0.49207066E+02 -0.43934429E+02 + 0.60087311E+02 0.41347008E+01 0.15909639E+02 0.43547516E+02 + 0.70065866E+01 0.12691342E+02 0.29472048E+02 0.48083038E+01 + -0.14633238E+03 -0.42288406E+02 0.54256516E+02 -0.17434313E+02 + -0.73183670E+02 0.16437654E+01 -0.12896774E+02 -0.25577698E+01 + 0.64732409E+01 0.78860898E+01 -0.44402704E+01 0.10190878E+01 + 0.83452725E+00 0.52198566E+02 -0.78648906E+01 -0.54521667E+02 + -0.41549358E+02 0.62281204E+02 -0.48637405E+02 -0.83191109E+01 + -0.19453854E+02 -0.45155910E+02 -0.66038690E+01 -0.10019680E+02 + -0.28811020E+02 -0.57783604E+01 0.55789322E+02 0.18161957E+02 + -0.20868530E+02 0.74471412E+01 0.30560638E+02 0.63638091E-01 + 0.42821302E+01 0.46981829E+00 -0.28367577E+01 -0.37410164E+01 + 0.16539935E+01 -0.48298734E+00 -0.21111564E+00 -0.20312286E+02 + 0.70529175E+01 0.23697172E+02 0.12980739E+02 -0.27796112E+02 + 0.14427420E+02 0.43019180E+01 0.83882170E+01 0.16908129E+02 + 0.23868091E+01 0.27971561E+01 0.10196642E+02 0.21167965E+01 + -0.23634212E+00 0.20315304E+01 0.14751930E+01 0.51506601E-01 + -0.41991580E-01 -0.66530518E-02 0.60239170E-01 0.42047124E-01 + 0.14694091E-01 0.14501675E-01 0.22909958E-01 0.50704996E-02 + -0.13813756E-01 0.24778871E-01 -0.13336086E+01 0.20401323E+01 + -0.29250428E-01 0.11255962E+00 -0.27715957E-01 -0.61806727E-01 + 0.33551301E-02 0.49672596E-01 -0.88648424E-02 0.15672090E-01 + -0.17772950E-01 0.25840359E-01 -0.94002926E+00 0.96187341E+00 + -0.48695213E+00 -0.14855824E-01 0.85204065E-01 0.68687499E-01 + 0.59923762E+00 -0.17397808E+00 0.52780789E+00 -0.97602300E-01 + -0.50955068E-01 0.97110152E-01 0.78837097E-01 -0.15056741E+00 + 0.25372839E+00 0.77975589E+00 0.44844516E-01 0.66648591E+00 + 0.29808592E-01 -0.28804496E-01 0.27313727E+00 0.57353723E+00 + -0.14783476E+00 -0.54335695E-01 0.18213356E+00 -0.17622779E+00 + 0.44821749E+01 0.12306819E+02 0.71697431E+01 -0.92180443E+00 + 0.17149887E+01 0.12936373E+01 -0.14673869E+00 -0.16734647E+01 + -0.90978974E+00 -0.64830923E+00 -0.10648319E+01 0.25684690E+00 + -0.10137749E+00 0.85512936E-01 -0.10835257E+02 0.85481062E+01 + 0.11747246E+01 0.18459187E+01 0.27393371E+00 0.21028149E+01 + -0.48073649E+00 -0.68387586E+00 0.73008960E+00 -0.79940557E-01 + 0.11825161E+01 -0.94839275E+00 0.13821822E+02 -0.18135984E+02 + 0.25114822E+02 0.74971113E+01 0.18632154E+01 0.13507413E+01 + -0.10556159E+02 0.19317436E+01 -0.81330175E+01 0.36078360E+01 + 0.21540526E+00 -0.27909286E+01 -0.10886441E+01 0.62252502E+01 + -0.13018351E+02 -0.10101440E+02 -0.10007334E+01 -0.14628851E+02 + 0.11357670E+01 0.36046579E+01 -0.42910976E+01 -0.89776678E+01 + -0.89598782E-02 -0.42933545E+00 -0.15849819E+01 0.34161615E+01 + -0.17371536E+02 -0.66748367E+02 0.62607895E+02 0.20953901E+02 + -0.16884048E+02 -0.15206277E+02 -0.11621352E+01 0.13002543E+02 + 0.13039216E+02 0.52742462E+01 0.93021603E+01 -0.34476852E+01 + 0.56655067E+00 -0.56244600E+00 -0.33539307E+02 -0.27122938E+02 + -0.17939257E+02 -0.18481977E+02 -0.38500452E+00 -0.14842595E+02 + -0.31616001E+01 0.47638435E+01 -0.45677814E+01 -0.55476630E+00 + -0.94443140E+01 0.57917881E+01 -0.74925003E+02 0.14071362E+03 + -0.14038927E+03 -0.58120228E+02 0.71764202E+01 -0.49531412E+01 + 0.62205994E+02 -0.40746994E+01 0.32049103E+02 -0.27928362E+02 + 0.17490292E+01 0.17929642E+02 0.32690542E+01 -0.65806335E+02 + 0.54215317E+02 0.98710693E+02 -0.88018885E+01 0.75170929E+02 + -0.11637874E+02 -0.30119812E+02 0.31769405E+02 0.47102097E+02 + 0.81819420E+01 0.76862321E+01 0.71875305E+01 -0.20791471E+02 + 0.89678278E+01 0.10135834E+03 -0.35098581E+03 -0.86679382E+02 + 0.51673244E+02 0.53351055E+02 0.76851797E+00 -0.36545685E+02 + -0.47825405E+02 -0.15288160E+02 -0.24478300E+02 0.11542590E+02 + 0.20585670E+01 0.16705963E+02 0.25283752E+03 -0.40345551E+02 + 0.73295853E+02 0.65839951E+02 0.55188236E+01 0.37025745E+02 + 0.24288328E+02 -0.10951291E+02 0.91241064E+01 0.23609194E+00 + 0.27590467E+02 -0.15265543E+02 0.19687543E+03 -0.38724146E+03 + 0.30177783E+03 0.15378909E+03 -0.65229538E+02 -0.34766834E+01 + -0.15835889E+03 0.39712992E+01 -0.47045303E+02 0.82022125E+02 + -0.10522799E+02 -0.45835918E+02 -0.15153828E+01 0.19607631E+03 + -0.66795013E+02 -0.28728564E+03 0.45004833E+02 -0.16881577E+03 + 0.29734268E+02 0.87140701E+02 -0.93818207E+02 -0.11390156E+03 + -0.33501694E+02 -0.25811827E+02 -0.17500469E+02 0.51393459E+02 + 0.36721817E+02 -0.58378582E+02 0.52954004E+03 0.12650403E+03 + -0.61309464E+02 -0.72215317E+02 0.55067844E+01 0.43052780E+02 + 0.65146362E+02 0.18467985E+02 0.23828384E+02 -0.14804020E+02 + -0.66496487E+01 -0.41053898E+02 -0.39513181E+03 0.14958511E+03 + -0.11126385E+03 -0.10337822E+03 -0.17559296E+02 -0.34940395E+02 + -0.43032944E+02 0.85262613E+01 -0.69466352E+01 0.36357472E+01 + -0.34809723E+02 0.18168348E+02 -0.24683015E+03 0.44674805E+03 + -0.29277637E+03 -0.16985976E+03 0.11071173E+03 0.20931091E+02 + 0.18121008E+03 -0.38683252E+01 0.23711790E+02 -0.10216880E+03 + 0.16843338E+02 0.51287094E+02 -0.42596769E+01 -0.21369887E+03 + 0.15854465E+02 0.32373215E+03 -0.56573437E+02 0.18293462E+03 + -0.24894987E+02 -0.10696294E+03 0.11558175E+03 0.12890712E+03 + 0.48120483E+02 0.32083450E+02 0.20970276E+02 -0.55741138E+02 + -0.36825500E+02 0.12671241E+02 -0.24902856E+03 -0.60534363E+02 + 0.24415833E+02 0.33357071E+02 -0.56761298E+01 -0.18138474E+02 + -0.29999865E+02 -0.79703002E+01 -0.73311758E+01 0.64502964E+01 + 0.43373957E+01 0.26744598E+02 0.18625591E+03 -0.93930145E+02 + 0.56447620E+02 0.58127300E+02 0.13249874E+02 0.98932362E+01 + 0.23001038E+02 -0.14396305E+01 0.16029671E+01 -0.36048810E+01 + 0.15927849E+02 -0.79116158E+01 0.11669274E+03 -0.18738850E+03 + 0.10586761E+03 0.65915176E+02 -0.55447582E+02 -0.14503894E+02 + -0.76371857E+02 0.23939581E+01 -0.49679351E+00 0.45396576E+02 + -0.83436613E+01 -0.20962418E+02 0.35527294E+01 0.76042999E+02 + 0.11706136E+02 -0.12662367E+03 0.20020096E+02 -0.78973938E+02 + 0.45572462E+01 0.47576385E+02 -0.49966721E+02 -0.54524887E+02 + -0.23131269E+02 -0.13527062E+02 -0.95180092E+01 0.22111982E+02 + 0.19034376E-01 0.98584294E-01 0.10540416E-01 -0.10316916E+01 + -0.50497759E-01 -0.28466880E-02 0.14425300E-01 0.89508248E-03 + 0.40291805E-01 -0.58668959E-02 -0.37617795E-02 0.81910542E-03 + 0.14230343E-01 0.55068705E-01 -0.61659031E-02 0.25711080E-01 + 0.34259059E-01 -0.75383472E+00 0.40433593E-02 -0.13901707E-01 + -0.40712301E-01 -0.29276971E-01 -0.10735628E-01 -0.72969962E-03 + -0.98825954E-02 -0.17654423E-02 0.12820826E+00 0.71660626E+00 + 0.71653312E+00 0.37673324E+00 -0.52130514E+00 0.26109612E+00 + -0.33626252E+00 0.12658983E+00 0.23496895E+00 0.45112647E-01 + 0.10876165E-01 -0.79171479E-01 -0.49059771E-01 0.84820718E+00 + 0.11983800E+00 0.93958414E+00 0.63321990E+00 0.95848078E+00 + 0.16888374E+00 0.38933191E+00 -0.13174997E+00 -0.13978601E+00 + -0.28500170E+00 -0.16895264E+00 0.28273299E-01 -0.13272935E+00 + 0.10719461E+01 -0.10473357E+01 0.16151114E+01 0.88533993E+01 + 0.29226627E+01 -0.44834805E+00 -0.18926812E+01 -0.10330507E+01 + 0.70661664E-01 0.34604049E+00 0.24440202E+00 -0.55603737E+00 + -0.15387839E+00 0.15618076E+01 0.14701883E+00 -0.74968100E-01 + -0.39555376E+01 0.69049401E+01 -0.19420260E+00 0.57892245E+00 + -0.79809880E+00 0.60062045E+00 0.22479728E-01 -0.32704270E+00 + 0.23038144E+00 0.36810511E+00 -0.29060514E+01 -0.35181141E+01 + -0.57364321E+01 0.55235319E+01 0.45822948E+00 -0.15032139E+01 + 0.21021149E+01 -0.25328857E+00 -0.18473366E+01 -0.84338069E-01 + 0.39706537E+00 0.18311097E+00 0.12498159E+01 -0.99295187E+01 + -0.10716363E+01 -0.49983826E+01 -0.20832243E+01 0.18830384E+01 + 0.86717826E+00 -0.15240573E+01 0.21804466E+01 0.58699912E+00 + 0.14913263E+01 0.91169506E+00 0.18899290E+00 0.18160113E+01 + -0.94457226E+01 0.17658323E+02 -0.11660739E+02 -0.68379431E+01 + -0.55005393E+01 0.43817205E+01 0.11818675E+02 0.47689600E+01 + 0.28519672E+00 -0.19000348E+01 -0.25939710E+01 0.37662928E+01 + 0.75847077E+00 -0.56515369E+01 0.91205730E+01 -0.19686935E+01 + 0.13128128E+02 -0.68311536E+00 0.99185145E+00 -0.16249561E+01 + 0.51543722E+01 -0.11013594E+01 -0.84779024E-01 0.18501140E+01 + -0.38142788E+00 -0.30122881E+01 0.75019464E+01 0.35646598E+01 + 0.11501076E+02 -0.18637678E+02 -0.69856590E+00 0.35613029E+01 + -0.47264385E+01 -0.46824560E+00 0.42374134E+01 -0.10472507E+00 + -0.11728554E+01 -0.23341642E+00 -0.39178734E+01 0.26873823E+02 + -0.89032382E+00 0.74988828E+01 0.33407247E+01 -0.96325502E+01 + -0.34091043E+01 0.21045971E+01 -0.56645594E+01 0.19026136E+00 + -0.22414274E+01 -0.13311146E+01 -0.59583026E+00 -0.46499023E+01 + 0.21163467E+02 -0.48009995E+02 0.25364655E+02 -0.28718992E+02 + 0.28193629E+00 -0.14275018E+02 -0.20585052E+02 -0.64663582E+01 + -0.17794695E+01 0.29850130E+01 0.60325069E+01 -0.71860552E+01 + -0.16418027E+01 0.39766912E+01 -0.27315859E+02 0.82747126E+01 + -0.15480449E+02 -0.37333546E+02 -0.14049911E+01 -0.78134067E-01 + -0.88510962E+01 -0.22243376E+01 0.97602409E+00 -0.25714509E+01 + -0.92084914E+00 0.73255782E+01 -0.59779358E+01 0.12392722E+01 + -0.78840609E+01 0.12213485E+02 -0.45400095E+00 -0.31542864E+01 + 0.34382265E+01 0.87975073E+00 -0.27262013E+01 0.43419164E+00 + 0.68464506E+00 0.22095340E+00 0.30523138E+01 -0.20467281E+02 + 0.39570873E+01 -0.23940723E+01 0.22183470E+00 0.45692406E+01 + 0.23968153E+01 -0.16324166E+01 0.37603848E+01 -0.13567247E+01 + 0.12711171E+01 0.64020485E+00 0.41453236E+00 0.32386904E+01 + -0.14195784E+02 0.34288696E+02 -0.15830329E+02 0.32217911E+02 + 0.34044676E+01 0.12452764E+02 0.10785024E+02 0.26360891E+01 + 0.13603802E+01 -0.15146807E+01 -0.39355421E+01 0.41184168E+01 + 0.11697750E+01 0.83907938E+00 0.17864227E+02 -0.90199423E+01 + 0.53105707E+01 0.36594131E+02 0.70343792E+00 0.17940168E+01 + 0.47861300E+01 0.37236946E+01 -0.12472181E+01 0.73165965E+00 + 0.12939290E+01 -0.52513409E+01 -0.64028978E-01 0.89368582E-01 + -0.10483639E+00 -0.41617226E-01 0.42851824E-01 -0.37522113E+00 + -0.74830669E+00 -0.35888157E-02 0.50473485E-01 0.39554738E-01 + 0.17244505E-01 -0.62780869E-02 0.40925257E-02 0.47223814E-01 + -0.15007500E+00 -0.77078819E-01 0.23586081E-01 -0.40981133E-01 + 0.73113239E+00 -0.37994540E+00 -0.29909760E-01 0.14559224E-01 + 0.11881359E-01 -0.21748170E-01 0.17178882E-01 0.25832307E-01 + -0.12422318E+00 0.75573784E+00 0.11975992E+00 -0.26279080E+00 + -0.63855439E+00 -0.10346420E+00 -0.24757488E+00 0.83832867E-01 + -0.37987664E-01 0.47420461E-01 0.51827621E-01 -0.82543485E-01 + -0.48918199E-01 -0.25143119E-01 -0.32514679E+00 -0.23532417E+00 + -0.13309411E-01 -0.85015297E-01 0.38035685E+00 0.60264967E-01 + -0.13409160E-01 -0.31570800E-01 -0.10386515E+00 -0.10889218E-01 + 0.21442086E-01 -0.58925855E-02 0.51993853E+00 -0.57693455E-01 + 0.28187776E+00 -0.73442996E-01 -0.19520199E+00 -0.11351214E-01 + 0.58080941E+00 -0.54905403E+00 0.22085562E+00 -0.66554368E-01 + -0.17385942E+00 0.18870948E-03 -0.11992918E+00 -0.21958470E+00 + 0.21047790E+01 -0.20394138E+00 -0.57054359E+00 0.54538924E-01 + -0.12259455E+01 0.53822301E-01 -0.47958690E+00 -0.65027052E+00 + -0.24385015E-01 0.14002997E+00 -0.22192314E+00 -0.13525110E+00 + -0.54393631E+00 -0.13514566E+01 0.26100159E+00 0.43233761E+00 + 0.97404122E+00 0.40088600E+00 0.80763835E+00 -0.98028898E-01 + 0.11027521E+00 -0.10748786E+00 -0.36647193E-01 0.19190548E+00 + 0.88344038E-01 -0.25658113E+00 0.72416735E+00 0.57697695E+00 + -0.34691739E+00 0.32392943E+00 -0.13627892E+01 0.11442542E+00 + -0.10774225E+00 0.10521625E+00 0.98740995E-01 0.29976498E-01 + 0.26290990E-01 -0.56078196E-01 0.27019137E+00 0.45024633E+00 + -0.17958546E+00 0.12233192E+00 0.51881069E+00 0.42524201E+00 + 0.30084956E+00 0.94178414E+00 -0.65111023E+00 -0.27122756E-01 + 0.76508403E-01 -0.85360545E-04 0.12641454E+00 0.79744749E-01 + -0.28821568E+01 0.73260629E+00 0.53177392E+00 0.33241987E+00 + 0.14034442E+01 0.37998933E+00 0.94033831E+00 0.12633944E+01 + -0.60186643E-01 -0.11780189E+00 0.26741916E+00 0.93822658E-01 + -0.40619414E-01 0.80723651E-02 -0.33849481E-01 0.31438515E-01 + 0.26720108E-01 0.34434192E-01 0.15387810E-01 0.30153817E+00 + -0.68199992E-01 0.15819103E-01 0.84541179E-02 -0.12130376E-01 + -0.27178496E-02 0.10475044E+00 0.49542673E-02 0.35022680E-01 + 0.87533653E-01 -0.61479896E-01 -0.14135311E-01 -0.12770660E-01 + 0.36308039E-01 0.26710707E+00 0.10513935E-01 -0.55483915E-02 + 0.76266038E-02 -0.12753191E-01 -0.21390149E-02 0.58438718E-01 + -0.11032433E+00 0.12841827E+00 -0.22302933E+00 -0.96188486E-01 + 0.17974999E-01 0.29908019E+00 0.44135422E+00 -0.46303540E-01 + 0.41154433E-01 -0.14057259E-01 0.87432861E-02 0.30396742E+00 + 0.75595438E-01 -0.15522313E+00 -0.17690331E-02 0.20859616E+00 + -0.87131821E-02 -0.10404949E+00 -0.36777055E+00 0.11611283E+00 + -0.29208448E-02 -0.80868125E-01 0.16911153E-01 0.13700172E-01 + -0.13175464E+00 -0.61796587E-01 -0.48755106E-01 -0.12370612E-01 + -0.54931860E-01 -0.18966548E-01 0.25214598E-01 0.38970198E-01 + -0.42744718E-01 0.83304524E-01 0.22285061E+00 -0.54338342E-03 + 0.11550711E-02 0.12497650E-01 0.33643264E-01 -0.49855206E-01 + 0.77534854E-01 -0.20823942E-01 0.56232177E-02 -0.27867476E-01 + 0.31055158E-01 0.45609649E-01 -0.22880864E+00 0.88289440E-01 + 0.14045585E-01 -0.77454448E-02 -0.15834920E-01 -0.47239352E-01 + 0.55206645E-01 -0.21747218E-01 0.19386901E-01 0.35340980E-01 + 0.19234708E-01 0.55831406E-01 0.12493883E-01 -0.18281758E-01 + -0.14992006E-01 -0.12327415E+00 0.10836016E-01 0.29655596E-01 + 0.94482973E-02 -0.85593499E-02 0.62130173E-02 0.62354229E-01 + 0.73285471E-02 -0.53194743E-01 -0.14881391E-01 0.54990910E-02 + -0.13634078E-01 -0.12771357E-01 0.14701583E-02 -0.12577879E+00 + 0.20759542E-01 0.37858861E-02 -0.38624063E-01 0.25079563E-01 + 0.28830523E-01 0.14798064E-01 0.11077591E-01 0.17425487E-01 + 0.35621811E-01 -0.25656393E-01 -0.24061343E-01 0.10520254E-01 + 0.45533031E-02 0.66021502E-01 -0.21064222E-01 -0.72724116E-02 + 0.14031812E-01 0.59114881E-01 0.15700981E-01 0.68930606E-02 + -0.33762053E-01 -0.16519625E-01 -0.90381280E-02 -0.59326994E-02 + 0.11942730E-01 0.13869076E-01 0.63189805E-01 0.68125665E-01 + -0.60883962E-01 -0.21250362E-01 -0.66251676E-02 -0.73823370E-02 + 0.39793648E-01 -0.44493157E-01 0.10462926E-01 -0.12947633E-01 + -0.25500299E-02 -0.15238016E-01 0.15929744E-01 -0.17856486E-01 + -0.52744091E-01 -0.53626947E-01 0.39534133E-01 0.30350424E-01 + 0.46890299E-02 -0.20292008E-02 0.65144040E-02 0.41108795E-01 + -0.98453537E-02 -0.10881118E-01 0.51510613E-03 0.14489322E-01 + 0.97736454E+01 0.14032149E+00 0.20471638E+00 0.45970183E-01 + 0.19347200E-01 0.34263048E-02 -0.56153458E-01 0.16434990E-01 + -0.13611991E-01 0.26763937E-01 0.57403482E-02 0.63922629E-02 + -0.11557202E-01 0.21873844E+00 -0.40463656E-02 0.25696558E+00 + -0.28938836E+00 0.35062745E+00 0.15157066E+00 -0.29073572E+00 + 0.10218960E+00 -0.17300346E+00 -0.40608421E-01 -0.18231004E-01 + -0.10038074E-01 0.41188151E-01 0.30748093E+02 -0.22748404E+01 + -0.31234465E+01 0.27615955E+01 0.15846490E+01 -0.34613085E+00 + 0.56108177E+00 0.11689794E+00 0.14760590E+00 -0.10534286E+01 + -0.31982249E+00 0.22981022E+00 -0.44722270E-01 -0.14903675E+02 + 0.10495949E+00 0.34792297E+01 0.47500277E+01 -0.45592585E+01 + -0.62566572E+00 0.40229530E+01 -0.11005297E+01 0.26008978E+01 + -0.20069686E+00 0.20519114E+00 0.83855027E+00 -0.12517659E+00 + -0.15924529E+03 0.13519260E+02 0.10932476E+02 -0.29060255E+02 + -0.17306379E+02 0.23026781E+01 -0.11505022E+01 0.89456850E+00 + 0.19126707E+00 0.56772122E+01 0.24429233E+01 -0.23409443E+01 + 0.10148535E+01 0.11584834E+03 -0.17900436E+02 -0.13041323E+02 + -0.16672867E+02 0.35105484E+02 -0.30701971E+01 -0.21194824E+02 + 0.64325066E+01 -0.15774624E+02 0.32018070E+01 0.94925410E+00 + -0.46957254E+01 -0.13125658E+01 0.29437546E+03 -0.25372299E+02 + -0.15352103E+02 0.91963020E+02 0.53816132E+02 -0.39363289E+01 + -0.11707983E+01 -0.62234497E+01 -0.21492355E+01 -0.11163956E+02 + -0.70858798E+01 0.70973525E+01 -0.29095373E+01 -0.29224634E+03 + 0.61603146E+02 -0.42039785E+01 0.19493484E+02 -0.98674660E+02 + 0.13333192E+02 0.47858608E+02 -0.16327667E+02 0.39196564E+02 + -0.93861618E+01 -0.60532713E+01 0.96561794E+01 0.45459681E+01 + -0.26182544E+03 0.17990250E+02 0.11552253E+02 -0.11288570E+03 + -0.65355698E+02 0.19973888E+01 0.40330248E+01 0.10058838E+02 + 0.31824427E+01 0.93387594E+01 0.84235001E+01 -0.84775352E+01 + 0.29146051E+01 0.29994775E+03 -0.74359123E+02 0.36368927E+02 + -0.57280788E+01 0.11249139E+03 -0.15975359E+02 -0.48075104E+02 + 0.17203217E+02 -0.41371586E+02 0.10335050E+02 0.90007267E+01 + -0.86931515E+01 -0.47164726E+01 0.91385612E+02 -0.41139164E+01 + -0.41653347E+01 0.47360001E+02 0.27213379E+02 -0.10529798E-02 + -0.22038870E+01 -0.48923016E+01 -0.13381233E+01 -0.28368788E+01 + -0.34559803E+01 0.34892290E+01 -0.93806016E+00 -0.10869085E+03 + 0.30786818E+02 -0.22838776E+02 -0.15038880E+01 -0.44714828E+02 + 0.61636324E+01 0.17758163E+02 -0.62771397E+01 0.15508571E+02 + -0.38858967E+01 -0.40972462E+01 0.29156959E+01 0.15558701E+01 + -0.13369411E+00 0.17268353E+01 0.14351931E+01 0.76106489E-01 + -0.28437421E-01 -0.11006787E-01 0.26756639E-01 0.27960544E-01 + 0.89221098E-03 0.14117886E-01 0.26185047E-01 -0.14624753E-02 + -0.14191493E-01 0.24574745E+00 -0.14273099E+01 0.15711823E+01 + -0.83912969E-01 0.46123274E-01 -0.25364887E-01 -0.29690675E-01 + -0.29524008E-01 0.19983063E-01 -0.17720956E-01 0.16691633E-01 + -0.70638615E-02 -0.72944127E-02 0.39862120E+00 -0.13170791E+00 + -0.64909154E+00 -0.32600099E+00 0.21109907E+00 -0.12451130E+00 + 0.43011889E+00 -0.18416306E+00 0.24612100E+00 -0.10645312E+00 + 0.16143292E+00 -0.21634486E-01 0.63935578E-01 0.92620963E+00 + -0.49406093E+00 0.64722395E+00 -0.72104096E-01 0.28068078E+00 + 0.60120350E+00 0.27893120E+00 0.30756903E+00 0.17852146E-01 + -0.17372718E+00 -0.12843072E-01 0.60005605E-01 -0.44218379E+00 + 0.10201951E+01 0.13495907E+02 -0.10630936E+02 -0.10683584E+01 + 0.58663213E+00 -0.10076990E+01 -0.52236598E-01 -0.47220087E+00 + 0.46965638E+00 -0.10257159E+01 -0.77649903E+00 0.21886134E+00 + -0.13192790E-01 -0.63123817E+01 0.98021412E+01 0.17635956E+02 + 0.41804466E+01 0.17669467E+01 0.96404302E+00 -0.45744419E-01 + 0.97980118E+00 -0.73717678E+00 -0.27884775E+00 -0.14686048E+00 + 0.75753582E+00 0.43112880E+00 -0.29365110E+01 -0.14322777E+01 + 0.14004352E+02 0.79823327E+00 -0.58754282E+01 0.25628233E+01 + -0.86770878E+01 0.29869022E+01 -0.79320562E+00 0.71983647E+00 + -0.20778570E+01 0.96054983E+00 -0.10125141E+01 -0.14787667E+02 + 0.89715195E+01 -0.16094650E+02 0.62427349E+01 -0.78737435E+01 + -0.20880356E+01 -0.53182232E+00 -0.72572398E+01 0.20186644E+01 + -0.28493702E+00 -0.16519641E+01 -0.56926078E+00 0.75286026E+01 + 0.38437169E+01 0.23742905E+01 0.10843651E+03 0.32352238E+01 + 0.29753845E+01 0.82216110E+01 -0.24196386E+01 0.54554968E+01 + -0.16184169E+00 0.67759500E+01 0.53559599E+01 -0.44717273E+00 + -0.89659041E+00 0.51551998E+02 -0.11602978E+03 -0.19592438E+02 + -0.36331177E+02 -0.12795038E+02 -0.63453693E+01 0.43711376E+01 + -0.10106876E+02 0.51247439E+01 0.35840931E+01 0.18366956E+01 + -0.68241382E+01 -0.46224632E+01 -0.85184898E+01 0.16360107E+02 + -0.82426071E+02 0.12709790E+02 0.42946472E+02 -0.15440465E+02 + 0.50130875E+02 -0.12952685E+02 -0.69280119E+01 -0.39795117E+01 + 0.73542223E+01 -0.55133829E+01 0.81558447E+01 0.96722000E+02 + -0.39015034E+02 0.11213722E+03 -0.45417725E+02 0.37435165E+02 + -0.13082532E+01 -0.10213684E+02 0.49293098E+02 -0.15153332E+02 + 0.73512321E+01 0.14430302E+02 0.19037808E+01 -0.38897949E+02 + -0.43353897E+02 -0.20246556E+03 -0.28853784E+03 0.21355970E+01 + -0.19108793E+02 -0.21631132E+02 0.12639036E+02 -0.18742432E+02 + -0.96571703E+01 -0.16555695E+02 -0.14417871E+02 0.12324685E+00 + 0.51283340E+01 -0.14933171E+03 0.32959497E+03 -0.18182323E+03 + 0.11664076E+03 0.33371811E+02 0.17004456E+02 -0.19989792E+02 + 0.32714706E+02 -0.11863820E+02 -0.12437938E+02 -0.82264690E+01 + 0.19701036E+02 0.14783766E+02 0.80268509E+02 -0.52966339E+02 + 0.19053438E+03 -0.56769222E+02 -0.11784625E+03 0.38850357E+02 + -0.12247974E+03 0.22450394E+02 0.35795441E+02 0.12220045E+02 + -0.89107666E+01 0.82319517E+01 -0.27355560E+02 -0.27648267E+03 + 0.89760971E+02 -0.27464084E+03 0.11196627E+03 -0.69628693E+02 + 0.97918758E+01 0.44225204E+02 -0.12664154E+03 0.35483719E+02 + -0.18650513E+02 -0.41325409E+02 -0.23082571E+01 0.85997482E+02 + 0.88594849E+02 0.39292139E+03 0.33457983E+03 -0.12988246E+02 + 0.27334517E+02 0.24206512E+02 -0.20228148E+02 0.24981491E+02 + 0.22630323E+02 0.17233309E+02 0.16416183E+02 -0.32048082E+00 + -0.83845119E+01 0.18617632E+03 -0.39346265E+03 0.42378687E+03 + -0.15928719E+03 -0.40951447E+02 -0.20998566E+02 0.32289703E+02 + -0.42694336E+02 0.11828459E+02 0.17220367E+02 0.13173158E+02 + -0.22972109E+02 -0.18645218E+02 -0.14528056E+03 0.72072128E+02 + -0.21711533E+03 0.77514603E+02 0.13667310E+03 -0.45385799E+02 + 0.13474229E+03 -0.16270966E+02 -0.53262211E+02 -0.17100185E+02 + 0.23942337E+01 -0.10488987E+01 0.37738708E+02 0.35145361E+03 + -0.85622955E+02 0.26572534E+03 -0.10509779E+03 0.58970486E+02 + -0.46502333E+01 -0.66478333E+02 0.13732690E+03 -0.33438583E+02 + 0.15821193E+02 0.48546875E+02 0.14652004E+01 -0.85408585E+02 + -0.52937943E+02 -0.20882059E+03 -0.14351865E+03 0.98669796E+01 + -0.11305204E+02 -0.10061108E+02 0.10184311E+02 -0.11492324E+02 + -0.13785836E+02 -0.64393110E+01 -0.66763268E+01 0.56769723E+00 + 0.43437328E+01 -0.82705460E+02 0.16970370E+03 -0.24499573E+03 + 0.77111313E+02 0.21147842E+02 0.97495165E+01 -0.17787201E+02 + 0.19586733E+02 -0.44074764E+01 -0.82658710E+01 -0.68889666E+01 + 0.94197063E+01 0.82319374E+01 0.79956360E+02 -0.38184708E+02 + 0.95916229E+02 -0.35911255E+02 -0.56887787E+02 0.20183624E+02 + -0.54853703E+02 0.38453093E+01 0.25204601E+02 0.86927290E+01 + 0.11558257E+01 -0.29337673E+01 -0.18029600E+02 -0.15973773E+03 + 0.28304304E+02 -0.87137711E+02 0.30577972E+02 -0.21899443E+02 + -0.35690377E+01 0.34283482E+02 -0.53517757E+02 0.10929289E+02 + -0.38510756E+01 -0.20168243E+02 -0.64146167E+00 0.31352385E+02 + 0.29265391E-01 -0.24591346E+00 0.14553225E+00 -0.84675032E+00 + 0.61966658E+00 -0.31919140E-01 0.56226421E-01 0.23503462E-01 + 0.53592059E-02 -0.20415215E-01 0.15285025E-01 -0.63779615E-02 + 0.55775279E-03 0.90108335E-01 -0.20454387E+00 -0.73520787E-01 + -0.64477378E+00 -0.82056803E+00 -0.32559566E-01 -0.23924757E-01 + -0.15155605E-01 -0.23472777E-01 -0.29544419E-01 0.71342289E-02 + -0.47043152E-02 -0.47027953E-02 0.52882087E+00 0.75878024E+00 + 0.37392047E+00 0.52214783E+00 -0.73013431E+00 0.44710666E+00 + 0.54939020E-01 0.22959816E+00 0.20311102E+00 -0.81182413E-01 + -0.88519573E-01 -0.12205945E+00 -0.90271056E-01 0.76053393E+00 + 0.47488004E+00 0.52843851E+00 0.69257706E+00 0.27872598E+00 + 0.68038344E-01 0.28850752E+00 -0.78320973E-01 0.16159260E+00 + -0.23097008E+00 -0.32177996E-01 0.43377083E-01 -0.46754383E-01 + 0.45139915E+00 0.33630769E+01 -0.12169753E+01 -0.37143755E+01 + 0.72003303E+01 -0.30781597E+00 -0.21212358E+01 -0.96283770E+00 + 0.84034169E+00 0.23972344E+00 -0.28099906E+00 0.56343921E-01 + -0.53734171E+00 -0.14882059E+01 0.13920954E+01 0.12130709E+01 + -0.79513631E+01 -0.25826595E+01 -0.42678672E+00 0.51285851E+00 + 0.19756992E+00 0.12423239E+01 0.54061139E+00 -0.37421107E-01 + 0.29954505E+00 0.11390960E+00 -0.56358538E+01 -0.57385159E+01 + -0.52712650E+01 -0.10486718E+01 0.53347263E+01 -0.35143900E+01 + -0.12000904E+01 -0.28657036E+01 -0.12631083E+01 0.94290608E+00 + 0.92692262E+00 0.13676528E+01 0.12747040E+01 -0.10084607E+02 + -0.83411741E+00 -0.68800192E+01 -0.56028543E+01 -0.31238854E+00 + 0.13777542E+01 -0.14698858E+01 0.52827829E+00 -0.40625009E+00 + 0.18055103E+01 -0.78214061E+00 -0.69355130E-01 0.65176880E+00 + 0.11241798E+01 -0.65113230E+01 -0.21158094E+01 0.29776367E+02 + -0.24963104E+02 0.54256268E+01 0.11766754E+02 0.49691448E+01 + -0.47331409E+01 0.25715870E+00 0.14093018E+01 -0.11038085E+01 + 0.35657842E+01 0.14730918E+02 -0.30367286E+01 -0.11354827E+02 + 0.30109863E+02 0.22487961E+02 0.39788237E+01 -0.24708538E+01 + -0.19585207E+01 -0.73399401E+01 -0.29647701E+01 0.20387474E+00 + -0.30212841E+01 -0.14654016E+01 0.14754129E+02 0.11049474E+02 + 0.13400967E+02 0.58017559E+01 -0.10485389E+02 0.91833000E+01 + 0.26157825E+01 0.80078144E+01 0.25257502E+01 -0.23380880E+01 + -0.18219414E+01 -0.34472320E+01 -0.37856760E+01 0.27359421E+02 + -0.55443001E+01 0.20240784E+02 0.79822860E+01 0.63297043E+01 + -0.35024121E+01 0.38299048E+01 0.60368818E+00 0.41653626E-02 + -0.47033873E+01 0.24803982E+01 -0.54888368E+00 -0.18400832E+01 + -0.71220398E+01 -0.11084242E+01 0.93044796E+01 -0.59619064E+02 + 0.21860550E+02 -0.16687057E+02 -0.19368773E+02 -0.89723339E+01 + 0.81729593E+01 -0.26830547E+01 -0.22497015E+01 0.32522850E+01 + -0.77899036E+01 -0.42522598E+02 0.84326611E+01 0.25657211E+02 + -0.35328537E+02 -0.45498714E+02 -0.12340077E+02 0.45494366E+01 + 0.38336656E+01 0.14014010E+02 0.50293474E+01 -0.80758739E+00 + 0.73919759E+01 0.33322277E+01 -0.14168421E+02 -0.38411448E+01 + -0.11940655E+02 -0.86237659E+01 0.33731954E+01 -0.65763731E+01 + -0.14734648E+01 -0.60773025E+01 -0.16627016E+01 0.18981389E+01 + 0.91158038E+00 0.23963673E+01 0.29741066E+01 -0.22353622E+02 + 0.11713837E+02 -0.14435800E+02 0.11054907E+01 -0.10635337E+02 + 0.18735408E+01 -0.32202845E+01 -0.17535981E+01 0.22505578E+00 + 0.38518553E+01 -0.17070560E+01 0.92721134E+00 0.15198689E+01 + 0.53186111E+01 0.61862020E+01 -0.31186657E+01 0.37600204E+02 + -0.35645133E+00 0.12633383E+02 0.96007862E+01 0.52255840E+01 + -0.41970530E+01 0.22828407E+01 0.11919298E+01 -0.24510040E+01 + 0.52333198E+01 0.34840073E+02 -0.12539687E+02 -0.16330978E+02 + 0.10885726E+02 0.29065948E+02 0.10912359E+02 -0.25189369E+01 + -0.15795354E+01 -0.82213926E+01 -0.28210602E+01 0.71790761E+00 + -0.55111475E+01 -0.20255136E+01 -0.19228468E-01 -0.13114969E+00 + 0.15714891E-01 -0.59424613E-01 0.61318099E-01 -0.58697617E+00 + -0.10644102E+01 0.20145897E-01 -0.13622614E-01 -0.18642440E-01 + 0.22151217E-01 0.47150515E-02 0.11869197E-02 0.58520351E-01 + -0.16852538E+00 -0.50097305E-01 0.11990507E-01 -0.65762768E-02 + 0.10272388E+01 -0.58508110E+00 0.10597579E-01 0.35774235E-01 + -0.15361955E-02 -0.45238875E-01 -0.18923515E-01 -0.59281816E-02 + 0.25976366E+00 0.61606842E+00 0.13208784E-01 0.22894324E+00 + -0.39829195E+00 0.10561228E+00 -0.10849887E+00 0.61109383E-01 + 0.13916729E+00 0.60511831E-01 0.12184702E-01 0.34330257E-02 + 0.49652584E-01 0.33294815E+00 0.93975179E-02 -0.15443995E-01 + 0.12950848E-01 -0.53923000E-01 0.16462354E+00 0.16396616E+00 + -0.73470592E-01 0.80365360E-01 -0.35155836E-01 -0.88913918E-01 + -0.47349852E-01 0.39145380E-01 0.11885967E+01 0.70961654E+00 + 0.16401082E+00 0.73770243E+00 -0.50291091E+00 0.21559591E+01 + 0.16197529E+01 -0.89583582E+00 0.20669129E+00 0.29641485E+00 + 0.17593938E+00 0.21165987E-01 -0.99231154E-02 -0.12865351E+01 + 0.23329020E+01 -0.46353474E+00 -0.75524986E-01 0.23183055E+00 + -0.19695919E+01 0.19060564E+01 -0.13436995E+00 -0.10136843E+01 + 0.37376542E-01 0.39470100E+00 0.21998766E+00 -0.11666384E-01 + -0.71975422E+00 -0.56198859E+00 0.62459815E-01 -0.95555365E-01 + 0.97378629E+00 0.58153582E+00 0.55926204E+00 -0.48008882E-01 + -0.39891303E+00 -0.46037633E-01 0.33642609E-01 0.59914339E-01 + -0.43716528E-01 -0.10643940E+01 -0.18275888E+00 -0.33081704E+00 + -0.55505341E+00 0.37782079E+00 -0.80053771E+00 0.45424262E+00 + -0.85584484E-02 -0.85956872E-01 0.12678234E+00 0.19393580E+00 + 0.18442684E+00 -0.24153914E-01 -0.15753583E+01 -0.46785456E+00 + -0.12589588E+01 -0.16451540E+01 0.12443190E+01 -0.42283182E+01 + -0.14672079E+01 0.14503812E+01 -0.24458456E+00 -0.60518193E+00 + -0.42549506E+00 -0.76019049E-01 -0.11163372E+00 0.21944077E+01 + -0.25643044E+01 0.99713415E+00 -0.11333126E+00 -0.71992117E+00 + 0.24609306E+01 -0.36890421E+01 0.18535006E+00 0.17068615E+01 + -0.43102510E-01 -0.49058509E+00 -0.35204017E+00 -0.33120696E-01 + -0.58546931E-01 -0.61199516E-02 0.13920870E-01 -0.22593589E-01 + 0.60600404E-01 -0.26639463E-01 -0.16022459E-01 0.32998067E+00 + -0.22570471E+00 0.51776581E-02 0.17488200E-01 -0.34345095E-02 + -0.48399717E-02 0.23667345E-01 0.10178505E+00 -0.29486220E-01 + 0.57037495E-01 -0.34963217E-01 0.11159873E-01 -0.30660912E-01 + 0.19712470E+00 0.30310649E+00 -0.16301766E-01 0.55935443E-03 + -0.90922392E-03 0.42374507E-02 -0.16880973E+00 0.95758557E-01 + -0.14629465E+00 0.12069291E+00 0.56210212E-01 -0.12945680E+00 + 0.17435408E+00 0.96609123E-01 0.45201021E+00 -0.36387533E-01 + -0.25372000E-01 0.18637779E-02 -0.35717620E-02 0.18735176E+00 + -0.15473641E-01 0.31935621E-01 0.47426187E-02 0.11311482E+00 + -0.13744950E+00 -0.12981302E+00 -0.40770859E+00 0.16419124E-01 + 0.27462887E-03 -0.82576871E-01 -0.18355068E-01 -0.51394594E-02 + -0.22159742E-01 -0.74835721E-03 -0.36677279E-01 0.25976231E-01 + 0.33930014E-02 0.16898615E-01 0.23251481E-02 0.38304761E-01 + -0.42265587E-01 0.20900027E+00 0.22713178E+00 -0.21249074E-02 + -0.10710888E-01 0.22197489E-01 0.83272219E-01 -0.76565206E-01 + 0.21317841E-02 -0.13129897E-01 0.16477928E-01 0.48060704E-01 + 0.35126519E-02 0.52965075E-01 -0.20686191E+00 0.17197242E+00 + -0.42362544E-02 -0.16804583E-01 0.21828219E-01 -0.31586766E-01 + 0.81997097E-01 0.30568486E-01 0.17527277E-01 0.51112950E-01 + -0.15168884E-02 0.15925396E-02 -0.10897528E-01 -0.70789973E-02 + 0.73832721E-02 -0.12407726E+00 0.85962117E-01 0.66300750E-01 + 0.51962443E-01 -0.13351659E-01 -0.23629975E-01 0.20142781E-01 + 0.38463738E-01 -0.13412733E-01 -0.93066990E-02 -0.41893609E-02 + 0.41461214E-02 -0.17357357E-01 -0.11255020E+00 -0.12668882E+00 + -0.59766680E-01 -0.32285359E-01 -0.46988074E-01 0.39100412E-01 + 0.98173134E-02 0.30527685E-01 -0.36675993E-01 -0.82789995E-02 + 0.30238912E-01 -0.19059832E-02 -0.11280149E-01 -0.14733354E-01 + -0.83649457E-02 0.45781229E-01 0.46038054E-01 0.41310016E-01 + -0.11225827E+00 -0.28089361E-01 0.13309367E-01 -0.41037355E-01 + -0.30710906E-01 -0.95726699E-02 -0.23963353E-01 0.16758919E-01 + 0.11331436E-01 0.23001432E-01 0.68212305E-02 0.87390661E-01 + 0.28464919E-01 -0.32604266E-01 -0.19913837E-01 -0.69480479E-01 + -0.14800049E-01 0.22902381E-01 0.37979655E-01 0.20491345E-01 + -0.21194533E-01 -0.35256981E-02 -0.19661651E-02 -0.39640930E-01 + 0.19599622E-01 -0.60924828E-01 -0.32056216E-01 0.47802251E-01 + 0.17946444E-01 -0.80087408E-02 0.32511208E-01 -0.46744160E-02 + 0.21583994E-02 -0.19618925E-01 -0.14446046E-01 -0.65722279E-02 + 0.30586901E+01 -0.16637225E-01 0.11471305E-01 0.27490903E-02 + 0.25678016E-02 0.37677907E-02 0.98502189E-02 -0.31296548E-02 + -0.10140380E-02 -0.13978875E+00 0.40312845E-01 0.71543939E-01 + 0.19734308E-01 -0.78674182E-02 -0.28102145E-01 -0.14239721E-01 + -0.12600210E-01 0.16756020E-01 0.90984887E+00 0.30035329E+00 + -0.44702735E-01 -0.11969292E+00 -0.10557235E+00 -0.41341107E-01 + -0.80306888E-01 0.44076689E-01 0.34757946E-01 0.86042881E-01 + -0.43596476E+00 -0.28588772E+00 -0.25438230E-01 0.25069172E-01 + 0.82588375E-01 0.67566931E-01 0.33206835E-01 -0.41824643E-01 + -0.12932892E+01 -0.72340822E+00 0.77358042E-02 0.28751051E+00 + 0.31436360E+00 0.10259445E+00 0.24149394E+00 -0.12717050E+00 + -0.11702043E+00 -0.22331178E-01 0.38658845E+00 0.28259498E+00 + 0.19711517E-02 -0.24714001E-01 -0.56775015E-01 -0.61311476E-01 + -0.21844219E-01 0.23831610E-01 0.39463905E+00 0.47750133E+00 + 0.76429836E-01 -0.16718167E+00 -0.21960318E+00 -0.68737447E-01 + -0.17916366E+00 0.90928324E-01 0.88356256E-01 0.15348784E-01 + -0.19566035E+00 -0.33543330E+00 0.15999720E-01 -0.25417623E-02 + 0.83187260E-02 0.10059297E-01 -0.18240045E-02 -0.25734284E-02 + 0.16147815E-01 0.36533713E+00 -0.16898608E+00 -0.20461163E-01 + 0.10633610E-01 -0.42438929E-03 -0.20938260E-01 -0.21641953E-02 + 0.55525005E-02 -0.45814317E-01 0.26786933E-01 0.10879261E+00 + 0.84931552E-01 0.15261322E-01 -0.21805950E-01 -0.14455589E-01 + 0.77350582E-02 0.63701212E-01 0.53684931E-01 0.14995108E-01 + -0.27922710E-01 -0.33047087E-01 0.29755291E-01 -0.18964428E-01 + -0.24144309E-01 0.18880598E-01 0.58857311E-01 -0.22821715E+00 + 0.75741506E+00 0.14800968E+01 0.46163443E-01 -0.14732170E+00 + -0.15568149E+00 -0.56558043E-01 0.70298553E-01 0.11026068E+00 + -0.79187077E+00 -0.15295104E+01 0.65210593E+00 0.17441596E+00 + 0.41551359E-01 -0.66639602E-01 0.12556064E+00 -0.61385304E-01 + 0.27926460E-01 0.87673563E+00 -0.39955688E+00 -0.11206913E+01 + -0.28584504E+00 -0.59748329E-02 0.23729973E+00 -0.19509707E+00 + 0.81449509E-01 -0.73962659E+00 0.28284615E+00 0.89057446E+00 + 0.18807463E+00 -0.24254572E+00 -0.17398730E-01 0.79301968E-02 + 0.20122550E+00 0.40711228E-01 -0.34922600E+00 0.67434174E+00 + -0.67298323E+00 -0.74801010E+00 -0.38288945E+00 0.36076793E+00 + 0.47676268E+00 0.13727283E+00 -0.16624431E+00 -0.43988281E+00 + 0.26705711E+01 0.34237185E+00 -0.97559363E+00 -0.27165592E+00 + -0.16340864E+00 0.21915102E+00 -0.12436141E+00 0.95994294E-01 + -0.12902556E+00 -0.24572020E+01 0.30924755E+00 0.28079758E+01 + 0.50721401E+00 -0.17149810E+00 -0.52098668E+00 0.85138261E+00 + -0.28973019E+00 0.17749032E+01 -0.11304550E+01 -0.23089056E+01 + -0.42302924E+00 0.84942168E+00 0.32151359E+00 0.73436797E-01 + -0.39552432E+00 -0.25851828E+00 0.62756401E+00 -0.39601427E+00 + 0.25266504E+00 -0.31376165E+00 0.29245359E+00 -0.21280552E+00 + -0.37739211E+00 -0.73750854E-01 0.96640050E-01 0.40330353E+00 + -0.21711264E+01 0.10492506E+01 0.67013448E+00 0.88845730E-01 + 0.71819246E-01 -0.15133917E+00 -0.11708714E-01 -0.57785511E-02 + 0.95103085E-01 0.18162584E+01 0.38207388E+00 -0.23117476E+01 + -0.38997960E+00 0.19229440E+00 0.28452802E+00 -0.74004078E+00 + 0.22057386E+00 -0.11552706E+01 0.10284768E+01 0.18343010E+01 + 0.33841425E+00 -0.62726456E+00 -0.48800993E+00 -0.87205529E-01 + 0.21157786E+00 0.21693029E+00 -0.32993799E+00 -0.18698255E-01 + -0.71124732E-02 -0.16465350E-02 0.46282001E-01 -0.15294395E+00 + -0.13111427E-03 -0.99337585E-02 -0.43608658E-02 -0.90814829E-02 + 0.45116879E-02 -0.97028874E-02 0.12505713E-01 0.16136163E+00 + 0.81213892E-01 -0.58312336E-03 -0.18872095E-01 -0.72849249E-02 + 0.14784368E-02 0.11196059E+00 0.20533665E+00 0.13476495E+00 + 0.33945632E+00 -0.11701983E+00 0.27578950E-01 -0.47568358E-01 + 0.25997529E-01 0.16754407E-01 -0.93069017E-01 0.18283078E-01 + 0.31589806E-01 0.22644910E+00 0.42842603E+00 0.72851181E-01 + 0.11030860E-01 0.23866531E-02 0.14397725E-01 0.61859142E-01 + 0.55517517E-01 -0.38489588E-01 -0.42788506E-01 -0.22592752E+00 + -0.99609435E-01 0.99531174E-01 0.29087326E-01 0.16361938E+00 + -0.23381136E+00 0.14897207E-01 -0.29369402E+00 0.21109746E+00 + -0.18685365E+00 -0.38392194E-01 0.10634160E+00 -0.28300032E-02 + 0.66435995E-03 -0.47440806E+00 -0.11250496E+01 -0.27856827E+00 + -0.13569554E+01 0.21064770E+00 -0.44342969E-01 0.76229990E-01 + -0.24290405E-01 -0.11261434E+00 0.10018148E+01 0.22767542E+00 + -0.75611055E-01 -0.59486091E+00 -0.14215126E+01 -0.24381904E+00 + -0.25383967E+00 0.49857941E-01 -0.13947743E+00 -0.18549798E+00 + -0.21002913E+00 -0.15347000E-01 -0.16834819E+00 0.21803892E+00 + 0.20929642E+00 -0.10061080E+00 -0.31904507E-01 -0.28207505E+00 + 0.25608516E+00 -0.18180054E+00 0.42851415E+00 -0.17312264E+00 + -0.17903682E-01 0.86439610E-01 -0.80150060E-01 0.17098185E-01 + -0.30419683E-01 0.51279235E+00 0.15700253E+01 0.14896683E+00 + 0.12490702E+01 -0.17830938E+00 0.75656474E-01 -0.44224095E-01 + -0.61300099E-01 0.12280393E+00 -0.14596167E+01 -0.35159820E+00 + 0.27934027E+00 0.59198815E+00 0.11541491E+01 0.17868274E+00 + 0.44150433E+00 -0.87764323E-01 0.17973500E+00 -0.24559207E-01 + 0.12929834E-01 0.68207048E-02 -0.12768010E-01 -0.38065603E-02 + 0.26851540E-01 -0.10830906E-01 0.77535986E-03 -0.17365512E-02 + -0.15774000E-01 -0.33989731E-01 -0.11249689E-01 0.58662519E-02 + -0.10439690E-01 0.19332499E-02 0.34207720E-01 -0.10329138E-01 + -0.22380955E-02 0.55513062E-01 0.53344566E-01 0.27011270E-01 + -0.84630370E-01 0.11442304E-01 0.11869610E-01 0.18336914E-01 + 0.21410545E-02 0.52863397E-02 0.21707222E-01 -0.38661319E-02 + -0.25270687E-01 -0.34020606E-01 -0.14334359E-02 -0.38540119E-02 + 0.28737670E-01 0.37115016E-02 -0.18286736E-02 -0.17681255E-02 + -0.14221156E+00 -0.59075002E-01 0.19836433E-01 -0.76047634E-02 + -0.12995809E+00 -0.11560405E+00 -0.16809881E-01 0.35188206E-01 + 0.23344198E-01 0.10418749E+00 -0.43988552E-01 -0.21166107E-01 + -0.33218439E-02 0.14282972E+00 -0.15798102E+00 0.98103173E-02 + 0.10149174E-01 -0.20782378E-01 -0.12256940E-01 0.90859644E-02 + 0.14533855E-01 -0.24522969E-02 0.11254709E-01 0.13583390E-02 + 0.43356489E-01 0.26643330E-02 -0.14128674E-01 0.47900598E-02 + -0.10882851E-01 -0.47548078E-02 -0.53821984E-02 0.31365617E-02 + 0.12613773E-01 -0.60953349E-02 0.45044255E-01 0.63900828E-01 + -0.59823166E-02 0.71507203E-02 -0.16160239E-01 -0.33681545E-01 + -0.40392955E-02 0.60944888E-02 0.60271841E-01 0.34214549E-01 + 0.23164378E-01 -0.68351328E-01 0.12046548E-01 0.31958293E-01 + 0.36123709E-02 -0.11482013E-01 -0.12627609E-01 -0.46289045E-01 + 0.64354002E-01 0.10392379E-02 -0.16863159E-02 0.73957364E-02 + -0.10698939E-02 -0.64807981E-02 0.99908598E-02 0.22006980E-02 + -0.50359704E-02 -0.14203114E-02 0.12199912E-01 0.20179288E-01 + -0.62138620E-02 0.78815632E-02 -0.74640582E-02 0.73885922E-02 + 0.22004370E-02 0.85453279E-02 0.76826178E-02 0.31520715E-02 + -0.12767009E-02 0.30879313E-02 0.64275493E-02 -0.43601133E-02 + 0.98584704E-02 0.17043861E-02 0.84848665E-02 0.36111211E-02 + -0.43704286E-02 -0.78293349E-03 -0.17360970E-01 -0.11529317E-02 + 0.11252891E-01 -0.21595629E-02 -0.14455176E-02 0.98986871E-04 + 0.87585188E-02 0.26772802E+01 -0.86198859E-02 0.94552226E-02 + 0.55961572E-02 0.43859929E-02 0.41296370E-02 0.46669282E-02 + -0.20577968E-02 -0.24387248E-03 -0.65158486E-01 0.74515760E-01 + 0.72828352E-01 0.12489908E-01 0.58226585E-02 -0.11427455E-01 + -0.15949465E-01 -0.65154098E-02 0.17882378E-02 0.12957152E+01 + 0.13960779E+00 -0.44050533E-01 -0.51063329E-01 -0.63741863E-01 + -0.59596479E-01 -0.53228300E-01 0.46188690E-01 0.11657927E-01 + -0.15501004E+00 -0.51885808E+00 -0.24664450E+00 -0.34158926E-01 + -0.38116846E-01 0.12921121E-01 0.49244046E-01 0.17124632E-01 + -0.53521991E-02 -0.20537577E+01 -0.26769561E+00 0.49208440E-02 + 0.11124681E+00 0.16032118E+00 0.16892999E+00 0.16521209E+00 + -0.12701941E+00 -0.60623229E-01 0.17818429E+00 0.42037153E+00 + 0.23076218E+00 0.26306635E-01 0.27854430E-01 -0.14802126E-02 + -0.40314917E-01 -0.73871394E-02 0.24690886E-02 0.82360959E+00 + 0.18576212E+00 0.74848413E-01 -0.66371381E-01 -0.10588891E+00 + -0.11814052E+00 -0.11794991E+00 0.87646544E-01 0.56451134E-01 + 0.19192191E-01 -0.34562641E+00 -0.26493758E+00 0.78390092E-02 + -0.45823753E-02 0.45295572E-03 0.74164458E-02 -0.11921157E-02 + 0.17643603E-02 0.59155165E-04 0.28991437E+00 -0.32774389E+00 + -0.21361131E-01 0.55374275E-02 0.53592431E-02 -0.18224832E-01 + -0.22406343E-02 0.48251487E-02 0.43235645E-02 0.13838613E+00 + 0.46312857E-01 0.21590928E-01 0.16815718E-01 -0.19970588E-01 + 0.64824097E-04 -0.19745342E-03 0.47364239E-01 0.35681468E-01 + 0.49083740E-01 0.10480714E+00 0.58407630E-02 0.63248575E-02 + 0.33869774E-02 -0.22746570E-01 0.86412355E-02 0.40659290E-01 + -0.36743331E+00 0.11957970E+01 0.91784447E+00 0.13865000E+00 + -0.27913701E-01 -0.31462729E-01 -0.16293772E-01 0.48463605E-01 + -0.73108386E-03 -0.61130714E+00 -0.93153489E+00 0.12322998E+01 + 0.17962565E+00 0.92122070E-02 -0.88324785E-01 0.12294370E+00 + -0.67933202E-01 -0.18161766E-01 0.24850304E+00 -0.11966048E+01 + -0.56054062E+00 -0.38083974E-01 -0.12794179E+00 0.15602165E+00 + -0.32316101E+00 0.64251304E-01 -0.52134228E+00 0.38644767E+00 + 0.52516818E+00 -0.71278834E+00 -0.22031006E+00 0.48846070E-01 + -0.63622057E-01 0.20911931E+00 0.87847173E-01 -0.20944718E+00 + 0.10246782E+01 -0.12937897E+01 -0.40522784E+00 -0.58681500E+00 + 0.13400626E+00 0.13890813E+00 0.50930057E-01 -0.12004628E-01 + -0.18637219E-01 0.22995975E+01 -0.29405493E+00 -0.19752225E+01 + -0.36606321E+00 -0.36992472E-01 0.18337315E+00 -0.16064256E+00 + 0.12423855E+00 0.50655343E-02 -0.79235858E+00 0.22702663E+01 + 0.19082404E+01 0.38968597E-01 0.33631071E-01 -0.34791511E+00 + 0.11422634E+01 -0.18621103E+00 0.13048162E+01 -0.16866663E+01 + -0.17086962E+01 0.15004873E+01 0.64295954E+00 0.89812338E-01 + 0.19795392E+00 -0.47849473E+00 -0.32040602E+00 0.35970521E+00 + -0.68489265E+00 0.76091522E+00 0.12355459E+00 0.44687080E+00 + -0.14212960E+00 -0.13827264E+00 -0.91967396E-02 -0.65421760E-01 + 0.32495584E-01 -0.19574795E+01 0.92517078E+00 0.13603249E+01 + 0.23316287E+00 -0.27497090E-01 -0.11032373E+00 0.18738518E-01 + -0.33233728E-01 -0.10697253E-01 0.59273267E+00 -0.12416373E+01 + -0.19759160E+01 0.18526610E-01 0.10760015E+00 0.19402064E+00 + -0.95974118E+00 0.11718221E+00 -0.88802701E+00 0.15903206E+01 + 0.16918584E+01 -0.10219688E+01 -0.45557451E+00 -0.17555869E+00 + -0.13787276E+00 0.30494553E+00 0.23491567E+00 -0.17701098E+00 + -0.17107017E-01 -0.11062064E-01 0.93461685E-02 0.72881281E-01 + -0.11495991E+00 -0.24580231E-02 -0.34615423E-02 -0.27623498E-02 + -0.68666786E-02 -0.95973685E-02 -0.17075190E-01 0.91627240E-02 + 0.10242629E+00 0.92916191E-01 0.24848133E-02 -0.11218094E-01 + -0.55938447E-02 0.10607604E-03 0.10907738E+00 0.13264811E+00 + 0.73107123E-01 0.13814706E+00 0.24720402E-01 0.25445610E-01 + -0.19353468E-01 -0.68268133E-03 0.79990216E-02 0.44637099E-02 + 0.49218759E-01 -0.18194417E-01 0.33405840E-01 0.20319276E+00 + 0.36236916E-01 0.17274112E-01 -0.63722837E-02 0.33721287E-01 + 0.25666660E-01 0.92364073E-01 -0.91084361E-01 -0.36218083E+00 + 0.19792330E+00 -0.52057374E-01 0.40467951E-01 -0.31956334E-01 + 0.12260312E+00 -0.15529650E+00 0.11941779E+00 -0.13577777E+00 + -0.17587662E+00 -0.45683962E+00 -0.65770686E-01 0.69410920E-01 + -0.18389065E-01 0.85385442E-02 -0.37895924E+00 -0.73540914E+00 + -0.56422461E-01 -0.47111732E+00 -0.20011032E+00 -0.17941421E-01 + 0.27807336E-01 0.76329648E-01 -0.42905848E-01 0.33812633E+00 + -0.11257857E+00 0.52691780E-01 0.99168271E-02 -0.50797993E+00 + -0.69310427E-01 -0.12250752E+00 0.10490370E+00 -0.24429388E+00 + -0.96905589E-01 -0.29989797E+00 0.95130742E-01 0.83204031E-01 + -0.46254903E+00 0.10771060E+00 -0.16102757E-01 0.71079552E-01 + -0.19646353E+00 0.21520536E+00 -0.41078597E+00 0.15975517E+00 + 0.48532066E+00 0.16240960E+00 0.74154317E-01 -0.57246845E-01 + 0.45167182E-01 -0.30693918E-01 0.27020484E+00 0.10784187E+01 + -0.53013720E-01 0.46552581E+00 0.92620194E-01 0.51729452E-01 + -0.36019333E-01 -0.14987499E+00 0.62644899E-01 -0.55153668E+00 + 0.28454649E+00 0.94641261E-01 0.93170047E-01 0.38448083E+00 + 0.47209587E-01 0.20970257E+00 -0.13942526E+00 0.29898924E+00 + -0.25534304E-01 0.54413597E-02 0.14065276E-01 -0.76298034E-02 + -0.10420345E-01 0.29778400E-01 -0.41098721E-01 -0.40198043E-02 + -0.51609315E-02 -0.10902796E-01 -0.23414368E-01 -0.62101185E-02 + 0.97503476E-02 -0.91798007E-02 0.33085525E-01 0.36749899E-01 + -0.47427081E-02 -0.77581662E-02 0.33572678E-01 0.60052574E-01 + 0.14006684E-01 -0.36195543E-01 0.13402760E-01 0.33575904E-01 + 0.35400661E-02 -0.38376541E-02 0.42043738E-02 0.25882047E-01 + 0.10295447E-01 -0.20480629E-02 -0.22618543E-01 -0.37360494E-02 + 0.12422180E-02 0.29957971E-01 0.19331203E-02 0.71227252E-02 + 0.44606976E-01 -0.10304904E+00 -0.50200403E-01 -0.11642319E-02 + 0.27468763E-02 -0.13490731E+00 -0.85447609E-01 -0.19251920E-02 + 0.38483709E-01 0.11273086E-01 0.55817258E-01 -0.40558748E-01 + -0.12057238E-02 0.39492734E-02 0.10076773E+00 -0.14639936E+00 + -0.27176535E-02 0.11188756E-01 -0.19127030E-01 -0.16049713E-01 + 0.92721246E-02 0.23639500E-02 -0.56997477E-03 0.52273949E-02 + 0.54570334E-03 0.32571722E-01 0.92297159E-02 -0.76535936E-02 + 0.41365661E-02 -0.10613390E-01 0.34963775E-02 -0.13046856E-02 + 0.11616312E-02 0.74619646E-02 -0.10147393E-01 0.32333367E-01 + 0.38845401E-01 0.55554290E-02 -0.41929297E-02 -0.15542837E-01 + -0.18608434E-01 -0.68834014E-02 0.12991249E-01 0.47244687E-01 + 0.51083587E-01 0.33533402E-01 -0.61769702E-01 0.22310423E-01 + 0.10246638E-01 -0.62199384E-02 -0.11598878E-01 -0.16985394E-01 + -0.50428759E-01 0.41603893E-01 0.17688369E-02 -0.36227440E-02 + 0.84820502E-02 0.28933494E-02 -0.58887936E-02 0.68608033E-02 + 0.30614503E-03 -0.15316578E-02 -0.24033545E-02 0.92781484E-02 + 0.14051887E-01 -0.10239174E-01 0.53211115E-02 -0.21397618E-02 + 0.44980948E-02 0.54727197E-02 0.70043909E-02 0.11711870E-01 + 0.68015754E-02 0.21883962E-02 0.35151723E-02 0.67476854E-02 + -0.67525278E-02 0.54354896E-02 0.19866447E-02 0.76344423E-02 + 0.59919464E-02 -0.26257581E-02 -0.48037633E-04 -0.10798142E-01 + 0.56925323E-03 0.80262758E-02 -0.51455799E-03 -0.93577243E-03 + -0.71163801E-03 0.78903772E-02 diff --git a/src/test/resources/nequick/ccir15.asc b/src/test/resources/nequick/ccir15.asc new file mode 100644 index 000000000..d3109608f --- /dev/null +++ b/src/test/resources/nequick/ccir15.asc @@ -0,0 +1,715 @@ + 0.56421361E+01 -0.81572413E-01 0.20138618E+00 0.42779677E-01 + 0.44377021E-01 0.38025156E-02 -0.87150792E-03 0.21708569E-01 + -0.23025222E-01 -0.33594198E-02 0.21446485E-03 -0.18263943E-02 + -0.12104561E-01 -0.10026588E+01 -0.77602589E+00 0.80115181E+00 + -0.27182055E+00 0.54614949E+00 -0.18997934E+00 0.82413137E-01 + -0.38998052E-01 -0.97885430E-01 0.13837355E+00 0.10652161E+00 + -0.15692274E+00 0.99289834E-01 0.80236692E+01 0.19602766E+01 + -0.35586729E+01 0.28472131E+00 -0.56597888E+00 -0.44183964E+00 + 0.13710302E+00 0.35544120E-01 0.41852087E+00 0.63865769E+00 + -0.19955041E+00 0.11715311E+00 0.86535454E-01 0.14375470E+02 + 0.64524765E+01 -0.62800093E+01 0.55624418E+01 -0.81383457E+01 + 0.28389120E+01 -0.18190528E+01 0.17703342E+00 0.13019990E+01 + -0.19010274E+01 -0.25744610E+01 0.22809553E+01 -0.81978834E+00 + -0.53995441E+02 -0.20322050E+02 0.18375992E+02 -0.74895930E+00 + -0.51071939E+01 0.81174737E+00 -0.39087519E+00 -0.14415855E+01 + -0.10194235E+01 -0.38520763E+01 0.11969795E+01 -0.14105281E+01 + -0.62901044E+00 -0.18940157E+02 -0.23667873E+02 0.88806610E+01 + -0.27459183E+02 0.41921677E+02 -0.13132247E+02 0.69411263E+01 + -0.15238304E+01 -0.77653646E+01 0.84578733E+01 0.15979067E+02 + -0.12099966E+02 0.12503767E+01 0.11738895E+03 0.68091232E+02 + -0.39820190E+02 -0.16654691E+01 0.25928144E+02 0.13787631E+01 + -0.43914908E+00 0.40016642E+01 0.47450107E+00 0.83207245E+01 + -0.34342327E+01 0.43038511E+01 0.21257401E+01 -0.37460907E+02 + 0.41022411E+02 0.10812600E+02 0.51976318E+02 -0.94334892E+02 + 0.25150225E+02 -0.89467859E+01 0.58774261E+01 0.20332352E+02 + -0.17085920E+02 -0.38310883E+02 0.27109831E+02 0.87873179E+00 + -0.12372594E+03 -0.87597069E+02 0.38698395E+02 0.42182999E+01 + -0.37059372E+02 -0.34062233E+01 0.15188284E+01 -0.37199287E+01 + 0.36815089E+00 -0.74235353E+01 0.42371931E+01 -0.49250050E+01 + -0.28798952E+01 0.87714096E+02 -0.30394651E+02 -0.28824888E+02 + -0.42016953E+02 0.95767807E+02 -0.21253893E+02 0.34847982E+01 + -0.83288565E+01 -0.22973537E+02 0.15845952E+02 0.39268753E+02 + -0.26755201E+02 -0.26882515E+01 0.49962566E+02 0.37968536E+02 + -0.13776734E+02 -0.21174345E+01 0.16793776E+02 0.16195391E+01 + -0.80588609E+00 0.10947104E+01 -0.22045150E+00 0.22938366E+01 + -0.17940501E+01 0.19093056E+01 0.13130226E+01 -0.43963943E+02 + 0.73540721E+01 0.14685715E+02 0.12209098E+02 -0.35778717E+02 + 0.65739965E+01 0.25819159E+00 0.38785124E+01 0.92260513E+01 + -0.54415436E+01 -0.14486172E+02 0.96487923E+01 0.12716560E+01 + -0.21124797E+00 0.17043124E+01 0.20464392E+01 0.56599011E-02 + -0.10268539E+00 0.23923583E-01 0.46511523E-01 0.47292676E-01 + -0.43041888E-02 -0.13252717E-01 0.11830020E-02 0.10728047E-01 + -0.11813323E-01 0.11713130E+00 -0.18258562E+01 0.17008827E+01 + -0.15215687E-01 0.11784351E+00 -0.43866597E-02 -0.22057733E-01 + -0.63331686E-02 0.49470384E-01 -0.17963709E-01 -0.59963912E-02 + -0.16910572E-01 0.36876623E-01 -0.67201304E+00 0.13338751E+00 + -0.21074171E+01 0.51338410E+00 -0.38658464E+00 0.81445098E-01 + -0.95247179E-02 -0.41881126E+00 0.26037967E+00 0.10410905E+00 + 0.31723064E+00 0.19097520E+00 0.45013998E-01 -0.20128696E+00 + 0.15844086E+01 -0.83317602E+00 0.54410458E-01 0.24460573E+00 + -0.36854926E-01 -0.48869911E+00 0.82281888E-01 0.58834499E+00 + 0.92693090E-01 0.62349547E-01 0.23411548E+00 0.29134643E+00 + 0.55470834E+01 0.96163158E+01 0.50997686E+01 0.68665922E+00 + 0.65423727E-01 -0.24311846E+00 -0.12406636E+01 -0.11371593E+01 + 0.11067601E+01 -0.51531065E-01 -0.74737406E+00 0.54248173E-01 + 0.63131154E-01 -0.68635058E+00 -0.12532815E+02 0.31381702E+01 + 0.58695197E+00 -0.89948475E-01 -0.52485317E+00 0.11644163E+01 + -0.24193648E+00 0.99850374E+00 0.73659611E+00 0.30205196E+00 + 0.79808694E+00 -0.56268388E+00 0.84152431E+01 -0.18351839E+01 + 0.22851473E+02 -0.62919540E+01 0.38386995E+00 -0.11887341E+01 + -0.32209759E+01 0.62786980E+01 -0.32539845E+01 0.33874825E-01 + -0.68638248E+01 -0.39917045E+01 0.50753254E+00 0.54675989E+01 + -0.14342615E+02 0.20977674E+02 -0.40119495E-01 -0.43394470E+01 + 0.13764828E+01 0.10244991E+02 0.31333178E+00 -0.92915659E+01 + -0.30012243E+01 -0.67161626E+00 -0.32468977E+01 -0.40313520E+01 + -0.35370174E+02 -0.69950531E+02 0.26502394E+02 0.31762893E+01 + -0.11033850E+01 -0.33225193E+01 0.66381388E+01 0.81779928E+01 + -0.61022072E+01 -0.22130616E+00 0.75198298E+01 0.25410479E+00 + 0.76021153E+00 -0.13441772E+01 0.27343550E+02 0.47622557E+01 + -0.13991564E+02 0.15639170E+01 0.82513838E+01 -0.82063274E+01 + -0.34090369E+01 -0.11663890E+02 -0.46683292E+01 -0.29037731E+01 + -0.57367353E+01 0.13532742E+01 -0.48274445E+02 0.83131851E+02 + -0.96901001E+02 0.27448698E+02 0.21074265E+02 0.43562355E+01 + 0.23491089E+02 -0.30603300E+02 0.98027277E+01 -0.17388163E+01 + 0.41459396E+02 0.21956772E+02 -0.74577127E+01 -0.57677418E+02 + 0.61015915E+02 -0.67599213E+02 -0.76322889E+01 0.15360656E+02 + -0.13954190E+02 -0.63971973E+02 -0.57594645E+00 0.46648544E+02 + 0.18534498E+02 -0.11813202E+01 0.14227716E+02 0.16818100E+02 + 0.80797073E+02 0.17325121E+03 -0.21808232E+03 -0.25066269E+02 + 0.77090273E+01 0.19229858E+02 -0.16147858E+02 -0.21793213E+02 + 0.11739251E+02 0.27427473E+01 -0.23950104E+02 -0.14955988E+01 + -0.43279028E+01 0.23412643E+02 0.63171875E+02 -0.99681198E+02 + 0.62766193E+02 -0.79878149E+01 -0.30435438E+02 0.21497587E+02 + 0.20054749E+02 0.38359371E+02 0.92688770E+01 0.10108423E+02 + 0.14417061E+02 -0.20493574E+01 0.14545422E+03 -0.31993137E+03 + 0.20626822E+03 -0.59260864E+02 -0.98615196E+02 -0.91029177E+01 + -0.61238266E+02 0.69641464E+02 -0.53348751E+01 0.55038424E+01 + -0.10444603E+03 -0.51997681E+02 0.24604843E+02 0.17732973E+03 + -0.14906340E+03 0.97182144E+02 0.28640444E+02 -0.17308901E+02 + 0.45831375E+02 0.16195528E+03 -0.62566643E+01 -0.10428041E+03 + -0.45196335E+02 0.11912195E+02 -0.28687086E+02 -0.28267487E+02 + -0.71918915E+02 -0.20264278E+03 0.37785229E+03 0.43567062E+02 + -0.15192982E+02 -0.31795990E+02 0.19159103E+02 0.24578566E+02 + -0.10395301E+02 -0.54584179E+01 0.29443466E+02 0.18643064E+01 + 0.73603711E+01 -0.46939163E+02 -0.19401112E+03 0.19549149E+03 + -0.98742599E+02 0.65470681E+01 0.41411484E+02 -0.23003342E+02 + -0.32262772E+02 -0.48849609E+02 -0.63948107E+01 -0.14122623E+02 + -0.15711076E+02 0.33360176E+01 -0.20310934E+03 0.43382687E+03 + -0.22873074E+03 0.61049896E+02 0.15113927E+03 0.12178139E+02 + 0.69404495E+02 -0.76307922E+02 -0.99914227E+01 -0.87610989E+01 + 0.11714095E+03 0.56842529E+02 -0.31153521E+02 -0.20313606E+03 + 0.19473549E+03 -0.81566391E+02 -0.31190519E+02 0.46536427E+01 + -0.60174667E+02 -0.17905360E+03 0.15700249E+02 0.10812028E+03 + 0.48076645E+02 -0.19411180E+02 0.28377899E+02 0.18879486E+02 + 0.18400131E+02 0.92124527E+02 -0.19595229E+03 -0.22818571E+02 + 0.91224928E+01 0.16459473E+02 -0.86445189E+01 -0.10113223E+02 + 0.36470232E+01 0.31096523E+01 -0.12310072E+02 -0.65811318E+00 + -0.39445655E+01 0.27785625E+02 0.12070576E+03 -0.10845207E+03 + 0.50968777E+02 0.20172386E+01 -0.18991880E+02 0.84511404E+01 + 0.16190018E+02 0.21269348E+02 0.98832005E+00 0.67662487E+01 + 0.63501005E+01 -0.22222321E+01 0.10348282E+03 -0.20003770E+03 + 0.10056244E+03 -0.24191299E+02 -0.75550995E+02 -0.66165800E+01 + -0.28941284E+02 0.32210007E+02 0.89458332E+01 0.52425108E+01 + -0.48151108E+02 -0.23473757E+02 0.13704450E+02 0.76933624E+02 + -0.97199905E+02 0.34218754E+02 0.94315853E+01 -0.39759985E+00 + 0.27437757E+02 0.72066147E+02 -0.95865564E+01 -0.42264877E+02 + -0.18651276E+02 0.93191538E+01 -0.11183517E+02 -0.35364711E+01 + 0.97871006E-01 0.20281778E+00 0.90489745E-01 -0.95290929E+00 + -0.27933317E+00 0.52461397E-01 0.72199441E-02 0.15705127E-01 + 0.41039664E-01 -0.36827065E-01 -0.15596762E-01 -0.21006119E-01 + -0.74302871E-03 0.18413860E+00 -0.22145296E-01 -0.21845268E-01 + 0.28004026E+00 -0.71528935E+00 -0.12112074E-01 -0.43858774E-02 + -0.32223654E-02 -0.29513296E-02 -0.20680975E-01 -0.50281626E-02 + -0.97669251E-02 0.16754761E-01 -0.50228141E-01 0.86401850E+00 + 0.37329835E+00 -0.43455347E-01 -0.37337756E+00 0.31667173E-01 + -0.33294797E+00 0.19361351E+00 -0.14481425E+00 0.17382687E+00 + -0.27535016E-01 -0.52372944E-01 0.51665079E-01 0.77041346E+00 + -0.10802412E+00 0.78209734E+00 0.82496119E+00 -0.11585003E+00 + -0.95668077E-01 0.54860026E-01 0.16625005E+00 -0.91622949E-01 + -0.65615296E-01 0.60415338E-03 0.15374319E+00 0.46706025E-01 + 0.54401726E+00 -0.93265295E+00 -0.56378663E+00 0.10645507E+02 + 0.57229429E+00 -0.12630768E+01 -0.64789844E+00 -0.60353720E+00 + -0.18424869E+00 0.13993631E+00 0.48576195E-01 0.22784837E+00 + -0.42130151E+00 0.27307934E+00 0.10153093E+01 0.11288967E+01 + -0.25885277E+01 0.76768193E+01 0.73958021E+00 0.39947239E+00 + -0.11303549E+01 0.74285984E+00 0.42960650E+00 -0.46359380E-02 + 0.57497424E+00 -0.24941254E+00 -0.27576047E+00 -0.49189272E+01 + -0.30248425E+01 0.82247725E+01 -0.40766191E+01 0.37377691E+00 + 0.15920105E+01 -0.10867130E+01 0.17805320E+01 -0.15497741E+01 + 0.73062027E+00 0.45829795E-01 0.16331393E+00 -0.90494804E+01 + -0.15745068E+00 -0.52452645E+01 -0.91057485E+00 0.86765213E+01 + 0.23413999E+01 -0.92353117E+00 -0.28763181E+00 0.22783265E-01 + -0.82801867E+00 -0.28931600E+00 -0.10174732E+01 0.16624612E+00 + -0.10378918E+02 0.58001833E+01 -0.22736099E+00 -0.23410551E+02 + 0.69524846E+01 0.71683698E+01 0.60270033E+01 0.22774773E+01 + 0.14830399E+01 0.16389122E+01 -0.30775643E-02 -0.78709882E+00 + 0.30579996E+01 -0.15465742E-02 -0.94203407E+00 -0.70205545E+01 + 0.62845592E+01 -0.72446785E+01 -0.44833164E+01 -0.13172770E+01 + 0.54477391E+01 -0.26917973E+01 -0.22063322E+01 0.88429081E+00 + -0.25067616E+01 0.70779270E+00 -0.41653013E+00 0.77432489E+01 + 0.44009705E+01 -0.26288897E+02 0.11670719E+02 -0.90083337E+00 + -0.26713228E+01 0.27358818E+01 -0.44873123E+01 0.38639853E+01 + -0.20221062E+01 0.50795317E+00 -0.10303020E+01 0.25454910E+02 + -0.35198113E+00 0.91766758E+01 0.36100191E+00 -0.26752716E+02 + -0.79657874E+01 0.40400887E+01 -0.13829774E+00 0.47660893E+00 + 0.37345991E+01 0.49525356E+00 0.16495342E+01 -0.32004577E+00 + 0.26923616E+02 -0.12705561E+02 0.77154822E+01 0.47243567E+01 + -0.21181992E+02 -0.15098258E+02 -0.13009449E+02 -0.24404039E+01 + -0.28010445E+01 -0.60208445E+01 -0.58497292E+00 0.13716582E+01 + -0.60833511E+01 -0.75704546E+01 -0.52916560E+01 0.16575651E+02 + -0.68116527E+01 -0.28722122E+02 0.83101597E+01 0.55782187E+00 + -0.92281694E+01 0.28159809E+01 0.46327085E+01 -0.30307541E+01 + 0.37459199E+01 -0.88170338E+00 0.22301374E+00 -0.31962299E+01 + -0.10003721E+01 0.17513151E+02 -0.10250561E+02 0.30598539E+00 + 0.16885279E+01 -0.19954594E+01 0.31069326E+01 -0.28071928E+01 + 0.13887663E+01 -0.67095476E+00 0.10415516E+01 -0.20710800E+02 + 0.89437598E+00 -0.42360601E+01 0.20117788E+01 0.17224686E+02 + 0.66144190E+01 -0.45690050E+01 -0.18276888E+00 -0.40452820E+00 + -0.32121382E+01 -0.92587352E-01 -0.48688596E+00 -0.14324802E+00 + -0.18712112E+02 0.78072858E+01 -0.87452765E+01 0.12498963E+02 + 0.17300508E+02 0.10375721E+02 0.82283955E+01 0.58782387E+00 + 0.11830969E+01 0.48081846E+01 0.77937979E+00 -0.73815536E+00 + 0.35488701E+01 0.98545418E+01 0.57349968E+01 -0.14113447E+02 + 0.14990282E+01 0.34328522E+02 -0.51231575E+01 0.11489592E+01 + 0.57513080E+01 -0.11141500E+01 -0.30930834E+01 0.25668888E+01 + -0.20892143E+01 0.63647670E+00 -0.29918632E-01 0.19186276E+00 + -0.70395470E-01 -0.77080011E-01 0.31567018E-01 -0.38534537E+00 + -0.50261641E+00 -0.21860758E-01 0.62904477E-01 -0.54080826E-02 + -0.92705972E-02 -0.40175516E-01 -0.11157576E-01 0.72898686E-01 + -0.50168097E-01 -0.10570348E+00 -0.67150486E-02 -0.14133672E+00 + 0.50753140E+00 -0.42581898E+00 -0.46848822E-01 0.22408159E-02 + 0.83338544E-02 0.41946094E-02 -0.58955322E-02 -0.26281827E-03 + -0.26040107E+00 0.76159227E+00 0.23537504E-01 -0.80746651E-01 + -0.17011432E+00 0.11547458E+00 -0.15361232E+00 0.17724210E+00 + 0.76225460E-01 -0.13381563E-01 -0.60893372E-02 -0.11518115E+00 + -0.31129288E-01 -0.51667415E-01 -0.24441698E+00 -0.31773394E+00 + 0.81835270E-01 -0.46549353E+00 0.17142838E+00 0.30523729E+00 + -0.57707924E-01 -0.20797607E-01 -0.15126068E-01 -0.33176009E-01 + -0.42346753E-01 -0.11050798E-01 0.59186462E-01 -0.11252823E+01 + 0.44319233E+00 -0.11809951E+00 -0.14963281E+00 0.52666683E-01 + -0.52684325E+00 -0.40326196E+00 0.12269676E+00 0.28846711E+00 + 0.12978292E+00 0.32258499E+00 -0.14862967E+00 -0.80570710E+00 + 0.17221977E+01 0.46162105E+00 -0.34327608E+00 0.13253001E+01 + 0.44412488E+00 0.28846556E+00 -0.34307167E+00 -0.36704320E+00 + 0.56617558E-01 0.18177402E+00 0.25099778E+00 -0.99185109E-01 + -0.19901596E+00 -0.17126940E+01 0.37629980E+00 0.45409292E+00 + 0.27510107E+00 0.15234835E-01 0.65682179E+00 -0.45590812E+00 + -0.21512812E+00 0.90877235E-01 -0.33986196E-01 0.28594887E+00 + 0.92194855E-01 -0.24209812E+00 0.65725392E+00 0.75583166E+00 + -0.39450559E+00 0.12069464E+01 -0.75257272E+00 -0.52532125E+00 + 0.99424243E-01 0.93963981E-01 0.45424551E-02 0.14965153E+00 + 0.19529074E+00 0.89346766E-01 0.76194298E+00 0.21998911E+01 + -0.61996317E+00 0.38401401E+00 0.65990424E+00 0.10685673E+01 + 0.16874924E+01 0.10111742E+01 -0.47734889E+00 -0.55955148E+00 + -0.36574561E-01 -0.54719484E+00 0.21022721E+00 0.96725518E+00 + -0.21709862E+01 -0.58654189E+00 0.52371085E-01 -0.19939440E+01 + -0.13083380E+01 0.97265768E+00 0.10472490E+01 0.79788142E+00 + -0.23003297E+00 -0.31732583E+00 -0.59758753E+00 0.17752629E-01 + -0.48324671E-01 -0.39871577E-01 0.35558343E-02 -0.26979163E-01 + 0.43359701E-01 0.12917670E-01 0.17010417E-01 0.27531302E+00 + -0.38564362E-01 -0.34878929E-02 -0.61485842E-02 -0.97274072E-02 + -0.18774368E-01 0.92524946E-01 -0.57997428E-01 0.36104076E-01 + 0.66196680E-01 -0.40818255E-01 0.68578762E-02 0.56706853E-02 + 0.14657996E-01 0.25169230E+00 0.17018355E-01 -0.13085435E-02 + 0.40550670E-03 -0.75565805E-02 -0.27891764E-01 -0.61812479E-01 + -0.66995502E-01 0.60951103E-01 -0.16235439E+00 -0.18117537E+00 + -0.63722014E-01 0.19130240E+00 0.34930456E+00 0.10013779E-03 + -0.18040525E-01 0.93262084E-02 0.29071178E-01 0.37352061E+00 + 0.23084080E+00 -0.11973948E+00 0.39940476E-01 0.16606478E+00 + -0.25743231E-01 -0.50882917E-01 -0.38867259E+00 0.90072393E-01 + -0.18342920E-01 -0.16830478E-01 0.65812240E-02 -0.11528601E-01 + -0.17556232E+00 -0.39191529E-01 0.14456748E-01 -0.31045396E-01 + -0.29462799E-01 0.17225456E-02 0.81582479E-02 0.32372475E-01 + -0.37683394E-01 0.90681970E-01 0.16984078E+00 -0.56379475E-02 + -0.16191300E-01 0.32786494E-02 0.13823363E-01 -0.58228843E-01 + 0.46045274E-01 -0.32285947E-01 -0.29173903E-01 -0.13254939E-02 + 0.33482354E-01 0.14193524E-01 -0.18655914E+00 0.75768769E-01 + 0.28235953E-01 -0.12667626E-01 -0.63085556E-01 -0.16578861E-01 + -0.65637641E-02 0.90851039E-02 -0.29999416E-01 0.40609591E-01 + -0.12365531E-01 0.32348711E-01 0.48897560E-02 -0.33822318E-02 + -0.95927678E-02 -0.10472466E+00 -0.49497220E-02 0.13566672E-01 + 0.51126848E-02 0.69563393E-02 0.21742020E-01 0.64151824E-01 + -0.15110991E-01 -0.11155132E-01 -0.23500491E-02 -0.49487539E-02 + -0.34136429E-01 -0.13634215E-01 -0.51828255E-02 -0.11964959E+00 + 0.16280919E-01 -0.15323649E-01 0.11045884E-01 0.15388856E-01 + 0.71778144E-02 0.13341841E-01 0.86160116E-02 0.35415869E-01 + 0.20430245E-01 -0.12541118E-01 0.64188945E-02 0.69954544E-02 + 0.14519761E-01 0.26640084E-01 -0.81357181E-01 -0.82582474E-01 + 0.33618689E-02 -0.22538288E-01 -0.19978171E-01 0.16238064E-01 + -0.12985624E-01 0.16977180E-01 -0.14756378E-01 -0.48074991E-03 + 0.21765309E-02 0.14442622E-01 0.29858343E-01 0.81244595E-01 + -0.43053649E-01 0.27717860E-01 0.12420647E-01 -0.21559790E-01 + 0.41899718E-01 -0.27755309E-01 0.32173224E-01 -0.28853362E-01 + 0.96155703E-02 0.35324390E-03 -0.10962151E-01 -0.35660431E-01 + -0.20827373E-01 -0.27171995E-01 -0.39691199E-01 0.78898333E-02 + -0.13305611E-01 -0.33514684E-02 -0.12471180E-01 0.22468632E-01 + 0.17353617E-01 -0.10118406E-01 -0.17869116E-02 0.15280947E-01 + 0.90913858E+01 0.84599435E-01 0.16230762E+00 0.69487393E-01 + -0.29570593E-02 -0.92661269E-02 -0.40300187E-01 0.30152723E-01 + -0.22117846E-01 0.44199228E-02 -0.37470511E-02 0.57405084E-02 + -0.12053542E-01 -0.76227534E+00 -0.81212759E+00 0.16045757E-01 + -0.18294990E-01 0.17572676E+00 0.21314567E+00 0.27046995E-01 + 0.82527518E-01 -0.28845841E+00 0.24496240E-02 0.97445555E-01 + -0.39677333E-01 0.67152977E-01 0.24650417E+02 -0.44397229E+00 + -0.17870302E+01 0.55547500E+00 0.10984250E+01 0.28475463E+00 + 0.69275779E+00 -0.18453956E+00 0.40410060E+00 0.59705932E-01 + -0.23535264E+00 0.43878641E-01 0.11331541E+00 -0.10896392E+02 + 0.80607300E+01 0.99370747E+01 0.28089601E+00 -0.36042509E+01 + -0.39281120E+01 -0.43405023E+00 -0.12527297E+00 0.35088425E+01 + -0.13881063E+01 -0.10145779E+01 0.22173718E+00 -0.23965409E+00 + -0.13814935E+03 -0.35444753E+01 0.49864120E+01 -0.73278646E+01 + -0.15269501E+02 -0.34637457E+00 -0.28207884E+01 0.86998552E+00 + -0.19370022E+01 0.66754687E+00 0.17929991E+01 -0.26302791E+00 + -0.35202679E+00 0.14604482E+03 -0.40838089E+02 -0.57767654E+02 + 0.57909651E+01 0.29187012E+02 0.18583529E+02 0.96246183E+00 + -0.31996384E+01 -0.18213394E+02 0.86978769E+01 0.45727205E+01 + 0.29856855E+00 -0.23486693E+01 0.25891187E+03 0.25923475E+02 + -0.39683549E+01 0.22933838E+02 0.49968536E+02 -0.23614740E+01 + 0.36843925E+01 -0.18787699E+01 0.36446035E+01 -0.35390711E+01 + -0.51340876E+01 0.95419985E+00 0.99823630E+00 -0.41596631E+03 + 0.86813034E+02 0.11431066E+03 -0.30645111E+02 -0.82427063E+02 + -0.37951324E+02 0.10900593E+01 0.11784755E+02 0.41145615E+02 + -0.19994535E+02 -0.94752407E+01 -0.28417883E+01 0.96225624E+01 + -0.22837682E+03 -0.43467041E+02 0.16895312E+01 -0.27585831E+02 + -0.61419998E+02 0.55255604E+01 -0.12157917E+01 0.21039858E+01 + -0.30910070E+01 0.53918390E+01 0.60075970E+01 -0.13708735E+01 + -0.16586264E+01 0.45341821E+03 -0.79230301E+02 -0.95844482E+02 + 0.45088043E+02 0.94350952E+02 0.35473495E+02 -0.38808095E+01 + -0.14583706E+02 -0.40570160E+02 0.19583450E+02 0.89746466E+01 + 0.42096748E+01 -0.11760090E+02 0.78894501E+02 0.21365402E+02 + -0.97209376E+00 0.11413410E+02 0.25590925E+02 -0.31731806E+01 + -0.29654628E+00 -0.94074398E+00 0.10037756E+01 -0.26313782E+01 + -0.24205437E+01 0.61006391E+00 0.94114131E+00 -0.17161836E+03 + 0.26147402E+02 0.29388212E+02 -0.20523865E+02 -0.37670624E+02 + -0.12390258E+02 0.22395267E+01 0.60695238E+01 0.14398424E+02 + -0.68785152E+01 -0.31523428E+01 -0.18456867E+01 0.46553698E+01 + -0.17224808E+00 0.15295334E+01 0.16319656E+01 0.16117387E-01 + -0.11191821E+00 -0.55230487E-01 -0.11635204E-01 0.23330308E-01 + 0.14298859E-01 0.73818795E-04 -0.13618111E-01 0.40551312E-02 + -0.13926427E-01 0.25908184E+00 -0.15589666E+01 0.15277147E+01 + -0.52449096E-01 0.15074497E+00 0.48045819E-02 0.26224243E-01 + -0.31880584E-01 0.30712899E-01 -0.15925415E-01 0.30503890E-01 + -0.15572473E-01 0.10377556E-01 -0.44175959E+00 -0.14467430E+00 + -0.23857012E+01 -0.93523920E-01 0.39645356E+00 0.34704551E+00 + -0.23056674E+00 -0.74715137E-01 -0.10230460E-01 0.67601502E-01 + 0.24271286E+00 -0.83723627E-02 0.27769661E-01 0.43120185E+00 + 0.15971812E+01 -0.11812305E+01 -0.19957673E-01 0.79163861E+00 + 0.32819313E+00 0.47173295E-01 0.10105978E+00 0.29491341E+00 + 0.12614381E+00 -0.77709079E-01 0.28120130E+00 -0.83021171E-01 + 0.28239887E+01 0.20100615E+02 -0.53325434E+01 0.45510817E+00 + 0.10075531E+01 0.19475688E+01 0.87764078E+00 -0.28519869E+00 + -0.21241648E+00 -0.31646341E+00 -0.12565172E+00 -0.32961044E-01 + 0.23946790E+00 -0.30458715E+01 0.34423189E+01 0.15719869E+02 + 0.27821071E+01 -0.24117477E+01 -0.53116077E+00 -0.93346077E+00 + 0.38857713E+00 -0.41621810E+00 0.30858749E+00 -0.85805202E+00 + 0.56975412E+00 -0.45797628E+00 0.64062247E+01 -0.17833435E+02 + 0.38745697E+02 0.15681114E+01 -0.13188359E+02 -0.35303741E+01 + 0.42505398E+01 0.23458996E+01 0.36971977E+00 -0.15250416E+01 + -0.25250387E+01 0.11713954E+01 -0.25048578E+00 -0.47601023E+01 + -0.14131313E+02 0.16657822E+02 0.26456213E+01 -0.20797195E+02 + -0.33104246E+01 0.13996361E+01 -0.86525667E+00 -0.32111042E+01 + -0.41198330E+01 -0.53699988E+00 -0.44991617E+01 0.22725010E+01 + -0.15645195E+02 -0.83720718E+02 0.81215302E+02 -0.40556898E+01 + 0.73948927E+01 -0.12809273E+02 -0.93950243E+01 0.31676588E+01 + 0.58742332E+01 0.21229401E+01 0.13009329E+01 0.20239296E+01 + -0.53447640E+00 0.26276917E+02 -0.75438370E+02 -0.32025635E+02 + -0.30627808E+02 0.26027327E+02 0.33012905E+01 0.51888561E+01 + -0.51801109E+01 0.33771534E+01 -0.15328788E+01 0.53555951E+01 + -0.47251158E+01 0.42387228E+01 -0.45288258E+02 0.15141853E+03 + -0.23644785E+03 -0.37938156E+01 0.85512024E+02 0.71108923E+01 + -0.15790140E+02 -0.14872607E+02 -0.79568558E+01 0.77140079E+01 + 0.65682583E+01 -0.10868766E+02 -0.11020889E+01 0.15142424E+02 + 0.92271645E+02 -0.60111969E+02 -0.21405075E+02 0.12360046E+03 + 0.14346115E+02 -0.23227018E+02 0.11077701E+02 0.13304355E+02 + 0.28648270E+02 0.70955439E+01 0.23707228E+02 -0.13942077E+02 + 0.22773666E+02 0.94970367E+02 -0.27014453E+03 0.13208767E+02 + -0.51395779E+02 0.31416149E+02 0.32453064E+02 -0.10277441E+02 + -0.23690445E+02 -0.66481094E+01 -0.47724199E+01 -0.81575747E+01 + -0.47356147E-01 -0.76574432E+02 0.26398218E+03 -0.96341965E+02 + 0.11079182E+03 -0.88914581E+02 -0.30642166E+01 -0.13225582E+02 + 0.17785383E+02 -0.11198151E+02 0.20659573E+01 -0.13020062E+02 + 0.14299353E+02 -0.16164017E+02 0.15472882E+03 -0.41988281E+03 + 0.56520874E+03 0.14640665E+01 -0.21045242E+03 0.49664984E+01 + 0.16372755E+02 0.38117645E+02 0.34166721E+02 -0.15126779E+02 + -0.92465878E+00 0.30510056E+02 0.76909704E+01 -0.28304169E+02 + -0.24170126E+03 0.12176570E+03 0.48061871E+02 -0.29643774E+03 + -0.33637665E+02 0.83702576E+02 -0.42672485E+02 -0.25475430E+02 + -0.74082901E+02 -0.21089081E+02 -0.52561001E+02 0.36209103E+02 + 0.58211660E+01 -0.10134484E+02 0.36446875E+03 -0.14913529E+02 + 0.88607025E+02 -0.31856611E+02 -0.45381073E+02 0.13251897E+02 + 0.32890621E+02 0.99184685E+01 0.62132940E+01 0.10968968E+02 + 0.11417341E+01 0.98582275E+02 -0.37036865E+03 0.28047607E+03 + -0.16251315E+03 0.11509063E+03 -0.60012817E+01 0.18846558E+02 + -0.23316343E+02 0.17238707E+02 -0.60839570E+00 0.14205901E+02 + -0.18185120E+02 0.25047590E+02 -0.21569096E+03 0.48272437E+03 + -0.61942749E+03 -0.80701299E-01 0.22225163E+03 -0.23381893E+02 + 0.46022129E+01 -0.43023663E+02 -0.49467525E+02 0.12000541E+02 + -0.11647184E+02 -0.33798721E+02 -0.12033131E+02 0.35190140E+02 + 0.30408786E+03 -0.15077672E+03 -0.33036255E+02 0.31228760E+03 + 0.41757614E+02 -0.11409180E+03 0.61402248E+02 0.21682526E+02 + 0.81727142E+02 0.24596985E+02 0.52422810E+02 -0.42727203E+02 + -0.19147324E+02 -0.20564617E+02 -0.17347334E+03 0.61360617E+01 + -0.46458740E+02 0.11141961E+02 0.22063721E+02 -0.60768681E+01 + -0.15222783E+02 -0.52150402E+01 -0.25772469E+01 -0.48167343E+01 + -0.76443511E+00 -0.44532227E+02 0.18376114E+03 -0.17429190E+03 + 0.82279617E+02 -0.48177135E+02 0.71741362E+01 -0.10823287E+02 + 0.10417561E+02 -0.95174761E+01 -0.11475332E+00 -0.57856951E+01 + 0.82347708E+01 -0.13050280E+02 0.10409343E+03 -0.20178984E+03 + 0.25817358E+03 -0.14944649E+00 -0.85363373E+02 0.14998611E+02 + -0.99766235E+01 0.17693342E+02 0.23184237E+02 -0.29896562E+01 + 0.85577002E+01 0.12933766E+02 0.56063805E+01 -0.18578611E+02 + -0.14634050E+03 0.76995132E+02 0.21686544E+01 -0.12222351E+03 + -0.20490662E+02 0.53517181E+02 -0.29491056E+02 -0.64766569E+01 + -0.32628662E+02 -0.10126881E+02 -0.19581984E+02 0.18641266E+02 + 0.73967695E-01 -0.14112777E+00 0.17739683E+00 -0.10380154E+01 + 0.46758756E+00 -0.52029889E-01 0.38553629E-01 -0.19935207E-01 + 0.24950042E-01 -0.20095924E-01 -0.28559000E-02 -0.27403604E-01 + -0.97574200E-03 0.11055297E+00 -0.16600925E+00 -0.32541618E-01 + -0.43835491E+00 -0.84406430E+00 -0.22534749E-01 0.29131180E-01 + -0.11667867E-01 -0.34039456E-01 -0.32340210E-01 0.11184864E-01 + -0.23590120E-01 0.87832250E-02 0.91149986E-01 0.97471714E+00 + 0.51438361E+00 0.13833370E+01 -0.50698072E+00 0.27014571E+00 + 0.11282754E+00 0.54294679E-01 -0.75866026E-02 0.12068820E+00 + 0.16455024E-01 0.90567589E-01 0.75802863E-01 0.34389901E+00 + 0.55841506E+00 0.90160257E+00 0.12392102E+01 0.17093923E+01 + 0.13808006E+00 0.10166633E+00 0.20844191E+00 -0.15551120E+00 + 0.10595881E-01 -0.34317154E-01 0.91806293E-01 0.14963974E-01 + 0.16836851E+01 0.24811440E+01 -0.16475382E+01 0.17249211E+01 + 0.30530899E+01 0.75067306E+00 -0.15300770E+01 -0.39954567E+00 + 0.12609003E+00 -0.23109365E+00 -0.14283508E+00 0.11207330E+00 + -0.23422831E+00 0.22920122E+01 -0.15677989E+00 0.10574989E+01 + -0.47031498E+01 0.83145690E+00 0.60532081E+00 -0.75335938E+00 + 0.72133243E-01 0.13619461E+01 0.90937072E+00 -0.11166501E+00 + 0.18261886E+00 -0.90696394E-01 -0.31183462E+01 -0.60279016E+01 + -0.40491333E+01 0.21722057E+01 -0.14826592E+01 -0.20925789E+01 + -0.12620353E+01 -0.50687361E+00 -0.72735792E+00 -0.18294009E+01 + 0.10776016E+01 -0.65747309E+00 -0.52606910E-02 -0.83851500E+01 + -0.95547777E+00 -0.60184155E+01 -0.85619497E+01 0.61534154E+00 + 0.10074310E+01 -0.85972446E+00 -0.75723231E+00 0.14236764E+01 + -0.71778768E+00 -0.21167086E-01 -0.60213548E+00 0.36463749E+00 + -0.12601962E+02 -0.60230761E+01 -0.29406278E+01 0.11637724E+02 + -0.90889711E+01 -0.18631744E+01 0.10832180E+02 0.28277891E+01 + 0.15355177E+01 0.26887274E+01 -0.92505753E-01 0.11178881E+00 + 0.12021809E+01 -0.11314941E+02 0.27979467E+01 -0.14773957E+02 + 0.20741817E+02 0.14875137E+02 -0.32533493E+01 0.46425400E+01 + -0.30427513E+01 -0.68344531E+01 -0.52124043E+01 -0.58438957E+00 + -0.31132233E+00 -0.11308279E+01 0.78239322E+01 0.12827961E+02 + 0.60509429E+01 -0.11737220E+02 0.10860994E+02 0.64112978E+01 + 0.23935566E+01 0.18167056E+01 0.33579209E+01 0.52217588E+01 + -0.41448812E+01 0.17888298E+01 -0.79165143E+00 0.24079084E+02 + -0.46660595E+01 0.13022430E+02 0.13900978E+02 -0.91128855E+01 + -0.40291882E+01 0.34799480E+01 0.18368624E+01 -0.34240825E+01 + 0.28355694E+01 0.16054688E+00 0.70973271E+00 -0.11734304E+01 + 0.24227188E+02 0.57047434E+01 0.18991455E+02 -0.39872894E+02 + 0.15416594E+01 -0.74747849E+00 -0.19494642E+02 -0.59575386E+01 + -0.70911942E+01 -0.68836184E+01 0.16940250E+01 -0.13717374E+01 + -0.21887505E+01 0.13924573E+02 -0.16587018E+01 0.38369904E+02 + -0.27500231E+02 -0.43234756E+02 0.34732475E+01 -0.10127348E+02 + 0.84686279E+01 0.12072734E+02 0.89818316E+01 0.23602655E+01 + -0.55452925E+00 0.37565515E+01 -0.70314002E+01 -0.75539050E+01 + -0.29214721E+01 0.47263317E+01 -0.15518660E+02 -0.53729663E+01 + -0.81937367E+00 -0.13753452E+01 -0.31669333E+01 -0.39806001E+01 + 0.32713690E+01 -0.14239473E+01 0.86429405E+00 -0.19807905E+02 + 0.82111835E+01 -0.75345130E+01 -0.12458878E+01 0.27180891E+01 + 0.28920498E+01 -0.37135229E+01 -0.16157655E+01 0.26609850E+01 + -0.22828846E+01 -0.28764552E+00 0.47844209E-01 0.77955002E+00 + -0.14075712E+02 -0.23986547E+01 -0.14268915E+02 0.32392258E+02 + 0.10021720E+02 0.22754660E+01 0.98033123E+01 0.34065826E+01 + 0.62487297E+01 0.50818644E+01 -0.16391830E+01 0.16020306E+01 + 0.12680320E+01 -0.18211564E+01 -0.56535420E+01 -0.28800461E+02 + 0.73658066E+01 0.32735840E+02 -0.24511380E+00 0.70626473E+01 + -0.58881269E+01 -0.75028095E+01 -0.46169548E+01 -0.17588327E+01 + 0.63301569E+00 -0.28427830E+01 0.76349199E-01 -0.75198293E-01 + -0.50871223E-02 -0.72312295E-01 0.48052017E-01 -0.58207494E+00 + -0.75327557E+00 -0.42022012E-01 0.18120330E-01 -0.16880617E-01 + 0.73444070E-02 -0.28194984E-01 -0.15638337E-01 0.39461091E-01 + -0.13488990E+00 -0.10055971E+00 0.46493847E-01 -0.93732893E-01 + 0.74668914E+00 -0.58071917E+00 -0.26067192E-01 0.20636749E-01 + 0.86305887E-02 0.54170610E-03 -0.23148715E-01 -0.52713491E-02 + -0.97694397E-01 0.93344510E+00 0.29393703E-01 0.73514730E-02 + -0.34737319E+00 0.26163518E+00 0.36970001E+00 0.14785510E+00 + -0.55417150E-01 0.31292811E-02 0.78705728E-01 -0.81818998E-01 + 0.33747096E-01 -0.56032658E-01 -0.46219949E-01 -0.64890325E-01 + 0.13689566E+00 -0.56143856E+00 -0.29345471E+00 0.32432055E+00 + 0.15689902E-01 0.65602958E-01 0.60567815E-01 -0.10864880E-01 + -0.10147065E+00 -0.35914693E-01 0.67012018E+00 0.42257124E+00 + 0.19467354E-01 0.89575797E-02 -0.10516386E+01 0.78924227E+00 + 0.37479472E+00 -0.40912420E+00 0.42230487E+00 0.17606598E+00 + 0.89392841E-01 0.30513483E+00 -0.95638931E-01 -0.71605790E+00 + 0.26266012E+01 0.52779651E+00 -0.18734942E+00 0.10323124E+01 + -0.91403723E+00 0.53446960E+00 -0.13627082E+00 -0.66635740E+00 + -0.12717301E+00 0.21606892E+00 0.22295694E+00 0.47271583E-01 + -0.82142711E+00 -0.15194721E+01 0.36633497E+00 0.13400578E+00 + 0.29195154E+00 0.53095353E+00 0.40886421E-01 -0.17716569E+00 + 0.17803186E+00 0.71642339E-01 -0.24857517E+00 0.35629213E+00 + -0.15162341E-01 -0.43191457E+00 0.30332154E+00 0.67259073E-01 + -0.42061129E+00 0.12614174E+01 -0.33652729E+00 0.57137632E+00 + -0.20697650E+00 -0.75853646E-01 -0.11044270E+00 0.11320281E+00 + 0.41475803E+00 0.16160649E+00 -0.10161495E+00 0.58983713E+00 + -0.84979534E+00 0.30489939E+00 0.25749741E+01 -0.91752881E+00 + -0.53623170E-02 0.80623126E+00 -0.10490122E+01 -0.38548845E+00 + 0.44795722E-02 -0.58598870E+00 0.16041684E+00 0.97775286E+00 + -0.35922377E+01 -0.79198331E+00 -0.14946298E+00 -0.18443059E+01 + 0.13141612E+01 -0.25741631E+00 0.35331425E+00 0.10484734E+01 + 0.61409295E-01 -0.38274264E+00 -0.52102470E+00 -0.16893645E+00 + 0.26682649E-01 -0.44999901E-01 -0.30429330E-01 -0.24290940E-01 + 0.55203103E-01 -0.96770599E-02 -0.37339278E-01 0.31498069E+00 + -0.17359960E+00 -0.28275495E-01 0.76047592E-02 -0.17485566E-01 + -0.21701654E-01 0.19067451E-01 0.82480907E-01 -0.24417976E-01 + 0.60341705E-01 -0.76736987E-01 0.30098602E-01 -0.14800012E-01 + 0.16694991E+00 0.29754841E+00 0.60499986E-02 -0.65341257E-02 + -0.12154018E-02 -0.32120442E-02 -0.31835008E+00 -0.10176748E+00 + -0.12919515E+00 0.57349347E-01 -0.38777702E-01 -0.16754001E+00 + 0.71787603E-01 0.55727322E-01 0.48854452E+00 0.43341167E-01 + -0.26241630E-01 0.33198107E-01 0.25002807E-01 0.26534075E+00 + 0.13981646E+00 0.81587821E-03 -0.29231967E-01 0.14419925E+00 + -0.16403937E+00 -0.73877513E-01 -0.48972759E+00 -0.57703007E-01 + -0.12619291E-01 -0.23607042E-01 -0.51552523E-01 -0.31952363E-01 + -0.93206882E-01 -0.45213774E-02 0.22315686E-02 0.23447254E-02 + -0.55114511E-01 0.20760909E-01 0.28086803E-02 0.39981101E-01 + -0.25381872E-01 0.16350321E+00 0.20666333E+00 0.96418187E-02 + -0.18114807E-01 0.34151796E-01 0.49445398E-01 -0.71330436E-01 + -0.45090993E-02 -0.17531468E-01 -0.32351278E-01 0.23442947E-02 + 0.62810965E-02 0.84683239E-01 -0.18843912E+00 0.15088975E+00 + 0.14799475E-01 -0.90895407E-02 0.39233346E-01 0.67935777E-02 + 0.17726652E-01 0.13225297E-01 0.48658155E-01 0.31417660E-01 + -0.39813086E-01 0.35820965E-01 0.27609890E-01 0.68485290E-02 + -0.42618297E-01 -0.11170207E+00 0.59159052E-01 0.40888865E-01 + 0.11376600E+00 0.16162302E-01 -0.29816031E-01 0.62418424E-01 + -0.13326485E-01 -0.32052249E-01 -0.99713802E-02 0.28484600E-01 + -0.10098713E-02 -0.12852326E-01 -0.85706830E-01 -0.11604417E+00 + -0.68437634E-02 0.27410644E-02 -0.60129546E-01 0.18074038E-01 + 0.18273354E-01 0.19582398E-01 -0.92187561E-02 0.13423234E-01 + 0.26095768E-01 0.18187763E-01 -0.19140055E-01 -0.84481649E-02 + 0.25512718E-02 0.86681008E-01 -0.42338647E-01 -0.20124212E-01 + -0.68186224E-02 -0.59652332E-01 0.32581393E-01 -0.32793738E-01 + -0.16700968E-01 0.26844611E-01 -0.54568755E-02 0.35884837E-02 + -0.91454759E-02 0.69946647E-02 0.57878248E-01 0.23915997E-01 + 0.12776045E-02 0.33935215E-01 -0.24363870E-01 -0.43215800E-01 + -0.14799068E-01 -0.12832979E-01 0.26710724E-01 0.12159399E-02 + -0.57877451E-02 -0.20406267E-01 -0.79121515E-02 -0.46333019E-01 + 0.68355024E-01 -0.24444329E-01 -0.56031704E-01 0.86708963E-01 + 0.14629349E-01 0.63353754E-03 0.32699481E-03 0.16688414E-01 + 0.15034919E-01 -0.95454598E-03 -0.14304600E-01 0.29492134E-02 + 0.30829439E+01 -0.95623411E-03 0.14071412E-01 0.67336969E-02 + 0.16362234E-02 0.31438053E-02 0.11660822E-01 -0.21267915E-02 + -0.41597788E-02 -0.42748904E+00 0.24467656E-01 0.60202349E-01 + 0.19219477E-01 -0.36522668E-01 -0.30637037E-02 -0.21544660E-01 + -0.25534466E-01 0.19556643E-01 0.83016407E+00 0.10246897E+00 + -0.80737829E-01 -0.11050684E+00 -0.88695347E-01 -0.43044809E-01 + -0.54705847E-01 0.12666488E+00 0.29847234E-01 0.79621750E+00 + -0.35017520E+00 -0.20669056E+00 -0.10942012E+00 0.13936011E+00 + 0.12803761E-02 0.82603872E-01 0.60857695E-01 -0.45860831E-01 + -0.10769864E+01 -0.21080139E+00 0.11818613E+00 0.17931354E+00 + 0.22275142E+00 0.15942883E+00 0.81478477E-01 -0.35534877E+00 + -0.45454629E-01 -0.48894587E+00 0.31695545E+00 0.18177132E+00 + 0.96843779E-01 -0.10721570E+00 0.11368042E-02 -0.67227721E-01 + -0.28057726E-01 0.24773195E-01 0.21707886E+00 0.13230781E+00 + 0.58709569E-02 -0.66172361E-01 -0.14059687E+00 -0.13175756E+00 + -0.37203424E-01 0.24195623E+00 0.17272588E-01 0.22961404E-01 + -0.11863713E+00 -0.35007337E+00 0.12821088E-01 -0.12189339E-01 + -0.68265549E-03 0.62941583E-02 -0.44815391E-02 -0.26578419E-02 + 0.14728446E-01 0.37473145E+00 -0.96780002E-01 -0.27384371E-01 + 0.10581865E-01 0.22666366E-02 -0.17687568E-01 0.68567954E-02 + 0.72228312E-02 -0.12491125E+00 -0.71489275E-01 0.97123325E-01 + 0.34888729E-01 0.35563165E-02 -0.51503751E-01 -0.51774520E-01 + -0.26012938E-01 0.61413515E-01 0.35958037E-01 0.11307501E-01 + -0.75540893E-01 0.68435143E-02 0.20799370E-01 -0.41120011E-01 + 0.33827309E-01 0.36062378E-01 0.14471352E-01 -0.33956641E+00 + 0.54326749E+00 0.19545002E+01 0.74205484E-03 -0.80778301E-01 + -0.77715337E-01 -0.50010342E-01 0.22858028E+00 0.87244689E-01 + -0.63539225E+00 -0.19151984E+01 0.43575630E+00 0.33090883E+00 + -0.24209765E-02 -0.12964344E+00 0.15143991E+00 -0.32082044E-01 + 0.21434763E-01 0.14364071E+01 0.52485023E-01 -0.16226664E+01 + -0.25793177E+00 -0.36766964E+00 0.67354381E+00 0.12053782E+00 + 0.38931039E+00 -0.57873863E+00 0.38684511E+00 0.14660301E+01 + 0.38292372E+00 0.73202103E-02 0.29484910E+00 0.21471719E+00 + -0.17507128E+00 -0.18583950E+00 -0.20088875E+00 0.86518139E+00 + -0.70394367E+00 -0.22149343E+01 -0.19477078E+00 0.22440962E+00 + 0.24766719E+00 0.11958319E+00 -0.63776320E+00 -0.41532379E+00 + 0.21289845E+01 0.17928963E+01 -0.76989639E+00 -0.93120402E+00 + -0.15367734E+00 0.42717677E+00 -0.41677803E+00 0.60080402E-01 + -0.10584718E+00 -0.35660172E+01 -0.61952978E+00 0.36163359E+01 + 0.49679780E+00 0.11595430E+01 -0.17288558E+01 0.13930219E+00 + -0.92723542E+00 0.12680798E+01 -0.96336007E+00 -0.35305631E+01 + -0.10435581E+01 -0.91957033E-01 -0.86425048E+00 -0.35838711E+00 + 0.15090416E+00 0.41967383E+00 0.41672745E+00 -0.42783871E+00 + 0.46139607E+00 0.61414963E+00 0.16084963E+00 -0.10869229E+00 + -0.21873856E+00 -0.10980463E+00 0.42953309E+00 0.41603583E+00 + -0.16682128E+01 -0.58972288E-01 0.53959042E+00 0.71032184E+00 + 0.12974612E+00 -0.31926507E+00 0.34129691E+00 -0.30647587E-01 + 0.58991484E-01 0.24329288E+01 0.10756950E+01 -0.27146759E+01 + -0.27721632E+00 -0.90134066E+00 0.11445332E+01 -0.27922100E+00 + 0.58598697E+00 -0.78309435E+00 0.52151656E+00 0.27146015E+01 + 0.98834449E+00 0.13908833E+00 0.59049463E+00 0.22968984E+00 + -0.30222910E-01 -0.30343634E+00 -0.20505388E+00 -0.91355704E-02 + 0.29706703E-02 -0.31272420E-02 0.22377577E-02 -0.16692507E+00 + -0.71510226E-02 -0.62363595E-02 0.17446436E-02 -0.74244700E-02 + -0.95079601E-03 -0.17749455E-01 0.95796920E-02 0.16611040E+00 + 0.34745231E-01 -0.31304033E-02 -0.20624200E-01 -0.34306974E-02 + 0.38484321E-02 0.50973926E-01 0.18939672E+00 0.45086399E-01 + 0.27533084E+00 -0.25414014E+00 0.19070916E-01 -0.36821201E-01 + 0.30477695E-01 0.12377639E-01 -0.62895715E-01 0.65114915E-01 + 0.16306717E-01 0.36566287E+00 0.41203961E+00 0.24824468E-01 + -0.14574269E-01 -0.27033810E-02 -0.31155944E-01 0.35454981E-01 + 0.60412991E-02 -0.18199086E-01 0.76078415E-01 -0.16603535E+00 + 0.15787184E-01 0.39357692E-02 -0.27306398E-01 0.80539167E-01 + -0.28398255E+00 0.76125801E-01 -0.20132875E+00 0.19440579E+00 + -0.70742488E-01 0.12295902E-01 0.14769582E+00 0.96357875E-02 + 0.31613462E-01 -0.23468392E+00 -0.99008834E+00 0.71097970E-01 + -0.12017088E+01 0.50148809E+00 -0.10378635E+00 0.77810943E-01 + -0.91363609E-01 -0.11122112E+00 0.67196661E+00 -0.91745377E-01 + 0.13793389E+00 -0.85245258E+00 -0.14946308E+01 -0.28373858E-01 + -0.16134292E-01 0.76116867E-01 0.61346982E-01 -0.15103579E+00 + -0.18279678E+00 -0.22154264E-01 -0.34824395E+00 0.38926741E+00 + 0.52207302E-01 0.68610251E-01 0.53184781E-01 -0.12627012E+00 + 0.39844441E+00 -0.27108872E+00 0.32306045E+00 -0.42485851E+00 + -0.19756162E+00 -0.24037842E-01 -0.15082455E+00 0.23419550E-03 + -0.81081510E-01 0.24415770E+00 0.13665476E+01 -0.11141640E+00 + 0.11919479E+01 -0.32598567E+00 0.14885175E+00 -0.22232585E-01 + 0.77452838E-01 0.11268586E+00 -0.99769151E+00 0.24313278E-01 + -0.25469135E-01 0.58631575E+00 0.13545560E+01 0.77170576E-03 + 0.12235342E+00 -0.77348284E-01 0.12083620E-01 -0.14412698E-01 + 0.11934515E-01 0.10500171E-01 -0.19674212E-01 -0.95874183E-02 + 0.18518897E-01 0.13004042E-01 0.67524170E-02 0.29727500E-02 + -0.11646162E-01 -0.37059534E-01 -0.13889451E-01 0.17757954E-01 + -0.19775609E-01 -0.20395936E-01 0.16103784E-01 -0.75430763E-02 + 0.19750381E-02 0.60488079E-01 0.41547067E-01 0.15083941E-01 + -0.27579308E-01 0.15362627E-01 0.45602042E-01 0.11825939E-01 + 0.46184435E-02 0.33622717E-02 0.20156199E-01 0.11467539E-01 + -0.14934420E-01 -0.22406606E-01 0.51867855E-02 -0.21814425E-01 + 0.54861706E-01 -0.98177865E-02 0.35655338E-02 -0.18438589E-01 + -0.11210716E+00 -0.77830136E-01 0.20839002E-01 0.28409928E-02 + -0.75307310E-01 -0.12357454E+00 -0.36384016E-01 0.30860554E-02 + 0.94958730E-02 0.14035344E+00 -0.26280927E-01 -0.39201953E-01 + 0.32175545E-01 0.13319463E+00 -0.63215435E-01 0.32919317E-02 + 0.36654859E-02 -0.24621340E-01 -0.67079365E-02 0.15665382E-01 + -0.16562494E-02 -0.48217624E-02 0.42397492E-02 -0.47429502E-02 + 0.29692262E-01 0.93461294E-03 -0.17562091E-01 0.82685575E-02 + -0.17116127E-02 0.37179261E-02 -0.40929317E-02 0.27845460E-02 + 0.11334966E-01 -0.89295948E-03 0.25569778E-01 0.54277502E-01 + -0.23874680E-01 0.16083047E-01 -0.17546415E-01 -0.15783805E-01 + 0.44590086E-02 0.11278610E-01 0.31083819E-01 0.20818261E-01 + 0.31938594E-01 -0.67811191E-01 0.65194815E-02 0.25008723E-01 + 0.63123475E-02 0.44389218E-02 -0.66350447E-03 -0.64168930E-01 + 0.25633674E-01 0.53379308E-02 0.13877491E-03 0.42313854E-02 + -0.18789079E-02 -0.55933744E-02 0.72038211E-02 -0.30773242E-02 + -0.21693162E-02 -0.23185892E-02 0.16698703E-01 0.15778275E-01 + -0.79104677E-02 0.66635869E-02 -0.56811655E-02 0.11245555E-02 + 0.19182814E-02 0.65909028E-02 -0.23176591E-02 0.10475383E-01 + 0.17943383E-02 0.12603856E-01 0.36077970E-02 -0.10011117E-01 + 0.22700520E-02 0.29119307E-02 0.28559093E-02 -0.42581144E-02 + 0.80381520E-02 0.52013621E-02 -0.15140935E-01 0.62007941E-02 + 0.13680376E-01 -0.36166117E-02 -0.32075443E-02 -0.44593997E-02 + 0.68366108E-03 0.27214460E+01 -0.59878002E-02 0.48487335E-02 + 0.11528317E-01 0.83281239E-03 0.11694302E-02 0.40655509E-02 + -0.12881265E-02 -0.53722411E-02 -0.32532126E+00 0.63253939E-01 + 0.72628975E-01 0.17123211E-01 -0.41282628E-01 -0.95136929E-03 + -0.11847534E-01 -0.15334174E-01 0.25392931E-02 0.11310596E+01 + 0.56544147E-01 -0.42942472E-01 -0.46731699E-01 -0.11823614E-01 + -0.18031187E-01 -0.14277425E-01 0.86189985E-01 0.44520609E-01 + 0.39499837E+00 -0.47727019E+00 -0.22805472E+00 -0.68672240E-01 + 0.14230084E+00 -0.33062331E-01 0.33439878E-01 0.30319512E-01 + -0.60412697E-02 -0.15841742E+01 0.48886333E-01 0.48712157E-01 + 0.24080887E-01 -0.28131993E-01 0.11339508E+00 0.49910147E-01 + -0.21996431E+00 -0.95440686E-01 -0.17072476E+00 0.39422405E+00 + 0.19510728E+00 0.54062922E-01 -0.10195935E+00 0.36064237E-01 + -0.24015129E-01 -0.89633614E-02 0.65473397E-02 0.46993488E+00 + -0.63174427E-01 0.38383946E-01 0.14852938E-01 0.32509886E-01 + -0.10623867E+00 -0.43911122E-01 0.13939917E+00 0.55493016E-01 + 0.23913411E-01 -0.28132296E+00 -0.27718168E+00 0.13927993E-01 + -0.82893781E-02 -0.20239395E-02 0.55825450E-02 -0.44232495E-02 + -0.53990541E-04 -0.56995894E-02 0.29952067E+00 -0.25091380E+00 + -0.14151808E-01 0.12410178E-01 0.29630898E-02 -0.19999536E-01 + 0.42727254E-02 0.10325931E-01 0.28787147E-01 0.21169325E-01 + -0.18652614E-01 -0.22639667E-02 0.15749898E-01 -0.35053194E-01 + -0.11501439E-01 -0.28702248E-01 0.50729234E-01 0.13469435E-01 + 0.11982936E+00 -0.71723461E-01 0.38758967E-01 0.65331496E-02 + -0.35491824E-01 0.78479424E-02 0.58513917E-02 0.13235762E-01 + -0.45237127E+00 0.98882270E+00 0.10768776E+01 -0.19403288E-01 + 0.32672115E-01 0.33263274E-01 -0.44367231E-01 0.15512651E+00 + -0.33647961E-02 -0.50860506E+00 -0.11076279E+01 0.85086280E+00 + 0.18959832E+00 -0.88933885E-01 -0.87038338E-01 0.14959399E+00 + -0.85117817E-01 -0.10071343E+00 0.16840748E+00 -0.55341917E+00 + -0.18681350E+00 0.46795167E-01 -0.36465415E+00 0.34773055E+00 + -0.56421123E-01 0.41546983E+00 -0.37943947E+00 0.48950046E+00 + 0.17589641E+00 0.51375562E+00 -0.19277120E+00 0.27112055E+00 + 0.27518129E+00 0.19615912E-03 0.11075652E+00 -0.41206826E-01 + 0.12937422E+01 -0.11020117E+01 -0.64798689E+00 -0.75120509E-01 + -0.96557975E-01 -0.93400061E-01 0.93651295E-01 -0.38147631E+00 + 0.10117628E-01 0.18461683E+01 0.29588598E+00 -0.11936398E+01 + -0.57821643E+00 0.12842540E+00 0.21288216E+00 -0.31878108E+00 + 0.19306196E+00 0.21284458E+00 -0.75016117E+00 0.11026202E+01 + 0.58122629E+00 -0.15455300E+00 0.91149658E+00 -0.80885863E+00 + 0.42632446E+00 -0.10352908E+01 0.75210643E+00 -0.14370755E+01 + -0.69056642E+00 -0.11955299E+01 0.39424515E+00 -0.76573455E+00 + -0.49984255E+00 -0.18155199E+00 -0.34026527E+00 -0.81930935E-01 + -0.85781986E+00 0.72457278E+00 -0.22283772E-02 0.71129143E-01 + 0.41598026E-01 0.46153601E-01 -0.39733808E-01 0.24633884E+00 + -0.84825680E-02 -0.14810371E+01 0.54091024E+00 0.79484814E+00 + 0.49584132E+00 -0.65858603E-01 -0.14391363E+00 0.22043347E+00 + -0.11268486E+00 -0.12970918E+00 0.58107245E+00 -0.53847802E+00 + -0.96545208E+00 0.15799177E+00 -0.56166136E+00 0.47301412E+00 + -0.46004385E+00 0.66261995E+00 -0.41957983E+00 0.10437908E+01 + 0.10547333E+01 0.84057873E+00 -0.25376254E+00 0.53126270E+00 + 0.30007434E+00 0.16683573E+00 0.24391644E+00 0.14497799E+00 + -0.10355592E-01 -0.59964429E-02 0.24918828E-02 0.40248998E-01 + -0.11974518E+00 -0.68878043E-02 0.52973465E-03 0.16610482E-02 + -0.47631040E-02 -0.80973580E-02 -0.23301817E-01 0.16890654E-01 + 0.10705960E+00 0.74931197E-01 0.11066473E-02 -0.15185949E-01 + -0.26813566E-02 0.41845441E-02 0.87334573E-01 0.17434020E+00 + 0.29009610E-01 0.16647446E+00 -0.85534513E-01 -0.42410167E-02 + -0.62163919E-02 0.25638811E-01 -0.72888695E-02 0.21463541E-01 + 0.82178175E-01 -0.59707500E-02 0.14109135E+00 0.29117459E+00 + -0.18742291E-02 -0.28855879E-04 0.78286696E-03 -0.20326762E-01 + -0.23505555E-01 0.50627660E-01 -0.42973336E-01 -0.24614644E+00 + 0.68570435E-01 0.36111508E-01 -0.65725483E-02 -0.73447883E-01 + 0.73012590E-01 -0.22136712E+00 0.12092495E+00 -0.19790530E+00 + -0.13838496E-01 -0.37348419E+00 -0.22489661E-01 0.12434304E+00 + -0.84679523E-04 0.23986562E-02 -0.23487782E+00 -0.88596624E+00 + 0.60993791E-01 -0.40152115E+00 0.38432073E-01 0.25088888E-01 + -0.47009032E-01 -0.10053903E+00 0.56201063E-01 0.26335394E+00 + -0.29947603E+00 0.83331101E-01 -0.21753138E+00 -0.68338549E+00 + 0.12236041E+00 -0.42072836E-01 0.58362354E-01 0.13270974E-01 + -0.91692023E-02 -0.24499682E+00 0.31347323E-01 0.55245616E-01 + -0.95426202E-01 -0.17419251E-01 0.71632385E-01 0.13672972E+00 + -0.10337001E+00 0.32925224E+00 -0.42062324E+00 0.24600773E+00 + 0.48706897E-01 0.17111088E+00 -0.23537114E-01 -0.12686042E+00 + 0.21002440E-01 -0.16690809E-01 0.69676220E-01 0.11886311E+01 + -0.81857026E-01 0.28926820E+00 -0.38532227E-01 0.34839232E-01 + 0.56403331E-01 0.85259914E-01 -0.75022221E-01 -0.51328576E+00 + 0.48400921E+00 0.22977808E-01 0.13689671E+00 0.42785177E+00 + -0.13421565E+00 0.10484700E+00 -0.73551655E-01 0.30889111E-01 + -0.18197976E-01 0.72729439E-02 0.12053807E-01 -0.14377146E-01 + -0.17075216E-01 0.18109780E-01 -0.17175833E-01 -0.27712116E-02 + -0.34635677E-03 -0.13854424E-01 -0.35453096E-01 -0.12559115E-01 + 0.11651065E-01 -0.17490545E-01 0.12271133E-01 0.17724296E-01 + -0.37607695E-02 -0.41570403E-02 0.43509062E-01 0.63937902E-01 + 0.10682799E-01 -0.17563932E-01 0.50647366E-02 0.68679929E-01 + 0.10368119E-02 0.18375492E-03 0.41448474E-02 0.25249582E-01 + 0.15560199E-01 0.24144179E-02 -0.15688732E-01 0.11401277E-02 + -0.10834955E-01 0.62144566E-01 -0.63146581E-02 0.39895587E-02 + 0.55234609E-02 -0.11332309E+00 -0.56373131E-01 0.11459470E-01 + 0.22336068E-01 -0.10773218E+00 -0.61456595E-01 -0.12642964E-01 + 0.19825991E-01 0.55266698E-02 0.10650307E+00 -0.20077812E-01 + -0.12482654E-01 0.13799645E-01 0.59804548E-01 -0.83235852E-01 + -0.92901848E-02 0.25422173E-03 -0.16490787E-01 -0.12288227E-01 + 0.15624605E-01 -0.15590733E-02 -0.44173817E-03 0.32792639E-02 + -0.54032314E-02 0.23649100E-01 0.65248716E-02 -0.10436539E-01 + 0.51402636E-02 -0.10056754E-01 0.46160142E-02 -0.17697070E-02 + 0.29858896E-02 0.63185203E-02 -0.59197056E-02 0.20331379E-01 + 0.39676789E-01 -0.77944584E-02 0.29491601E-02 -0.97978339E-02 + 0.13357926E-02 0.31436789E-02 0.15301983E-01 0.28650682E-01 + 0.43868296E-01 0.33646040E-01 -0.66603124E-01 0.23036173E-01 + 0.62092436E-02 -0.26638310E-02 -0.65160953E-02 -0.45676748E-02 + -0.67288458E-01 0.19755870E-01 0.65249880E-02 -0.74825557E-02 + 0.43182294E-02 0.69805086E-02 -0.67913309E-02 0.64756791E-02 + -0.16087731E-02 0.93622418E-03 -0.20369282E-02 0.11612054E-01 + 0.10057595E-01 -0.81270486E-02 0.65685660E-02 0.31718877E-02 + 0.40957411E-02 0.22977332E-02 0.49984343E-02 0.35048141E-02 + 0.72671403E-02 0.54456852E-02 0.84348582E-02 0.48800148E-02 + -0.11012994E-01 -0.88449667E-03 0.15507994E-02 0.17194895E-02 + -0.80987951E-03 -0.22724707E-04 0.86002523E-03 -0.96425563E-02 + 0.45933644E-02 0.12882299E-01 0.65020472E-03 -0.29192655E-02 + -0.44633709E-02 0.21139069E-02 diff --git a/src/test/resources/nequick/ccir16.asc b/src/test/resources/nequick/ccir16.asc new file mode 100644 index 000000000..3e5e29126 --- /dev/null +++ b/src/test/resources/nequick/ccir16.asc @@ -0,0 +1,715 @@ + 0.53135519E+01 -0.61482418E-01 0.75109839E-01 0.34710810E-01 + 0.22684030E-01 -0.57048877E-02 -0.84173493E-02 0.44471744E-01 + -0.16074697E-01 0.85668010E-03 0.22791712E-03 0.92006736E-02 + -0.97777136E-02 -0.19316616E+01 -0.42007390E+00 0.51300526E+00 + -0.14258105E+00 0.31701851E+00 -0.88729523E-02 0.24743211E+00 + -0.80617785E-01 -0.12699056E+00 -0.17045530E-01 0.84008276E-02 + -0.75328708E-01 0.18828206E-01 0.46763878E+01 0.11320515E+01 + -0.18580436E+01 -0.27329671E+00 -0.90213799E+00 -0.61084539E+00 + 0.23694904E+00 -0.46116036E+00 0.34168661E+00 0.33637661E+00 + -0.19169092E+00 -0.11774272E+00 0.24918504E+00 0.28097288E+02 + 0.26754229E+01 -0.14834356E+01 0.31701105E+01 -0.53412323E+01 + 0.76283538E+00 -0.51419859E+01 0.73323464E+00 0.33136433E+00 + 0.64914894E+00 0.56351505E-01 0.17945929E+01 0.51091266E+00 + -0.29699142E+02 -0.10468775E+02 0.11762651E+02 0.23983593E+01 + -0.62706697E+00 0.43435154E+01 -0.74329579E+00 0.25396519E+01 + -0.11957141E+01 -0.22866726E+01 0.13279628E+01 0.59059352E+00 + -0.12482958E+01 -0.74450378E+02 -0.65370402E+01 -0.13106405E+02 + -0.16474716E+02 0.30279951E+02 -0.35481794E+01 0.26479383E+02 + -0.35002708E+01 0.19646826E+01 -0.25204163E+01 -0.10204964E+01 + -0.11526494E+02 -0.46005077E+01 0.57885025E+02 0.38123917E+02 + -0.29894226E+02 -0.82557564E+01 0.11295097E+02 -0.11428130E+02 + -0.59597737E+00 -0.69582062E+01 0.21485796E+01 0.51051588E+01 + -0.42251997E+01 -0.11586438E+01 0.25822916E+01 0.64745682E+02 + 0.56215553E+01 0.52016811E+02 0.30449736E+02 -0.71321335E+02 + 0.47431431E+01 -0.54951233E+02 0.77081966E+01 -0.85594654E+01 + 0.24655552E+01 0.34039278E+01 0.28274258E+02 0.11945585E+02 + -0.61265747E+02 -0.52918640E+02 0.32995895E+02 0.10468824E+02 + -0.18554152E+02 0.12917597E+02 0.30349874E+01 0.83194733E+01 + -0.23343973E+01 -0.44490862E+01 0.54735060E+01 0.93166763E+00 + -0.25764551E+01 0.18634471E+01 0.28486402E+01 -0.62127361E+02 + -0.22524521E+02 0.73664352E+02 -0.11603889E+01 0.50629318E+02 + -0.74867887E+01 0.10972484E+02 0.44247413E+00 -0.41348763E+01 + -0.29279100E+02 -0.12263270E+02 0.26340651E+02 0.24130859E+02 + -0.13063381E+02 -0.43806276E+01 0.87424288E+01 -0.52607641E+01 + -0.19757251E+01 -0.35192804E+01 0.10667630E+01 0.12665042E+01 + -0.23884971E+01 -0.25039810E+00 0.10172310E+01 -0.17573334E+02 + -0.41650991E+01 0.24150314E+02 0.54928122E+01 -0.27598328E+02 + -0.83179229E+00 -0.17326002E+02 0.26191669E+01 -0.46037664E+01 + -0.10153751E+01 0.16939991E+01 0.10823386E+02 0.43800306E+01 + -0.18334109E+00 0.16058655E+01 0.18451376E+01 0.23984663E-01 + -0.77645242E-01 -0.71523450E-02 -0.39501637E-02 0.48090599E-01 + 0.10382487E-02 -0.10124074E-02 -0.98467544E-02 0.16033929E-01 + -0.86858869E-02 0.11624962E+00 -0.18097717E+01 0.16314631E+01 + -0.21510407E-01 0.10980083E+00 0.23303006E-01 -0.40793307E-02 + -0.20446822E-01 0.77378996E-01 -0.18653549E-01 0.93311332E-02 + -0.12022865E-02 0.20225247E-01 -0.59684879E+00 -0.33499157E+00 + -0.13415631E+01 0.50301838E+00 -0.44692460E+00 0.90694785E-01 + -0.62957227E-01 -0.15851025E+00 0.21268468E+00 0.11720027E+00 + 0.27619761E+00 0.42360511E-01 0.29771835E-01 -0.34701583E+00 + 0.15442055E+01 -0.20425928E+00 0.16489641E+00 0.11285270E+00 + 0.20746949E+00 -0.82578480E-01 0.18210278E+00 0.43843955E+00 + 0.80315173E-01 0.14707124E+00 0.18282764E+00 0.11922823E+00 + 0.64125872E+01 0.73759170E+01 0.92153292E+01 -0.22129583E+00 + -0.95621049E+00 0.99270296E+00 -0.32091105E+00 -0.50337315E+00 + 0.87898248E+00 -0.46062678E+00 -0.19489811E+00 -0.40433985E+00 + 0.12082738E+00 -0.33119065E+00 -0.12071864E+02 0.27483232E+01 + -0.50224125E+00 -0.92419714E+00 -0.15161743E+01 0.67563355E+00 + 0.55171251E+00 -0.55627638E+00 0.47423029E+00 0.14856797E+00 + 0.11773850E+00 -0.19019894E+00 0.57699900E+01 0.14562854E+01 + 0.80994415E+01 -0.70281944E+01 0.21438150E+01 0.44327801E+00 + -0.11645910E+01 0.24570398E+01 -0.35969973E+01 -0.75412285E+00 + -0.54496894E+01 -0.50559852E-01 0.71804142E+00 0.59823151E+01 + -0.11598490E+02 0.66550407E+01 0.14041714E+00 -0.62558064E+01 + -0.17235842E+01 0.17961844E+01 -0.20923462E+01 -0.71783361E+01 + -0.25725658E+01 -0.15988770E+01 -0.18210268E+01 -0.11821671E+01 + -0.42838207E+02 -0.50422756E+02 -0.27591568E+02 0.72362642E+01 + 0.67548866E+01 -0.13753628E+02 0.42630405E+01 0.29996941E+01 + -0.36755972E+01 0.23023806E+01 0.17583874E+01 0.28728533E+01 + 0.73049802E+00 -0.27694559E+01 0.49150024E+02 -0.67315674E+01 + 0.31819258E+01 0.76478081E+01 0.15908953E+02 -0.70412903E+01 + -0.81684484E+01 0.24692974E+01 -0.28794231E+01 -0.24862814E+01 + -0.21675968E+00 -0.54332763E+00 -0.26377701E+02 0.61225296E+02 + -0.36126205E+02 0.34660233E+02 0.78493519E+01 -0.54490957E+01 + 0.13300788E+02 -0.13281825E+02 0.18924454E+02 0.30061636E+01 + 0.32234249E+02 -0.37474296E+01 -0.85291586E+01 -0.58997833E+02 + 0.78057648E+02 0.12184751E+02 -0.11472319E+02 0.42532288E+02 + 0.64326687E+01 -0.15016546E+02 0.18534821E+02 0.30961197E+02 + 0.14846239E+02 0.53940802E+01 0.65931730E+01 0.31726675E+01 + 0.10302816E+03 0.10765425E+03 -0.18549149E+02 -0.29647400E+02 + -0.18905439E+02 0.51032181E+02 -0.18045746E+02 -0.76261744E+01 + 0.33367567E+01 -0.33117502E+01 -0.46762810E+01 -0.70676718E+01 + -0.52129970E+01 0.19405289E+02 -0.37196640E+02 -0.30845886E+02 + -0.12045135E+01 -0.24903933E+02 -0.52441914E+02 0.21243818E+02 + 0.32386871E+02 -0.61232266E+01 0.69945936E+01 0.10995952E+02 + -0.16689281E+01 0.32438045E+01 0.83281021E+02 -0.24887660E+03 + 0.94408218E+02 -0.81634094E+02 -0.56857452E+02 0.11548672E+02 + -0.39307831E+02 0.35773407E+02 -0.44039261E+02 -0.80293608E+01 + -0.81032394E+02 0.15755465E+02 0.29912720E+02 0.17956212E+03 + -0.25433278E+03 -0.10402867E+03 0.38665817E+02 -0.10846453E+03 + -0.16294813E+02 0.43562103E+02 -0.65742599E+02 -0.52942459E+02 + -0.32878128E+02 -0.90459995E+01 -0.10402137E+02 -0.99966210E+00 + -0.99776047E+02 -0.10776510E+03 0.93763397E+02 0.41308426E+02 + 0.23109880E+02 -0.71873993E+02 0.29615768E+02 0.85741634E+01 + 0.15823611E+01 0.56734997E+00 0.39712124E+01 0.65275764E+01 + 0.91736231E+01 -0.30059843E+02 -0.42904842E+02 0.75276306E+02 + -0.11297898E+02 0.29414518E+02 0.68314957E+02 -0.24166718E+02 + -0.47956127E+02 0.79749370E+01 -0.81939878E+01 -0.17279495E+02 + 0.42007875E+01 -0.36308937E+01 -0.12822026E+03 0.33393091E+03 + -0.12717431E+03 0.89460068E+02 0.95602341E+02 -0.56442866E+01 + 0.46425873E+02 -0.45104004E+02 0.47921818E+02 0.10032402E+02 + 0.92091537E+02 -0.21654905E+02 -0.41252956E+02 -0.20665898E+03 + 0.35750415E+03 0.15833978E+03 -0.42081192E+02 0.11878427E+03 + 0.21206406E+02 -0.51555923E+02 0.93430542E+02 0.37203751E+02 + 0.32163895E+02 0.86474857E+01 0.69033074E+01 -0.54782963E+01 + 0.31105928E+02 0.42761520E+02 -0.58713287E+02 -0.18812452E+02 + -0.99255018E+01 0.34368759E+02 -0.16233335E+02 -0.36081984E+01 + -0.22873659E+01 0.10863209E+01 -0.70161176E+00 -0.17797346E+01 + -0.49097605E+01 0.14821375E+02 0.46732437E+02 -0.43093964E+02 + 0.10727091E+02 -0.10283648E+02 -0.30857162E+02 0.94555550E+01 + 0.23968430E+02 -0.39821031E+01 0.38799288E+01 0.87662678E+01 + -0.24545431E+01 0.99674910E+00 0.70579102E+02 -0.14992648E+03 + 0.64224594E+02 -0.36984924E+02 -0.49639446E+02 -0.14587631E+01 + -0.19475052E+02 0.20724134E+02 -0.19756744E+02 -0.44517155E+01 + -0.38782745E+02 0.96913366E+01 0.19572952E+02 0.79299805E+02 + -0.17635580E+03 -0.73442902E+02 0.14171570E+02 -0.48244450E+02 + -0.10028919E+02 0.21243668E+02 -0.45515961E+02 -0.82364569E+01 + -0.11869071E+02 -0.36658957E+01 -0.14194756E+01 0.46354752E+01 + 0.10682827E+00 0.15335339E+00 0.24009713E-02 -0.94681275E+00 + -0.20006707E+00 0.35301305E-01 -0.26023919E-01 -0.17329574E-01 + 0.51625647E-01 -0.21257993E-01 -0.38532105E-02 -0.74463743E-02 + 0.90640932E-02 0.19327568E+00 -0.18736567E-01 0.22726163E-01 + 0.25009137E+00 -0.72113854E+00 0.99601634E-02 -0.55031669E-02 + -0.26947470E-01 0.28790317E-02 -0.16322196E-01 -0.36808796E-03 + -0.56895278E-02 0.75899283E-02 -0.55829513E+00 0.74548769E+00 + 0.33699295E+00 -0.38933983E+00 -0.11029158E+01 0.14290261E+00 + -0.13941407E-01 0.13658303E+00 -0.56958534E-02 0.14612196E+00 + -0.36390372E-01 0.34695811E-04 0.22696797E-01 -0.19936660E-01 + 0.11800450E+00 0.74418658E+00 0.16391087E+01 -0.22145703E+00 + 0.27896434E-01 0.86451955E-01 0.23700634E+00 -0.18414944E-01 + 0.22026944E-03 -0.35097837E-01 0.70859253E-01 0.16451165E-01 + 0.78674906E+00 0.40604296E+00 0.13178558E+01 0.94937210E+01 + 0.35943601E+00 -0.45602840E+00 0.23751760E+00 0.16641730E+00 + -0.49453372E+00 -0.13433234E+00 -0.40668243E+00 -0.21240637E-01 + -0.36346903E+00 0.72496057E-01 0.11956787E+01 0.17677052E+00 + -0.21435833E+01 0.64546747E+01 0.49960440E+00 0.50610906E+00 + -0.10921651E+00 0.65923679E+00 0.13551629E+00 -0.21280682E+00 + 0.16277492E+00 0.11476958E+00 0.45960083E+01 -0.63736353E+01 + -0.17190388E+01 0.82465286E+01 0.17915984E+01 -0.91923410E+00 + -0.91493416E+00 -0.46042109E+00 -0.24589279E+00 -0.14275960E+01 + 0.90770066E+00 0.12878948E+00 0.27167577E+00 -0.16134090E+01 + -0.31690550E+01 -0.59042568E+01 -0.66804457E+01 0.78570247E+01 + 0.24046221E+01 -0.80951697E+00 -0.12263422E+01 -0.75266880E+00 + -0.16484737E+01 0.21213527E+00 -0.13156597E+00 0.31026936E+00 + -0.10191395E+02 -0.35821581E+01 -0.67020483E+01 -0.21100817E+02 + 0.50712738E+01 0.15026684E+01 0.15030555E+01 -0.14051751E+01 + 0.43638811E+01 0.14188288E+01 0.20353060E+01 0.83522253E-01 + 0.18233767E+01 -0.14807856E+00 -0.29033177E+01 0.49544343E+00 + 0.72752118E+01 -0.59718428E+01 -0.30980997E+01 -0.21497183E+01 + -0.39590216E+00 -0.21902370E+01 -0.58068059E-01 0.13292865E+01 + -0.71125287E+00 -0.20930345E+01 -0.11946963E+02 0.14842888E+02 + -0.15085141E+00 -0.26015093E+02 -0.11381583E+00 0.23868532E+01 + 0.37237940E+01 0.10595407E+01 0.15183353E+01 0.36690788E+01 + -0.32947769E+01 -0.13435316E+00 -0.86445826E+00 0.70006113E+01 + 0.88694229E+01 0.11823128E+02 0.99858646E+01 -0.25837082E+02 + -0.93706474E+01 0.37652462E+01 0.22050345E+01 0.24930382E+01 + 0.60392127E+01 -0.10250654E+01 -0.25152338E+00 -0.87281781E+00 + 0.25511642E+02 0.61066303E+01 0.16452087E+02 0.43983412E+01 + -0.15019114E+02 -0.25166242E+01 -0.56915483E+01 0.42986555E+01 + -0.11266659E+02 -0.37101965E+01 -0.29099541E+01 0.31099218E+00 + -0.24174681E+01 -0.37529137E+01 -0.29049413E+01 -0.49277145E+00 + -0.12283454E+02 -0.22927645E+02 0.58630066E+01 0.24241991E+01 + 0.20458813E+01 0.14258059E+01 -0.27732801E+00 -0.25777245E+01 + 0.11977597E+01 0.57707081E+01 0.85478735E+01 -0.10505726E+02 + 0.35088873E+01 0.18057756E+02 -0.31088121E+01 -0.20258305E+01 + -0.33768835E+01 -0.75584006E+00 -0.16262635E+01 -0.27519290E+01 + 0.28147068E+01 -0.59420049E-01 0.66975570E+00 -0.69251738E+01 + -0.75538406E+01 -0.68501954E+01 -0.25737541E+01 0.18046782E+02 + 0.80261040E+01 -0.44093342E+01 -0.15761822E+01 -0.17725419E+01 + -0.48975258E+01 0.11016636E+01 0.48760176E+00 0.51885700E+00 + -0.17836380E+02 -0.32042091E+01 -0.13130727E+02 0.11606612E+02 + 0.12947694E+02 0.19340640E+01 0.47053881E+01 -0.35811560E+01 + 0.81174049E+01 0.28834205E+01 0.10804653E+01 -0.32320696E+00 + 0.74705291E+00 0.50985785E+01 0.60607548E+01 -0.27176559E+01 + 0.50116320E+01 0.27655182E+02 -0.36654394E+01 0.24630740E+00 + -0.14518213E+01 0.14266884E+00 0.26619381E+00 0.16181468E+01 + -0.81003141E+00 -0.41553164E+01 0.44094808E-01 0.12518990E+00 + -0.13474178E+00 -0.11440213E+00 0.75728655E-01 -0.35541499E+00 + -0.50099200E+00 -0.55849493E-01 0.62280171E-01 -0.11978947E-01 + -0.18889341E-03 -0.37581697E-01 -0.79547204E-02 0.80496311E-01 + -0.75641632E-01 -0.15093005E+00 -0.28906604E-01 -0.13633297E+00 + 0.48335892E+00 -0.39124367E+00 -0.51529985E-01 -0.16674159E-01 + 0.13538420E-01 0.16163323E-02 -0.82436614E-02 -0.84085448E-04 + -0.27754486E+00 0.71311885E+00 -0.89700401E-01 -0.21103680E+00 + -0.17687222E+00 0.15123171E+00 0.22682622E-01 0.21121211E+00 + -0.16462812E-01 -0.60570084E-01 0.39293543E-01 -0.10021121E+00 + 0.95546991E-02 -0.29436976E+00 -0.28597820E+00 -0.23569670E+00 + -0.61088581E-01 -0.30247915E+00 0.42297069E-01 0.29653084E+00 + -0.27596241E-01 -0.62871635E-01 -0.64206314E-02 -0.10770184E+00 + -0.35808660E-01 -0.16216651E-01 -0.14272898E+00 -0.95003837E+00 + 0.14099311E+01 0.34587759E+00 -0.58685106E+00 -0.53814942E+00 + -0.16351078E+00 0.94250917E-01 0.10865152E+00 0.25800949E+00 + 0.30995961E-01 0.31330407E+00 -0.10657043E+00 -0.97229970E+00 + 0.19243019E+01 0.96367663E+00 -0.21867947E+00 0.12699347E+01 + 0.10597439E+00 -0.20831756E+00 -0.16814458E+00 0.64819455E-01 + -0.26897462E-01 0.20455126E+00 0.10330689E+00 -0.44147037E-01 + -0.15029609E+00 -0.14936837E+01 0.13109905E+00 0.61500740E+00 + 0.24869446E+00 -0.14464337E+00 0.21722548E+00 -0.44552392E+00 + 0.24300977E-02 0.12858246E+00 -0.11394108E+00 0.26291013E+00 + -0.14204117E-01 0.23137940E+00 0.89680654E+00 0.70877731E+00 + 0.72342157E-01 0.90643167E+00 -0.44160905E+00 -0.38550001E+00 + 0.47713526E-01 0.66411793E-01 -0.97876526E-02 0.23822626E+00 + 0.20062061E+00 0.58113970E-01 0.85560966E+00 0.20959480E+01 + -0.21306543E+01 -0.25514233E+00 0.12787255E+01 0.20966003E+01 + 0.11189804E+01 0.11804736E+00 -0.47789568E+00 -0.44577163E+00 + 0.65643966E-01 -0.56391525E+00 0.21226558E+00 0.11625004E+01 + -0.24074841E+01 -0.14329214E+01 -0.33291936E-01 -0.19074678E+01 + -0.82054245E+00 0.16421088E+01 0.59356934E+00 -0.19039525E-01 + -0.14523590E+00 -0.37697405E+00 -0.36098784E+00 0.90530634E-01 + 0.41391999E-01 -0.41367441E-01 -0.56517828E-01 -0.29723020E-01 + 0.45230564E-01 0.29130360E-01 -0.52787433E-02 0.22493725E+00 + -0.37028410E-01 -0.76311789E-02 0.66862702E-02 -0.14504310E-01 + -0.11098139E-01 0.60032655E-01 -0.52753162E-01 0.69005713E-02 + 0.17640471E-01 -0.42814650E-01 0.10649809E-02 -0.16114799E-02 + 0.41139279E-01 0.21040387E+00 0.91859587E-02 -0.34672101E-02 + 0.49885884E-02 -0.36266083E-02 -0.22909483E-01 -0.57594560E-01 + -0.49758352E-01 0.40956616E-01 -0.18536092E+00 -0.12244112E+00 + 0.80677740E-01 0.27833146E+00 0.26716733E+00 -0.18367631E-01 + -0.48983745E-01 -0.45404307E-03 0.61136815E-02 0.23329213E+00 + 0.21748865E+00 -0.60024492E-01 -0.60173009E-01 0.15808193E+00 + 0.48826933E-02 -0.13135209E-01 -0.34629279E+00 0.13930213E+00 + -0.11054378E-01 -0.39946426E-01 -0.16428996E-01 -0.25691027E-01 + -0.12797324E+00 -0.13176105E-01 0.16579613E-01 -0.26598465E-01 + -0.44626016E-01 0.11000607E-01 -0.68844967E-02 0.30088238E-01 + -0.21648988E-01 0.85243762E-01 0.13738225E+00 0.71503143E-02 + -0.82375519E-02 0.41204984E-02 -0.28827866E-02 -0.10035299E-01 + 0.48501056E-01 -0.72628558E-01 -0.31241588E-01 -0.27600960E-02 + 0.50012220E-01 0.15929706E-01 -0.15858255E+00 0.73988318E-01 + 0.60939561E-02 -0.19759692E-01 -0.29281452E-01 -0.43308519E-01 + -0.50946772E-02 0.35335822E-03 -0.43678577E-02 0.27276657E-02 + -0.24702515E-01 0.39685573E-01 0.26893988E-01 0.11443176E-02 + 0.35606232E-03 -0.97904146E-01 0.17392356E-01 0.29230768E-01 + 0.30779636E-01 0.66181183E-01 0.33190589E-01 0.54724179E-01 + -0.13985309E-01 -0.75963358E-02 -0.36636442E-02 -0.11163543E-01 + -0.28938511E-01 -0.19950643E-01 -0.18290415E-01 -0.11451924E+00 + 0.25555792E-02 0.33711719E-02 -0.17088523E-01 0.12914094E-01 + 0.22545580E-01 -0.11638347E-01 0.84269829E-02 0.31605020E-01 + 0.43525472E-02 -0.14523819E-01 -0.11092685E-01 0.72272657E-03 + 0.65107644E-02 0.73336601E-01 -0.65333784E-01 -0.23503136E-01 + 0.45837085E-02 0.15234246E-01 -0.57932655E-02 0.15654411E-02 + -0.23898358E-01 0.22590391E-01 -0.16863436E-01 -0.25549072E-02 + -0.54761805E-02 0.18356225E-01 0.17226532E-01 0.12007785E+00 + -0.12394506E+00 0.27426198E-01 0.75115929E-02 -0.23556637E-01 + 0.14968693E-01 -0.76391213E-02 0.15911363E-01 -0.28241746E-01 + -0.31705524E-02 -0.28219890E-01 -0.10984738E-01 -0.51771581E-01 + -0.57098414E-02 0.31669140E-01 -0.37942089E-01 0.34906853E-01 + 0.10111720E-01 -0.26458618E-03 -0.22664923E-01 0.10375086E-01 + 0.15457361E-01 -0.95300302E-02 0.46850364E-02 0.10677026E-01 + 0.80510998E+01 -0.25949424E-01 0.21837340E+00 0.76524138E-01 + -0.26052505E-01 -0.19464863E-01 -0.11594038E-01 0.40524997E-01 + -0.83783418E-02 0.77255410E-02 -0.43546520E-02 0.13457159E-01 + -0.19088320E-01 -0.62016809E+00 -0.67613459E+00 0.24612112E+00 + -0.29176795E+00 0.24085706E+00 -0.57791073E-01 0.25819290E+00 + 0.50516568E-01 -0.14634442E+00 0.24345282E-02 0.78144483E-02 + -0.72793491E-01 0.15928507E-01 0.17819748E+02 0.14743443E+01 + -0.27259541E+01 -0.13425981E+00 0.37347877E+00 0.50698109E-02 + 0.27457744E+00 -0.32091224E+00 0.19228476E+00 0.13757849E+00 + -0.13359857E+00 -0.24793720E+00 0.29714280E+00 -0.11858769E+02 + 0.69419298E+01 0.46298504E+01 0.42721682E+01 -0.35434072E+01 + 0.75084174E+00 -0.42302465E+01 -0.70975649E+00 0.99484891E+00 + -0.40930372E+00 -0.47602184E-01 0.14345568E+01 0.58592618E+00 + -0.97920853E+02 -0.13692501E+02 0.91235781E+01 -0.14460936E+01 + -0.85480909E+01 0.18136224E+01 -0.40499863E+00 0.23285606E+01 + 0.21228252E+00 -0.17068175E+01 0.10739384E+01 0.17055206E+01 + -0.15911951E+01 0.13621458E+03 -0.31045454E+02 -0.30203121E+02 + -0.16606491E+02 0.24689089E+02 -0.46569023E+01 0.19129166E+02 + 0.27777815E+01 -0.42672701E+01 0.31055405E+01 0.20506690E+00 + -0.88754311E+01 -0.49245520E+01 0.18260399E+03 0.48245605E+02 + -0.12680833E+02 0.67058239E+01 0.30385056E+02 -0.77466545E+01 + -0.24252272E+01 -0.74331222E+01 -0.30216341E+01 0.50820289E+01 + -0.34738319E+01 -0.39474039E+01 0.36654823E+01 -0.37284253E+03 + 0.57534084E+02 0.59615005E+02 0.21586212E+02 -0.65765854E+02 + 0.11232315E+02 -0.35051086E+02 -0.48223314E+01 0.10247662E+02 + -0.89555531E+01 0.19287637E-01 0.21166868E+02 0.12303819E+02 + -0.16647343E+03 -0.65894669E+02 0.92080431E+01 -0.95255365E+01 + -0.38242645E+02 0.10814572E+02 0.54566917E+01 0.95939255E+01 + 0.48733854E+01 -0.54909310E+01 0.43026361E+01 0.36398020E+01 + -0.39649408E+01 0.40097144E+03 -0.42800568E+02 -0.49323975E+02 + -0.69891486E+01 0.72595734E+02 -0.11016487E+02 0.28427046E+02 + 0.38504641E+01 -0.11370512E+02 0.10496172E+02 -0.38129085E+00 + -0.21485949E+02 -0.12095145E+02 0.60411118E+02 0.29807953E+02 + -0.30553246E+01 0.43338375E+01 0.16042969E+02 -0.49058828E+01 + -0.29349279E+01 -0.42607260E+01 -0.22481439E+01 0.19431132E+01 + -0.17624892E+01 -0.11618652E+01 0.16431693E+01 -0.15156676E+03 + 0.10127841E+02 0.15031334E+02 -0.20478542E+01 -0.28253372E+02 + 0.37018681E+01 -0.85423794E+01 -0.11203146E+01 0.45561485E+01 + -0.42304106E+01 0.19091374E+00 0.78487258E+01 0.40897169E+01 + -0.36684179E+00 0.12926129E+01 0.19531887E+01 0.42412706E-01 + -0.14427769E+00 -0.23068363E-01 0.24992961E-02 0.48195340E-01 + -0.24228869E-02 0.57797064E-03 -0.24764627E-01 0.62236302E-02 + -0.12336962E-01 0.35460931E+00 -0.17541234E+01 0.13221329E+01 + -0.24655616E-04 0.17179134E+00 0.25261968E-01 0.78048147E-02 + -0.28375527E-01 0.45270227E-01 -0.58390531E-02 0.73639750E-02 + -0.46915747E-02 0.16659267E-01 -0.69456917E+00 0.28679103E+00 + -0.34354632E+01 0.52327073E+00 0.16810083E+00 -0.47624186E-02 + -0.91403544E-01 -0.16691756E+00 0.12325201E-01 0.15972368E+00 + 0.14240998E+00 0.19505944E-01 0.13720220E+00 -0.31720051E-02 + 0.21107397E+01 -0.78734875E+00 -0.80523528E-02 0.38587731E+00 + 0.15747768E+00 0.84543645E-01 0.20151427E+00 0.25630075E+00 + 0.16800869E+00 0.43668769E-01 0.15243679E+00 0.24071133E-01 + 0.73923025E+01 0.16647629E+02 -0.37959805E+01 0.78674835E+00 + 0.54041618E+00 0.10678436E+01 -0.19122688E+00 -0.94048089E+00 + 0.97269678E+00 -0.43552962E+00 0.79522669E-01 -0.37138738E-01 + -0.29479029E-01 -0.34290457E+01 -0.85238677E+00 0.14262810E+02 + 0.15189953E+01 -0.36586008E+01 -0.14248923E+01 -0.20277178E+00 + 0.64990950E+00 -0.36768880E+00 0.84792256E-01 -0.21742781E+00 + -0.16557671E-01 0.12499933E+00 0.73744378E+01 -0.12027931E+02 + 0.55477051E+02 -0.12374016E+02 -0.89327345E+01 0.21117227E+01 + -0.63658535E+00 0.36965864E+01 -0.23416467E+00 -0.27068796E+01 + -0.28190041E+01 0.65999812E+00 -0.12989930E+01 0.79730368E+01 + -0.21980240E+02 0.14381425E+02 0.35661688E+01 -0.12320098E+02 + -0.91450334E-01 0.10625296E+01 -0.12245989E+01 -0.24598341E+01 + -0.45958157E+01 -0.12662306E+01 -0.16750315E+01 0.63961756E+00 + -0.44315502E+02 -0.68935860E+02 0.51209671E+02 -0.96216908E+01 + 0.28568306E+01 -0.88125429E+01 0.41833620E+01 0.88361034E+01 + -0.57595081E+01 0.20263126E+01 0.30380827E+00 0.13347014E+01 + 0.20728569E+01 0.27656662E+02 -0.24090042E+02 -0.49807529E+02 + -0.16521881E+02 0.37152969E+02 0.12428595E+02 0.23935604E+01 + -0.96629171E+01 0.31866329E+01 -0.14910942E+00 -0.12049036E+01 + 0.13381023E+01 -0.26929395E+01 -0.27525070E+02 0.94771980E+02 + -0.32496066E+03 0.86580139E+02 0.72477280E+02 -0.22168686E+02 + 0.94462023E+01 -0.26052534E+02 0.84192997E+00 0.15367922E+02 + 0.14202004E+02 -0.84568539E+01 0.30221643E+01 -0.95830826E+02 + 0.13345287E+03 -0.56603424E+02 -0.34000443E+02 0.71806595E+02 + -0.46853409E+01 -0.18473890E+02 0.10775526E+02 0.38866136E+01 + 0.27761213E+02 0.10534241E+02 0.68109126E+01 -0.58825397E+01 + 0.10576842E+03 0.75757675E+02 -0.18107726E+03 0.35365601E+02 + -0.19049072E+02 0.26869583E+02 -0.20695051E+02 -0.29340973E+02 + 0.12610971E+02 -0.15228614E+01 -0.24438105E+01 -0.53549356E+01 + -0.92385302E+01 -0.89127075E+02 0.11649306E+03 0.99241457E+01 + 0.59149532E+02 -0.12863148E+03 -0.36652939E+02 -0.66132174E+01 + 0.37069744E+02 -0.13132427E+02 -0.28511493E+01 0.12527537E+02 + -0.64466619E+01 0.80187778E+01 0.66444107E+02 -0.26490039E+03 + 0.78100238E+03 -0.24294914E+03 -0.21248203E+03 0.73090469E+02 + -0.29586166E+02 0.75238571E+02 0.11143713E+01 -0.39969158E+02 + -0.29317856E+02 0.27842545E+02 0.15493097E+01 0.31403052E+03 + -0.33532126E+03 0.10940714E+03 0.94474915E+02 -0.15778313E+03 + 0.12858322E+02 0.64601776E+02 -0.41679066E+02 0.12144041E+02 + -0.63168152E+02 -0.34294415E+02 -0.11578428E+02 0.18609146E+02 + -0.10748649E+03 -0.73261089E+01 0.25742554E+03 -0.49046204E+02 + 0.29797880E+02 -0.34313004E+02 0.34743027E+02 0.39293591E+02 + -0.13067580E+02 -0.31035948E+01 0.34878824E+01 0.69859457E+01 + 0.13996960E+02 0.12487012E+03 -0.19734895E+03 0.10182087E+03 + -0.88576019E+02 0.17575226E+03 0.44216854E+02 0.75572186E+01 + -0.53957485E+02 0.22110168E+02 0.75596700E+01 -0.24996717E+02 + 0.10142770E+02 -0.73031473E+01 -0.81616692E+02 0.30472900E+03 + -0.86462183E+03 0.28986890E+03 0.26276416E+03 -0.95904709E+02 + 0.36672897E+02 -0.93806824E+02 -0.43140068E+01 0.47584778E+02 + 0.27736130E+02 -0.35119766E+02 -0.99922857E+01 -0.39365305E+03 + 0.40164429E+03 -0.12205158E+03 -0.98447800E+02 0.14291895E+03 + -0.10083131E+02 -0.84789551E+02 0.63032333E+02 -0.34860489E+02 + 0.60776489E+02 0.46811890E+02 0.81084528E+01 -0.25287827E+02 + 0.36671539E+02 -0.15971799E+02 -0.12797734E+03 0.23251616E+02 + -0.13679493E+02 0.15429979E+02 -0.18713867E+02 -0.18289385E+02 + 0.52698421E+01 0.33367662E+01 -0.13960913E+01 -0.28204956E+01 + -0.69832802E+01 -0.59758083E+02 0.11212506E+03 -0.80015930E+02 + 0.45999847E+02 -0.81153366E+02 -0.18856777E+02 -0.28614235E+01 + 0.26849731E+02 -0.12275287E+02 -0.47784557E+01 0.14424383E+02 + -0.51218376E+01 0.15706042E+01 0.38644608E+02 -0.12562949E+03 + 0.36313791E+03 -0.12401904E+03 -0.11666867E+03 0.43718796E+02 + -0.16167816E+02 0.41872955E+02 0.27231398E+01 -0.20851530E+02 + -0.99890938E+01 0.15157324E+02 0.68729215E+01 0.16797032E+03 + -0.18619614E+03 0.57807316E+02 0.33903015E+02 -0.45472706E+02 + 0.14138936E+01 0.37569672E+02 -0.32199295E+02 0.21854692E+02 + -0.20931597E+02 -0.22431290E+02 -0.17632339E+01 0.12280619E+02 + 0.67577176E-02 -0.38690273E-01 0.12910473E+00 -0.96712691E+00 + 0.28352141E+00 -0.23064802E-02 -0.67802059E-03 -0.94842091E-02 + 0.16349861E-01 -0.21919636E-01 0.69284288E-03 -0.18507712E-01 + 0.65062195E-02 0.98213851E-01 -0.86133838E-01 -0.43852173E-01 + -0.25530988E+00 -0.75969106E+00 0.14430069E-02 0.11108719E-01 + -0.26231494E-01 -0.16866442E-01 -0.13983525E-01 0.39212294E-02 + -0.13768057E-01 0.86285956E-02 0.52556640E+00 0.14199085E+01 + 0.23482423E+00 0.12398672E+01 -0.11701975E+01 0.22943039E+00 + 0.19906044E-01 0.14976382E+00 -0.83794706E-02 0.12005271E+00 + -0.11553055E+00 0.17222632E-01 0.61729103E-01 0.25419283E+00 + 0.50038338E+00 0.77746254E+00 0.17081394E+01 0.14862337E+01 + -0.36264651E-01 0.18140624E+00 0.25878024E+00 0.94825089E-01 + 0.19079776E-01 -0.11765100E-01 0.11579246E+00 0.53563844E-01 + 0.29051914E+01 0.17165281E+01 -0.23254348E+00 0.30379848E+01 + 0.28690641E+01 0.66818833E-01 -0.14130628E+00 -0.79569352E+00 + 0.35532689E+00 -0.21288016E+00 -0.17567313E+00 0.18693618E-01 + -0.56478512E+00 0.17097100E+01 -0.15680475E+01 0.19375648E+01 + -0.37112062E+01 0.15600328E+01 0.15556119E+00 -0.19353966E+00 + -0.24991190E+00 0.85250157E+00 0.35902387E+00 -0.43576789E+00 + 0.26326782E+00 0.53666763E-01 -0.71911697E+01 -0.10550578E+02 + 0.53046633E-01 0.34881501E+01 0.18754406E+01 -0.14867973E+01 + -0.13179111E+01 -0.11313314E+01 -0.38169399E+00 -0.14188346E+01 + 0.18088044E+01 0.11685711E+00 0.16416544E+00 -0.77558765E+01 + -0.51033115E+01 -0.53945332E+01 -0.79216180E+01 0.20668955E+01 + 0.22548456E+01 -0.17693253E+01 -0.83705187E+00 -0.15927848E+01 + -0.11773167E+01 -0.69688320E-01 -0.17553116E+00 0.24276216E+00 + -0.18529556E+02 -0.49476767E+01 -0.80366936E+01 -0.59576046E+00 + -0.12046759E+02 0.84566593E+00 0.37427568E+01 0.49305143E+01 + -0.11143560E+01 0.25452404E+01 -0.23028918E+00 0.14220792E+00 + 0.31511154E+01 -0.19755463E+00 0.14758795E+02 -0.15246206E+02 + 0.17099884E+02 0.68206816E+01 -0.16745814E+01 0.30730572E+01 + 0.30909932E+00 -0.25502460E+01 -0.20344477E+01 0.21614161E+01 + -0.16361513E+01 -0.19083090E+01 0.17850922E+02 0.23550049E+02 + -0.43193932E+01 -0.17244568E+02 0.45090504E+01 0.36393521E+01 + 0.38667066E+01 0.35419884E+01 0.14072552E+01 0.40633578E+01 + -0.58945398E+01 -0.35010517E+00 -0.12329626E+01 0.25905701E+02 + 0.12087794E+02 0.13750560E+02 0.92878151E+01 -0.13878138E+02 + -0.71122169E+01 0.60348301E+01 0.10128765E+01 0.49910145E+01 + 0.45441380E+01 -0.48133820E+00 -0.69957554E+00 -0.12999972E+01 + 0.35084900E+02 0.58390589E+01 0.27396362E+02 -0.14684107E+02 + 0.16126556E+02 -0.30175447E+01 -0.90232534E+01 -0.10018677E+02 + 0.10488940E+01 -0.65118599E+01 0.26540687E+01 -0.18480808E+00 + -0.52721367E+01 -0.17716702E+02 -0.33102341E+02 0.34046539E+02 + -0.25810242E+02 -0.28638428E+02 0.30514755E+01 -0.93732405E+01 + 0.12338364E+00 0.99789155E+00 0.36990767E+01 -0.32632141E+01 + 0.32731323E+01 0.55128727E+01 -0.13897302E+02 -0.15651491E+02 + 0.54399261E+01 0.10493177E+02 -0.10791661E+02 -0.24484692E+01 + -0.28806725E+01 -0.28858261E+01 -0.10917016E+01 -0.32969799E+01 + 0.47821875E+01 0.21285336E+00 0.13126822E+01 -0.23277512E+02 + -0.86345387E+01 -0.10629124E+02 0.21820574E+01 0.74627991E+01 + 0.50995240E+01 -0.59439478E+01 -0.66435319E+00 -0.40929785E+01 + -0.37793701E+01 0.67755610E+00 0.11436673E+01 0.11544905E+01 + -0.19324158E+02 -0.31898680E+01 -0.20808167E+02 0.17447020E+02 + -0.33315096E+01 0.21073177E+01 0.58234081E+01 0.62877498E+01 + -0.35331637E+00 0.48601122E+01 -0.26413307E+01 0.93884885E-01 + 0.25990393E+01 0.21725632E+02 0.20295197E+02 -0.24284409E+02 + 0.83008165E+01 0.26109772E+02 -0.13780727E+01 0.82305450E+01 + 0.23272064E+00 0.11319132E+01 -0.20607281E+01 0.17115957E+01 + -0.22145326E+01 -0.40296373E+01 0.11448878E+00 0.53372286E-01 + -0.10701046E-01 -0.74131072E-01 0.42126250E-01 -0.47183973E+00 + -0.62683088E+00 -0.49725015E-01 0.23906441E-01 -0.18615820E-01 + 0.69484604E-02 -0.43719452E-01 -0.12143526E-01 0.18777302E-03 + -0.18922640E+00 -0.75974226E-01 -0.15254695E-01 -0.11909236E+00 + 0.59676683E+00 -0.50491798E+00 -0.35921060E-01 0.58115721E-02 + 0.59416108E-02 0.95220320E-02 -0.17321223E-01 0.72834059E-03 + -0.31445313E+00 0.10098315E+01 -0.87438941E-01 -0.22055499E+00 + -0.36901799E+00 0.44668826E+00 0.42858791E+00 0.21535952E+00 + -0.43418493E-01 -0.49117287E-02 0.10932286E+00 -0.98627567E-01 + 0.37286632E-01 -0.16686457E+00 -0.16635007E+00 -0.32959878E-01 + -0.37202913E-01 -0.50687623E+00 -0.32216674E+00 0.34823060E+00 + 0.52472208E-01 0.84805369E-01 0.22642311E-01 -0.84570229E-01 + -0.48971225E-01 0.45566838E-01 -0.63517213E-01 -0.32054937E+00 + 0.87246001E-01 0.14539486E+00 -0.43560800E+00 0.26938105E+00 + 0.18754624E-01 -0.34433407E+00 0.29875726E+00 0.17472742E+00 + 0.54090749E-01 0.38365376E+00 -0.13843030E+00 -0.48946375E+00 + 0.28971546E+01 -0.20743754E-01 -0.83255589E-01 0.11938324E+01 + 0.55411719E-01 0.60760695E+00 -0.29698920E+00 -0.55650961E+00 + 0.20695295E-01 0.36676884E-01 0.14274941E+00 -0.98814435E-01 + -0.46403575E+00 -0.19422119E+01 0.36596012E+00 0.68322176E+00 + 0.45094913E+00 0.16012102E+00 -0.40091047E+00 -0.46582356E+00 + 0.89832842E-01 0.94689250E-01 -0.34453100E+00 0.32739180E+00 + -0.56781590E-01 -0.38054120E-01 0.52844387E+00 0.19522025E+00 + 0.33836249E-01 0.12656831E+01 -0.14137592E-01 0.38812596E+00 + -0.22139823E+00 -0.17572556E+00 -0.40329315E-01 0.20087884E+00 + 0.30446243E+00 -0.45953188E-01 0.10138655E+01 0.14339800E+01 + -0.45818275E+00 -0.24776062E+00 0.95378482E+00 0.11445935E+00 + 0.66230971E+00 0.79100257E+00 -0.76573831E+00 -0.34316728E+00 + 0.80294609E-01 -0.70623600E+00 0.29327327E+00 0.63751262E+00 + -0.37546885E+01 -0.70940018E-01 -0.13639069E+00 -0.21821487E+01 + -0.36584175E+00 -0.49187642E+00 0.82650185E+00 0.85966331E+00 + -0.19263405E+00 -0.79641819E-01 -0.47789231E+00 0.15595613E+00 + 0.34587827E-01 -0.33244260E-01 -0.54627232E-01 -0.24314072E-01 + 0.39300185E-01 0.12838095E-01 -0.27576180E-01 0.22983022E+00 + -0.15771294E+00 -0.23307070E-01 0.17552828E-01 -0.18896226E-01 + -0.17950874E-01 0.24897996E-01 -0.81121102E-02 -0.34756999E-01 + 0.31306088E-01 -0.67682326E-01 0.25938651E-01 -0.15375219E-01 + 0.15197176E+00 0.24201536E+00 -0.26705749E-02 0.45459904E-02 + 0.56280005E-02 -0.77642538E-02 -0.17782795E+00 -0.95260739E-01 + 0.24179133E-01 0.14758725E-01 -0.92235744E-01 -0.15296946E+00 + 0.94236672E-01 0.82640044E-01 0.50521767E+00 0.33969391E-01 + -0.62877715E-01 0.20034485E-01 0.95262155E-02 0.32055420E+00 + 0.20525832E+00 -0.76902877E-02 -0.64364135E-01 0.19882099E+00 + -0.81640065E-01 -0.71830392E-01 -0.49157614E+00 -0.57283651E-01 + 0.12709680E-01 -0.30256080E-01 -0.39767653E-01 -0.55746734E-02 + -0.16962910E+00 -0.24519250E-01 0.53539068E-01 -0.22426641E-01 + -0.52650891E-01 0.57139248E-02 -0.12633939E-01 0.43505155E-01 + -0.18997151E-01 0.14223886E+00 0.16691911E+00 0.28885433E-02 + -0.21186966E-01 0.75518675E-01 0.52836429E-01 -0.81654251E-01 + 0.27446860E-01 -0.50890606E-01 -0.17863948E-01 -0.73899110E-02 + 0.33153407E-01 0.59054721E-01 -0.16145013E+00 0.14286149E+00 + 0.14969438E-01 -0.21417527E-01 -0.22653611E-01 -0.57655733E-01 + -0.41951936E-01 0.21979185E-01 0.39826497E-01 0.30946506E-02 + -0.23654748E-01 0.27493821E-01 0.20307891E-01 0.68600685E-03 + -0.30355727E-01 -0.89675844E-01 0.58423135E-01 0.93922257E-01 + 0.68419158E-01 0.33733767E-01 -0.72773839E-02 0.48324332E-01 + -0.24635354E-02 -0.89860298E-02 -0.79068169E-02 0.14755892E-01 + -0.16021999E-01 -0.71704309E-02 -0.60977757E-01 -0.10361493E+00 + 0.12631765E-01 -0.49197286E-01 0.24660131E-01 0.43001071E-01 + 0.69695376E-02 -0.31781918E-03 0.53595980E-02 0.34497995E-01 + 0.24565095E-01 -0.50819240E-03 -0.10135819E-01 -0.16772541E-02 + 0.32331713E-02 0.38050789E-01 -0.56574535E-01 -0.31323060E-01 + -0.14262537E-01 -0.38575940E-01 0.97641721E-02 -0.77285585E-02 + -0.27659681E-01 0.20871909E-01 -0.15837997E-01 0.18971980E-01 + -0.38362520E-02 0.23249375E-01 0.32181792E-01 0.80461025E-01 + -0.23041502E-01 0.28507432E-01 -0.57646193E-01 -0.25178518E-01 + 0.10214641E-01 -0.14632375E-02 0.22060379E-01 -0.57708253E-02 + 0.16520452E-01 -0.30608475E-01 -0.77883634E-02 -0.38133387E-01 + 0.41286569E-01 0.27755773E-01 -0.51213086E-01 0.75025320E-01 + 0.91396682E-02 -0.18474468E-02 -0.56077321E-02 0.64123273E-02 + 0.22182653E-01 -0.65464117E-02 -0.81443526E-02 0.73059122E-02 + 0.30632048E+01 -0.57797842E-02 0.91647804E-02 0.41370951E-02 + -0.19437240E-02 0.24532690E-03 0.60106777E-02 -0.21756680E-02 + -0.31438237E-02 -0.41220617E+00 0.29579287E-02 0.18636402E-01 + 0.37512440E-01 -0.35412803E-01 0.96220747E-02 -0.19383486E-01 + -0.20679394E-02 0.28241724E-02 0.10044127E+01 0.77929914E-01 + -0.67139208E-01 -0.42513076E-01 -0.39895583E-01 -0.43510307E-01 + 0.13425290E-01 0.35680491E-01 0.17047487E-01 0.43130201E+00 + -0.24383724E+00 -0.48306435E-01 -0.16724014E+00 0.17723440E+00 + -0.52420892E-01 0.50915800E-01 -0.49679428E-02 0.87580755E-02 + -0.12934322E+01 0.17085493E-01 0.12944698E+00 -0.12789107E-01 + 0.11405880E+00 0.17716751E+00 -0.93909197E-01 -0.11515922E+00 + -0.44955883E-01 -0.30758277E-01 0.21726266E+00 0.53814311E-01 + 0.14063519E+00 -0.15107477E+00 0.41386597E-01 -0.35365801E-01 + 0.10928158E-01 -0.13283263E-01 0.26758051E+00 -0.95864899E-01 + -0.27972436E-01 0.68929851E-01 -0.87709546E-01 -0.14526749E+00 + 0.82934797E-01 0.83224893E-01 0.33448055E-01 0.21264724E-01 + -0.10639626E+00 -0.32184553E+00 0.10739346E-01 -0.15501697E-01 + 0.23128912E-02 -0.49819723E-02 0.26865129E-02 0.11654526E-02 + 0.12853956E-02 0.34511039E+00 -0.64418137E-01 -0.11180844E-01 + 0.79391971E-02 0.22869734E-02 -0.77759852E-02 0.74287615E-03 + 0.91153421E-02 -0.58623929E-01 -0.22482646E+00 -0.12649196E+00 + 0.18788282E-01 -0.15773132E-01 -0.67276537E-01 -0.85366786E-01 + 0.54488275E-01 0.43759990E-01 0.15944013E-01 0.91821134E-01 + -0.17644204E+00 0.27534863E-01 0.95351227E-02 -0.37926871E-01 + -0.12159074E-02 0.34995351E-01 0.62579095E-01 -0.14691395E+00 + 0.48885840E+00 0.11924573E+01 -0.97168446E-01 -0.39609089E-01 + -0.14198714E+00 0.43609001E-01 0.92370093E-01 -0.18335905E-01 + -0.61437911E+00 -0.14346495E+01 -0.14602735E-01 0.17535532E+00 + -0.40383227E-02 -0.13587081E+00 -0.25987262E-01 -0.29818421E-01 + -0.44571441E-01 0.85389566E+00 0.11196737E+01 -0.79580915E+00 + 0.13261000E-01 -0.15927891E+00 0.72401887E+00 0.55747724E+00 + -0.33719021E+00 -0.25143474E+00 0.10345602E+01 0.16206177E+01 + 0.10684299E+01 -0.67587018E-01 0.19474272E+00 0.26491648E+00 + 0.16167693E-01 -0.36781991E+00 -0.53570050E+00 0.32261282E+00 + -0.64737231E+00 -0.90475321E-01 0.17187940E+00 0.13722497E+00 + 0.50946969E+00 -0.93138754E-01 -0.32658815E+00 -0.66461265E-01 + 0.22725637E+01 0.69083470E+00 0.48083431E+00 -0.49758092E+00 + -0.84927373E-01 0.52185225E+00 0.19340730E+00 0.32786693E-01 + 0.78221798E-01 -0.20661354E+01 -0.26972227E+01 0.25274458E+01 + -0.41764122E+00 0.75514770E+00 -0.17189140E+01 -0.10526705E+01 + 0.63819683E+00 0.37426767E+00 -0.32621281E+01 -0.44142714E+01 + -0.25552750E+01 -0.18484336E+00 -0.58688587E+00 -0.73055249E+00 + -0.17521366E+00 0.10259848E+01 0.11375990E+01 -0.73171496E-01 + 0.42583603E+00 -0.10637465E+01 -0.14348125E+00 -0.74651480E-01 + -0.45749301E+00 0.43486077E-01 0.28321272E+00 0.10276021E+00 + -0.18371629E+01 0.76073569E+00 -0.44730091E+00 0.35803327E+00 + 0.80352306E-01 -0.40243584E+00 -0.17068452E+00 0.65292530E-02 + -0.63528359E-01 0.13972979E+01 0.22084522E+01 -0.22679472E+01 + 0.48937282E+00 -0.68422270E+00 0.11014566E+01 0.64520347E+00 + -0.39747545E+00 -0.17840616E+00 0.23154075E+01 0.34323816E+01 + 0.20233507E+01 0.38661447E+00 0.40558797E+00 0.58963746E+00 + 0.15238738E+00 -0.77325070E+00 -0.66182941E+00 0.40216595E-02 + 0.81703141E-02 -0.19011486E-01 -0.47476280E-01 -0.14503384E+00 + -0.59457682E-02 -0.60895048E-02 0.35825926E-02 -0.50007333E-02 + -0.10892768E-01 -0.62809279E-03 -0.17020314E-03 0.16835698E+00 + -0.23484118E-01 0.19963293E-02 -0.22885390E-01 0.47483738E-02 + 0.63064587E-02 0.95548511E-01 0.15581781E+00 0.46200905E-01 + 0.19114015E+00 -0.25267351E+00 0.37239853E-02 0.66554137E-02 + 0.20674260E-02 -0.10625847E-01 0.15886471E-01 -0.15695849E-01 + -0.18671378E-01 0.40752473E+00 0.28736997E+00 0.15669394E-01 + -0.44707544E-01 0.49465522E-02 0.24645288E-01 -0.16001099E+00 + 0.39749850E-01 0.11758363E+00 0.14307664E+00 -0.21471810E+00 + 0.79647787E-02 0.41321032E-01 -0.32722354E-02 0.57371218E-01 + -0.38416359E+00 -0.51390860E-01 -0.17938656E+00 0.15849835E+00 + 0.80724061E-01 -0.29265678E-02 0.96612930E-01 -0.67667127E-01 + 0.22370834E-01 -0.27011061E+00 -0.86970943E+00 -0.26902577E-01 + -0.77681947E+00 0.69076121E+00 0.41663114E-01 -0.10570973E+00 + 0.84764361E-01 0.69376305E-02 0.42020217E+00 0.23183244E+00 + 0.38358140E+00 -0.11147490E+01 -0.10411044E+01 0.53920228E-01 + 0.16102199E+00 -0.14279891E-01 -0.27331138E+00 0.14651978E+00 + -0.24204560E+00 -0.19398540E+00 -0.30382514E+00 0.62044007E+00 + 0.47480114E-01 -0.15849264E-01 -0.10659330E-01 -0.80701113E-01 + 0.72861421E+00 -0.92455208E-01 0.29580647E+00 -0.54386616E+00 + -0.24819843E+00 0.39313920E-01 -0.49355179E-01 0.44585172E-01 + -0.85791945E-01 0.11903775E+00 0.12535142E+01 0.82356334E-01 + 0.67133921E+00 -0.63358378E+00 -0.49258057E-01 0.10747473E+00 + -0.10950667E+00 0.64388476E-02 -0.83330280E+00 -0.29580790E+00 + -0.38530505E+00 0.86506939E+00 0.80623895E+00 -0.13946182E+00 + -0.10462886E+00 0.11260599E-01 0.38791931E+00 -0.10402255E-01 + 0.13346078E-01 0.63475887E-02 -0.27291005E-01 -0.13256153E-02 + 0.17733410E-01 0.11105448E-01 -0.21581959E-03 -0.40799612E-03 + -0.13009771E-01 -0.28726667E-01 -0.28361088E-01 0.41243993E-02 + -0.13775192E-01 -0.92879981E-02 0.12643198E-01 -0.23260163E-02 + 0.20666828E-02 0.73535800E-01 0.55688374E-01 0.99641196E-02 + -0.35065778E-01 0.18284775E-01 0.44654209E-01 0.16372958E-01 + -0.12499313E-02 0.70338632E-04 0.43763258E-01 -0.15740022E-01 + -0.13505677E-01 -0.87119676E-02 0.10261148E-01 -0.21680513E-01 + 0.51671389E-01 -0.18428918E-01 0.62357108E-02 -0.52719347E-01 + -0.13156223E+00 -0.79338431E-01 0.49488012E-01 0.24957510E-01 + -0.92251182E-01 -0.94008923E-01 0.44068391E-02 0.33692043E-01 + -0.60246535E-01 0.86852968E-01 0.20347420E-01 -0.17174080E-02 + 0.17042400E-01 0.74888647E-01 -0.72979741E-01 0.60993590E-03 + -0.11566933E-02 -0.14518532E-01 -0.12442474E-01 0.85507222E-02 + 0.22372466E-02 -0.15677896E-02 0.13057686E-01 -0.67228526E-02 + 0.22530338E-01 0.29998147E-02 -0.19739617E-01 0.10189698E-01 + -0.83538257E-02 0.88368845E-03 -0.46331589E-02 0.45361207E-03 + 0.11164930E-01 -0.60726963E-02 0.22200337E-01 0.76710403E-01 + 0.17538739E-01 0.20874042E-01 -0.30737715E-01 -0.15248100E-01 + 0.13212539E-01 0.14518231E-01 0.43812137E-01 0.32291193E-01 + -0.13844926E-01 -0.34613054E-01 0.59420764E-02 0.18336574E-01 + 0.12362843E-01 0.78164990E-03 0.94650984E-02 -0.54954968E-01 + 0.48140667E-01 0.21998524E-02 -0.30175578E-02 -0.21670591E-02 + 0.24198068E-02 -0.30340797E-02 0.98152608E-02 -0.65381788E-02 + 0.18372699E-02 -0.32104759E-02 0.15909621E-01 0.17480100E-01 + 0.73182181E-03 0.53907968E-02 -0.10893663E-01 -0.14815384E-02 + 0.32584106E-02 0.13903453E-02 -0.29880791E-02 0.18037496E-01 + -0.34718486E-02 0.86077787E-02 0.51989108E-02 -0.11354347E-01 + 0.33079886E-02 -0.26848449E-02 0.73557566E-02 0.26780996E-03 + 0.12174977E-02 0.38145678E-02 -0.32383250E-02 0.11604379E-01 + 0.10995209E-01 -0.69180350E-02 0.18747007E-02 -0.57764836E-02 + -0.31420868E-02 0.27280633E+01 -0.75169099E-02 0.63383430E-02 + 0.95558316E-02 -0.28542201E-02 -0.33672303E-02 0.22478858E-02 + 0.12390612E-02 -0.25694482E-02 -0.34184468E+00 0.26675479E-01 + 0.36192127E-01 0.17344097E-01 -0.27918061E-01 0.46071783E-02 + -0.19322149E-01 0.14321902E-02 -0.45877178E-02 0.11131344E+01 + 0.26039990E-01 -0.86778462E-01 -0.36485463E-01 0.39370172E-01 + 0.96002892E-02 0.23496442E-01 0.10478080E-01 0.15071012E-01 + 0.26609915E+00 -0.37570027E+00 -0.76007962E-01 -0.84936202E-01 + 0.13073617E+00 -0.46946578E-01 0.45213182E-01 -0.10088619E-01 + 0.15226900E-01 -0.13583764E+01 0.24481586E+00 0.19391090E+00 + -0.25062392E-01 -0.17285116E+00 0.35910089E-01 -0.83230495E-01 + -0.49273174E-01 -0.39427180E-01 -0.86215436E-02 0.33480579E+00 + 0.59670318E-01 0.72379589E-01 -0.10527879E+00 0.40745027E-01 + -0.27480911E-01 0.10371030E-01 -0.11401370E-01 0.24424902E+00 + -0.25925010E+00 -0.73127270E-01 0.64353168E-01 0.13510227E+00 + -0.47481734E-01 0.65662742E-01 0.38441204E-01 0.27695235E-01 + 0.26992053E-01 -0.27138299E+00 -0.25009316E+00 0.13358041E-01 + -0.99321306E-02 -0.14139375E-02 -0.65408158E-03 0.11991654E-02 + 0.26755196E-02 -0.18171992E-01 0.28280777E+00 -0.23699510E+00 + -0.49411617E-02 0.77506034E-02 0.32914593E-02 -0.10480203E-01 + 0.53377450E-02 0.11933498E-01 0.55335838E-01 -0.93999021E-01 + -0.40524743E-01 -0.86126328E-02 0.32150999E-01 -0.25418943E-01 + -0.56042247E-01 0.22723371E-01 0.48075095E-01 0.21400840E-02 + 0.54945946E-02 -0.11576593E+00 0.33427548E-01 0.10076367E-01 + -0.27823554E-01 0.87937489E-02 0.16767830E-01 0.51116437E-01 + -0.27947503E+00 0.93270457E+00 0.78121406E+00 -0.63873827E-01 + 0.13776053E-01 -0.41885123E-01 -0.14760401E-01 0.49246803E-01 + -0.38276151E-01 -0.38543749E+00 -0.12443134E+01 0.63409525E+00 + 0.10198897E+00 -0.18275555E-01 -0.13154989E+00 0.44033039E-01 + -0.12012166E+00 -0.11587388E+00 -0.24930298E+00 0.41436785E+00 + -0.42938060E+00 0.14058125E+00 -0.51638871E+00 0.26499909E+00 + 0.30564678E+00 -0.35653755E-01 -0.30761647E+00 0.96339178E+00 + 0.17102706E+01 0.64794040E+00 -0.14055824E+00 0.10397166E+00 + 0.27128929E+00 -0.49434412E-01 -0.15722239E+00 -0.39522055E+00 + 0.71117145E+00 -0.79698235E+00 0.35370767E+00 0.88413298E-01 + 0.65246038E-02 0.25285155E+00 0.90608597E-01 -0.12623823E+00 + 0.72437346E-01 0.16189955E+01 0.92443705E+00 -0.42564011E+00 + -0.32307887E+00 -0.47557417E-01 0.47201777E+00 -0.36377423E-01 + 0.27063537E+00 0.27386218E+00 0.49492335E+00 -0.11964588E+01 + 0.11970491E+01 -0.51224542E+00 0.14279460E+01 -0.65490454E+00 + -0.49377793E+00 -0.79987235E-01 0.57029313E+00 -0.29584341E+01 + -0.44350519E+01 -0.13688515E+01 0.90590239E-01 -0.28306562E+00 + -0.70212859E+00 -0.48325151E-01 0.42926687E+00 0.80071330E+00 + -0.36841387E+00 0.36017463E+00 -0.10382643E+01 -0.75529754E-01 + -0.65039992E-01 -0.29723662E+00 -0.82611144E-01 0.96392989E-01 + -0.45457043E-01 -0.13651522E+01 0.12593681E+00 0.79192936E-01 + 0.25124007E+00 0.63250244E-01 -0.38624293E+00 0.94562247E-02 + -0.15385664E+00 -0.18089306E+00 -0.32429630E+00 0.10307865E+01 + -0.13849020E+01 0.49472696E+00 -0.10159550E+01 0.43086204E+00 + 0.25678623E+00 0.93890786E-01 -0.33852807E+00 0.21680374E+01 + 0.36000583E+01 0.99755543E+00 0.11148505E+00 0.17308819E+00 + 0.52738160E+00 0.95052898E-01 -0.32424158E+00 -0.48464927E+00 + -0.40881447E-02 0.31389890E-02 0.18125864E-02 0.19379325E-01 + -0.11340189E+00 -0.64218342E-02 -0.21440715E-02 0.86666504E-03 + -0.48338212E-02 -0.12114726E-01 -0.90989359E-02 0.15213009E-01 + 0.11901258E+00 0.44593561E-01 0.35579519E-02 -0.16553327E-01 + 0.31294818E-02 0.35295505E-02 0.96299410E-01 0.16172040E+00 + 0.36571477E-01 0.13853014E+00 -0.11524637E+00 0.13647976E-01 + 0.85650496E-02 0.21059543E-02 -0.88550262E-02 0.78764141E-01 + 0.23560300E-01 -0.20360569E-01 0.20476560E+00 0.23432060E+00 + 0.29904549E-02 -0.21854278E-01 0.12916536E-02 0.17185966E-01 + -0.13958269E+00 0.61252635E-01 -0.22732535E-01 -0.22977982E+00 + -0.42527966E-01 0.48952658E-01 0.13864971E-01 -0.26283702E-01 + 0.68163097E-01 -0.25024182E+00 -0.60532670E-01 -0.19260156E+00 + 0.39119679E-01 -0.26626408E+00 -0.44200186E-01 0.90043485E-01 + -0.57880651E-01 0.20709964E-01 -0.24203920E+00 -0.77736223E+00 + -0.10913800E-01 -0.15193808E+00 0.20603824E+00 -0.31180760E-01 + -0.11680542E+00 0.67744017E-01 0.44562142E-01 0.29965172E-01 + 0.71289003E-01 0.24611735E+00 -0.42808515E+00 -0.44561586E+00 + 0.12265426E+00 0.95303833E-01 0.38496863E-01 -0.18627238E+00 + 0.16500771E+00 -0.28346848E+00 0.19127056E-01 0.85767567E-01 + 0.18231672E+00 -0.66293120E-01 0.29998731E-01 0.59395704E-01 + -0.82480311E-01 0.46248379E+00 -0.12290555E+00 0.23955324E+00 + -0.17114019E+00 0.85420072E-01 0.51798742E-01 -0.63089609E-01 + 0.69193482E-01 -0.49095791E-01 0.49044736E-01 0.10698805E+01 + 0.55030644E-01 -0.20411463E-01 -0.20164531E+00 0.81138611E-01 + 0.11107463E+00 -0.91995120E-01 -0.63594222E-01 -0.31178164E+00 + 0.25681299E-02 -0.21641956E+00 0.26155633E+00 0.19081634E+00 + -0.18793815E+00 -0.63471735E-01 -0.60597721E-01 0.24745050E+00 + -0.20798014E-01 0.15350297E-01 0.10828708E-01 -0.18462822E-01 + -0.11293225E-01 0.18085549E-01 -0.18076560E-01 -0.26808286E-02 + -0.14639653E-02 -0.94376355E-02 -0.31904358E-01 -0.19534951E-01 + 0.60758670E-02 -0.13963650E-01 0.17930444E-01 0.15960963E-01 + -0.58656296E-03 -0.17829804E-02 0.50320916E-01 0.85855663E-01 + -0.37249617E-03 -0.27981598E-01 0.27195108E-02 0.81393361E-01 + 0.11739280E-01 -0.58815968E-02 -0.22160930E-02 0.30873042E-01 + -0.98756962E-02 0.89320727E-03 -0.10296550E-01 -0.80322946E-03 + -0.16821081E-01 0.74325621E-01 -0.80107599E-02 0.32815719E-02 + -0.20960685E-01 -0.15283191E+00 -0.57994306E-01 0.26183328E-01 + 0.26019176E-01 -0.12097657E+00 -0.35915900E-01 -0.33830632E-02 + 0.31820308E-01 -0.43779407E-01 0.92425168E-01 -0.36082787E-02 + 0.10040571E-01 0.69529489E-02 0.14791756E-01 -0.99151850E-01 + -0.59038997E-02 -0.60759149E-02 -0.11967235E-01 -0.15639635E-01 + 0.11332542E-01 0.19568342E-03 -0.19746977E-02 0.52477419E-02 + -0.68195607E-02 0.18582525E-01 0.10505051E-01 -0.10374394E-01 + 0.77973600E-02 -0.14768257E-01 0.33124853E-02 -0.50527346E-02 + 0.13333517E-02 0.80117173E-02 -0.10721102E-01 0.16201982E-01 + 0.51714689E-01 0.20969125E-01 0.20908009E-01 -0.21666188E-01 + -0.65546893E-02 0.10858585E-01 0.19092079E-01 0.34162614E-01 + 0.63728631E-01 -0.17780151E-01 -0.39414037E-01 0.19805623E-01 + 0.27769315E-02 0.32051457E-02 -0.13837148E-02 0.38510277E-02 + -0.78942724E-01 0.31475373E-01 0.72736922E-02 -0.99098906E-02 + 0.94700302E-03 0.49195844E-02 -0.48104604E-02 0.46512820E-02 + -0.50494522E-02 0.46232678E-02 -0.99206646E-03 0.11354909E-01 + 0.14260411E-01 -0.41098553E-02 0.63321404E-02 -0.46809576E-02 + 0.28002956E-02 0.52125901E-02 0.95991232E-03 0.42521278E-02 + 0.14690466E-01 0.30270964E-02 0.53093694E-02 0.74441056E-02 + -0.92850029E-02 0.12141709E-02 -0.84077264E-03 0.41119568E-02 + 0.30829709E-02 -0.49859285E-02 -0.33042650E-03 -0.43395385E-02 + 0.45590214E-02 0.91798045E-02 -0.12648865E-02 0.12946189E-02 + -0.44219233E-02 0.19899374E-02 diff --git a/src/test/resources/nequick/ccir17.asc b/src/test/resources/nequick/ccir17.asc new file mode 100644 index 000000000..88917397b --- /dev/null +++ b/src/test/resources/nequick/ccir17.asc @@ -0,0 +1,715 @@ + 0.47669554E+01 -0.72017550E-01 0.13942049E+00 0.19542379E-01 + -0.16752632E-01 -0.16510993E-01 -0.43158536E-03 0.28941507E-01 + -0.32931969E-01 0.10719541E-02 0.56658983E-02 0.12240365E-01 + -0.93685761E-02 -0.99394906E+00 -0.35927993E+00 0.43325573E+00 + -0.22593533E+00 0.49836484E+00 -0.91735363E-01 0.10013926E+00 + -0.16090272E+00 -0.16553175E+00 -0.32432500E-01 -0.38297892E-01 + -0.82239389E-01 -0.42720847E-02 0.12144961E+02 0.79801214E+00 + -0.25601578E+01 -0.68445563E-01 0.18775874E+00 0.16825239E+00 + 0.18251760E+00 -0.42203116E+00 0.31813502E-01 0.75639367E-01 + -0.42337400E+00 -0.16204226E+00 0.93350351E-01 0.12359418E+02 + 0.26116190E+01 -0.71795493E+00 0.47592411E+01 -0.74272785E+01 + 0.17137470E+01 -0.29525976E+01 0.15546530E+01 0.12446738E+01 + 0.55519021E+00 -0.42093498E+00 0.19277962E+01 0.44809121E+00 + -0.81837509E+02 -0.65713773E+01 0.11112719E+02 0.46813387E+00 + -0.61830649E+01 -0.12024460E+01 -0.17724159E+01 0.16484221E+01 + 0.20026150E+01 -0.97772121E-01 0.29807787E+01 0.10582247E+01 + -0.70731819E+00 -0.72209392E+01 -0.77260122E+01 -0.15136259E+02 + -0.22104202E+02 0.39128784E+02 -0.83586159E+01 0.14526751E+02 + -0.68457279E+01 -0.29666452E+01 -0.23397074E+01 0.42374210E+01 + -0.12021458E+02 -0.40962782E+01 0.19595663E+03 0.24501345E+02 + -0.20282059E+02 -0.20203457E+01 0.23160065E+02 0.31945639E+01 + 0.48780823E+01 -0.33812380E+01 -0.74402056E+01 -0.85799479E+00 + -0.81885338E+01 -0.29702864E+01 0.22015817E+01 -0.64242859E+02 + 0.68489776E+01 0.53867447E+02 0.37935577E+02 -0.88741394E+02 + 0.16450562E+02 -0.26521561E+02 0.13563215E+02 0.29131477E+01 + 0.35748589E+01 -0.11355736E+02 0.28946182E+02 0.11574269E+02 + -0.21447914E+03 -0.34901215E+02 0.17094316E+02 0.27981234E+01 + -0.29804564E+02 -0.32461698E+01 -0.52834854E+01 0.37156496E+01 + 0.90832844E+01 0.20808840E+01 0.93321514E+01 0.36256208E+01 + -0.27270095E+01 0.11643465E+03 0.41456490E+01 -0.62626999E+02 + -0.26506945E+02 0.89930573E+02 -0.14143733E+02 0.20422010E+02 + -0.11808815E+02 -0.10933266E+01 -0.21905136E+01 0.12235157E+02 + -0.29777468E+02 -0.13072016E+02 0.86740608E+02 0.16090622E+02 + -0.54182301E+01 -0.11867723E+01 0.12633714E+02 0.11003160E+01 + 0.20218923E+01 -0.16267681E+01 -0.36661091E+01 -0.12221851E+01 + -0.37074430E+01 -0.15805082E+01 0.11606570E+01 -0.55534851E+02 + -0.55097971E+01 0.24141418E+02 0.61227903E+01 -0.33446136E+02 + 0.44106121E+01 -0.55466537E+01 0.36874857E+01 0.85909307E-01 + 0.44831967E+00 -0.46812611E+01 0.11031492E+02 0.51603775E+01 + -0.17869548E+00 0.13910969E+01 0.19192036E+01 0.11573005E-01 + -0.15976202E+00 -0.94560012E-02 0.15693951E-01 0.52722119E-01 + -0.85014366E-02 -0.97233392E-02 0.14873112E-02 -0.89176511E-03 + 0.52959174E-02 0.14833480E+00 -0.18277856E+01 0.14350958E+01 + 0.30985162E-01 0.15200675E+00 0.21492893E-01 -0.96385032E-02 + -0.21557525E-01 0.68189323E-01 0.68523246E-03 -0.16917476E-02 + -0.20286473E-01 0.11845787E-01 -0.40418348E+00 0.81630504E+00 + -0.15781784E+01 0.64889038E+00 -0.37128395E+00 0.77008128E-01 + 0.69604278E-01 -0.34735999E+00 0.32418561E+00 0.33138841E-01 + 0.30220789E+00 -0.44437163E-01 0.15520662E+00 -0.41341978E+00 + 0.15498551E+01 -0.13387531E+00 0.92664850E+00 -0.41743796E-01 + 0.40571007E+00 -0.87894261E-01 -0.86675465E-01 0.41113240E+00 + 0.72546661E-01 0.17126942E+00 0.89121640E-01 0.15699172E+00 + 0.41381025E+01 0.69626174E+01 0.53660231E+01 0.43502373E+00 + 0.14352139E+01 0.10049858E+01 -0.11870518E+01 -0.10593939E+01 + 0.46142331E+00 0.64426959E-01 0.14919204E+00 0.15421329E+00 + -0.24009843E+00 -0.21884575E+01 -0.73620186E+01 0.25206366E+01 + 0.66348314E-01 -0.16518011E+01 -0.94297123E+00 0.68582207E+00 + 0.67841351E-01 -0.10439434E+01 0.77655673E-01 0.36230335E+00 + 0.63397580E+00 -0.54638171E+00 0.53683529E+01 -0.93815594E+01 + 0.17646761E+02 -0.46907473E+01 0.32573049E+01 0.13132709E+00 + -0.36337688E+01 0.69651103E+01 -0.32140779E+01 0.10166426E+01 + -0.68326783E+01 -0.89097261E+00 -0.18256758E+01 0.64158630E+01 + -0.17649351E+02 0.56288085E+01 -0.14704762E+02 -0.18327428E+01 + -0.44618931E+01 0.16981554E+01 0.28276651E+01 -0.73030219E+01 + -0.36753397E+01 -0.28609180E+01 -0.84641016E+00 -0.27507973E+01 + -0.22282150E+02 -0.46678986E+02 -0.15916712E+02 0.96986282E+00 + -0.12215257E+02 -0.11022175E+02 0.93760414E+01 0.61606741E+01 + -0.46595773E+00 -0.15873917E+01 -0.12295980E+01 -0.86355758E+00 + 0.31697855E+01 0.11682695E+02 0.20335403E+02 -0.30051081E+01 + -0.24479065E+01 0.95660801E+01 0.90430307E+01 -0.53547621E+01 + -0.27718668E+01 0.75180225E+01 0.14638615E+00 -0.37047279E+01 + -0.48737936E+01 0.41345997E+01 -0.28579910E+02 0.87348892E+02 + -0.86842346E+02 0.14033395E+02 -0.40439684E-01 0.79252595E+00 + 0.26493774E+02 -0.41706635E+02 0.64251790E+01 -0.86240768E+01 + 0.41827087E+02 0.86550617E+01 0.81083364E+01 -0.62369038E+02 + 0.10966637E+03 0.57230363E+01 0.72633629E+02 0.11584758E+02 + 0.18804474E+02 -0.13280591E+02 -0.17550064E+02 0.34799728E+02 + 0.25178940E+02 0.15181873E+02 0.13891363E+01 0.13887789E+02 + 0.38604599E+02 0.10207993E+03 -0.29230881E+02 -0.10485904E+02 + 0.40149216E+02 0.39026352E+02 -0.27193357E+02 -0.14548295E+02 + -0.53476844E+01 0.69869070E+01 0.42715588E+01 0.28882401E+01 + -0.10630175E+02 -0.17743685E+02 0.38365265E+02 -0.44383972E+02 + 0.14417901E+02 -0.26099289E+02 -0.29533567E+02 0.11660139E+02 + 0.13445919E+02 -0.22865906E+02 -0.37443502E+01 0.11432396E+02 + 0.13121327E+02 -0.13328954E+02 0.83295593E+02 -0.27551196E+03 + 0.20297762E+03 -0.27005568E+02 -0.36729797E+02 -0.95780048E+01 + -0.72624344E+02 0.10681413E+03 0.42937279E+01 0.23383392E+02 + -0.10540525E+03 -0.25344908E+02 -0.16387968E+02 0.19820599E+03 + -0.31570508E+03 -0.72060883E+02 -0.15624390E+03 -0.26451447E+02 + -0.37654530E+02 0.41089279E+02 0.39953003E+02 -0.67739883E+02 + -0.63928478E+02 -0.35235271E+02 0.25527906E+01 -0.27388000E+02 + -0.16694489E+02 -0.10372480E+03 0.99343521E+02 0.17906616E+02 + -0.54899918E+02 -0.54147350E+02 0.33478867E+02 0.15286818E+02 + 0.11120188E+02 -0.10826113E+02 -0.68150554E+01 -0.49306641E+01 + 0.13716016E+02 0.77929759E+01 -0.13942567E+03 0.99441040E+02 + -0.28234493E+02 0.29203566E+02 0.39281448E+02 -0.71675429E+01 + -0.22050735E+02 0.30663437E+02 0.86184502E+01 -0.13269633E+02 + -0.14924606E+02 0.19169950E+02 -0.11517070E+03 0.34904077E+03 + -0.23037418E+03 0.29416445E+02 0.71594467E+02 0.19957897E+02 + 0.86077240E+02 -0.12215866E+03 -0.19588717E+02 -0.26783234E+02 + 0.11752484E+03 0.30323792E+02 0.14876016E+02 -0.23966220E+03 + 0.41143332E+03 0.11223404E+03 0.15691782E+03 0.27349731E+02 + 0.35871044E+02 -0.54274963E+02 -0.36422302E+02 0.56854431E+02 + 0.68983749E+02 0.36825104E+02 -0.73194647E+01 0.21632601E+02 + -0.64012690E+01 0.41037807E+02 -0.62049179E+02 -0.87074289E+01 + 0.26557781E+02 0.25656235E+02 -0.14669993E+02 -0.59758472E+01 + -0.57773542E+01 0.55395346E+01 0.37282648E+01 0.29195373E+01 + -0.61014233E+01 0.11938372E+01 0.93779282E+02 -0.58239258E+02 + 0.16913054E+02 -0.99648829E+01 -0.18439863E+02 0.14224560E-02 + 0.11951702E+02 -0.14707021E+02 -0.52538476E+01 0.50785518E+01 + 0.62320623E+01 -0.98415775E+01 0.59114883E+02 -0.15509395E+03 + 0.99913818E+02 -0.13110652E+02 -0.38926407E+02 -0.11956065E+02 + -0.37092175E+02 0.51071320E+02 0.12083856E+02 0.11144696E+02 + -0.47916153E+02 -0.12860418E+02 -0.49043159E+01 0.97261871E+02 + -0.19500644E+03 -0.51127701E+02 -0.60541306E+02 -0.11995492E+02 + -0.12932007E+02 0.25311079E+02 0.10825487E+02 -0.16840389E+02 + -0.26814425E+02 -0.14202530E+02 0.40943546E+01 -0.52332830E+01 + 0.59779100E-01 0.60269129E-01 0.43412186E-02 -0.86104786E+00 + -0.28442454E+00 0.38802590E-01 -0.24069674E-01 0.61457339E-02 + 0.26447730E-01 -0.10484729E-01 -0.16964693E-01 -0.17687948E-01 + 0.11072900E-01 0.88018358E-01 -0.24598602E-01 -0.90877019E-03 + 0.27645338E+00 -0.60979283E+00 -0.11868041E-01 -0.52261841E-02 + -0.38976759E-01 0.42610685E-03 0.50539714E-02 -0.27756458E-02 + -0.37858903E-02 0.15917744E-01 0.24479557E-01 0.64580876E+00 + 0.88117719E-01 -0.19167216E+00 -0.63693744E+00 0.20008092E+00 + 0.13274205E+00 0.14893281E+00 0.11748410E+00 0.23986910E+00 + -0.11419380E+00 0.55741392E-01 0.13194549E+00 0.31363297E+00 + 0.28544968E+00 0.47836199E+00 0.13769217E+01 -0.44855452E+00 + 0.14112353E+00 0.25663990E+00 0.10438133E+00 -0.10474421E+00 + 0.16550191E-01 -0.23519805E-01 0.12023653E+00 0.87688923E-01 + 0.15380677E+01 0.14324549E+01 0.13127995E+01 0.88563509E+01 + 0.12689074E+01 -0.85907185E+00 -0.37547376E-01 -0.15601891E+00 + 0.33903081E-01 0.14706784E+00 0.37223575E+00 0.14558417E+00 + -0.20162196E+00 0.20672157E+01 0.85868543E+00 0.20100527E+01 + -0.15593596E+01 0.54521675E+01 0.74721974E+00 0.24748006E+00 + 0.22941184E+00 0.41224471E+00 0.10947401E+00 0.19377369E+00 + 0.53652614E-01 -0.26892835E+00 -0.85527778E+00 -0.59873805E+01 + 0.82442206E+00 0.72160802E+01 -0.55486888E+00 -0.11447297E+01 + -0.21035652E+01 -0.41455355E+00 -0.13146847E+01 -0.19809874E+01 + 0.17242728E+01 -0.57977825E+00 -0.89161658E+00 -0.37543097E+01 + -0.52248592E+01 -0.48182116E+01 -0.46627331E+01 0.96200695E+01 + 0.14079694E+01 -0.24980743E+01 -0.34461051E+00 0.31529838E+00 + -0.14311075E+01 0.84543669E+00 -0.79500061E+00 0.87758183E-01 + -0.14999283E+02 -0.91342783E+01 -0.57922730E+01 -0.19058975E+02 + 0.25543195E+00 0.45159874E+01 0.29069428E+01 0.59061384E+00 + -0.35207069E+00 -0.85799426E+00 -0.22677574E+01 -0.35971808E+00 + 0.99695718E+00 -0.13004525E+02 -0.14058589E+01 -0.92240839E+01 + 0.49196196E+01 -0.47094269E+01 -0.47235041E+01 -0.11311455E+01 + -0.21206169E+01 -0.10868502E+01 -0.12165098E+01 -0.93641442E+00 + -0.54299790E-01 0.10610466E+01 0.39302891E+00 0.14020730E+02 + -0.63046675E+01 -0.23180605E+02 0.46417074E+01 0.19860535E+01 + 0.61314020E+01 0.10478191E+01 0.39981804E+01 0.44316483E+01 + -0.51703072E+01 0.15147122E+01 0.18553237E+01 0.10761917E+02 + 0.15200617E+02 0.10380514E+02 0.55815134E+01 -0.28787249E+02 + -0.61082206E+01 0.76987014E+01 0.63724285E+00 -0.10391540E+00 + 0.52535138E+01 -0.30186062E+01 0.21368237E+01 -0.69694430E+00 + 0.33612610E+02 0.17597857E+02 0.12092535E+02 0.56274945E+00 + -0.44205179E+01 -0.89462976E+01 -0.83171120E+01 -0.39125001E+00 + 0.78949368E+00 0.13598927E+01 0.44765348E+01 0.34951833E+00 + -0.16460218E+01 0.24521835E+02 -0.49467859E+01 0.14729335E+02 + -0.94777222E+01 -0.24623810E+02 0.99676733E+01 0.11067476E+01 + 0.53398237E+01 0.20645840E+00 0.34774733E+01 0.12603254E+01 + -0.11288595E+00 -0.20366173E+01 0.48746824E+00 -0.93833923E+01 + 0.79512815E+01 0.16153669E+02 -0.65026073E+01 -0.10142498E+01 + -0.47579021E+01 -0.93598437E+00 -0.33259742E+01 -0.30019798E+01 + 0.39455862E+01 -0.10857134E+01 -0.10412169E+01 -0.85157795E+01 + -0.12449423E+02 -0.60487137E+01 0.28868359E+00 0.19360550E+02 + 0.52751713E+01 -0.72028527E+01 -0.67789555E+00 -0.26337576E+00 + -0.44146748E+01 0.24460630E+01 -0.18024997E+01 0.45497316E+00 + -0.22045059E+02 -0.11040361E+02 -0.89635515E+01 0.14214536E+02 + 0.54145703E+01 0.58426008E+01 0.63665800E+01 -0.24814358E+00 + -0.69569629E+00 -0.63997215E+00 -0.28150804E+01 0.38981915E-01 + 0.74708533E+00 -0.14405211E+02 0.67465458E+01 -0.91972790E+01 + 0.44302187E+01 0.29674314E+02 -0.69829130E+01 0.78397954E+00 + -0.36686268E+01 0.63624251E+00 -0.25999174E+01 -0.36813945E+00 + 0.81634104E-01 0.15097923E+01 0.19783933E-01 0.11059834E+00 + -0.11023654E+00 -0.75270355E-01 0.54907441E-01 -0.38886005E+00 + -0.41173497E+00 -0.22116264E-01 0.64385355E-01 0.88824853E-02 + -0.96755140E-02 -0.36646105E-01 -0.59598195E-02 0.64539433E-01 + -0.11785929E+00 -0.12389940E+00 -0.48941523E-01 -0.10718918E+00 + 0.40435499E+00 -0.40478411E+00 -0.61611693E-01 0.38958152E-03 + 0.99619920E-03 -0.42985827E-02 0.18320027E-02 0.19367576E-01 + -0.32544464E+00 0.51384830E+00 -0.25873077E+00 -0.29849017E+00 + -0.10000074E+00 -0.15430472E-01 0.58037206E-03 0.10718274E+00 + -0.16415427E-01 -0.15686333E-01 0.29702727E-01 -0.29885124E-01 + -0.15864320E-01 -0.14868063E+00 -0.11868398E+00 -0.14044303E+00 + -0.17538846E+00 -0.13476026E+00 0.57173111E-01 0.18623368E+00 + -0.32387108E-01 -0.34499161E-01 -0.32388661E-01 -0.80245793E-01 + 0.56267917E-01 0.15138484E-01 -0.47861069E-01 -0.77162349E+00 + 0.16360244E+01 0.50554228E+00 -0.63924372E-01 -0.10863322E+00 + -0.60092205E+00 0.49819637E-01 -0.82271285E-02 0.98940365E-01 + -0.35185188E-01 0.12983483E+00 -0.19542506E+00 -0.76338345E+00 + 0.19630163E+01 -0.10691434E+00 -0.60503505E-01 0.13289423E+01 + 0.43475190E+00 0.11329931E+00 -0.10821793E-01 -0.62644839E-01 + 0.12987886E+00 0.13167375E+00 0.77864647E-01 -0.24797526E+00 + 0.24173477E+00 -0.10378170E+01 0.63027930E+00 0.74880981E+00 + 0.33605361E+00 0.35392141E+00 0.33974940E+00 -0.25777459E+00 + 0.61715255E-03 0.44684768E-01 -0.11695756E+00 0.11965482E+00 + 0.14105978E-01 -0.24457286E+00 0.41991290E+00 0.31134152E+00 + 0.22164924E+00 0.72564882E+00 -0.43179059E+00 -0.61885379E-01 + 0.49443059E-01 0.54404359E-01 0.31738911E-01 0.19574244E+00 + 0.27847872E-02 -0.16355213E-01 0.63239706E+00 0.16469688E+01 + -0.27302732E+01 -0.85581720E+00 0.37954581E+00 0.11399050E+01 + 0.17348309E+01 0.94211519E-01 -0.21935873E+00 -0.23572174E+00 + 0.16577184E+00 -0.19861726E+00 0.35016692E+00 0.68477434E+00 + -0.23878088E+01 0.44941813E+00 -0.84276378E-01 -0.20325935E+01 + -0.13022908E+01 0.10930405E+01 0.38093251E+00 0.19024204E+00 + -0.33430809E+00 -0.23511818E+00 -0.28587627E+00 0.32850736E+00 + 0.67689955E-01 -0.20780522E-01 -0.29032284E-01 -0.13323180E-01 + 0.28254267E-01 0.84414110E-02 -0.15326820E-01 0.25174028E+00 + -0.40093143E-01 0.27145152E-02 -0.66505708E-02 -0.13159066E-01 + -0.18460389E-01 0.69634914E-01 -0.45518775E-01 0.13114979E-03 + -0.10398069E-01 -0.32790069E-01 -0.10675941E-01 -0.56565069E-02 + 0.37150964E-01 0.23021939E+00 0.76370062E-02 -0.43002553E-02 + 0.90373270E-02 -0.44722818E-02 -0.81032962E-02 -0.43692399E-01 + -0.10039860E-01 0.17762598E-01 -0.13719068E+00 -0.41710932E-01 + 0.31929690E-01 0.24983568E+00 0.21474643E+00 -0.19966746E-02 + 0.15482435E-02 -0.80155052E-03 0.30076521E-01 0.23039337E+00 + 0.19240946E+00 -0.78822196E-01 -0.48037753E-01 0.23808508E+00 + -0.85829981E-02 -0.15761971E-01 -0.27143878E+00 0.14898765E+00 + 0.10034035E-01 -0.17262490E-01 0.28459651E-02 -0.29851828E-01 + -0.92098355E-01 -0.30134434E-01 -0.82727498E-03 -0.17205035E-01 + -0.25473502E-01 0.82982332E-02 -0.11164434E-01 0.28170861E-01 + -0.21050286E-01 0.71516871E-01 0.11752142E+00 -0.58911443E-02 + -0.18760281E-01 0.83058663E-02 0.17495194E-01 -0.28589493E-01 + 0.34168433E-01 -0.72476625E-01 -0.29382722E-02 0.76811682E-02 + 0.45096450E-01 0.30133617E-02 -0.14231348E+00 0.89629531E-01 + 0.86848512E-02 -0.99676475E-02 -0.47373828E-01 -0.30634219E-01 + 0.16800816E-02 0.18063534E-01 -0.41148607E-01 0.12769083E-01 + -0.67251879E-02 0.29845890E-01 0.57053417E-02 -0.11818509E-02 + -0.55645369E-02 -0.10559255E+00 0.37416607E-01 0.55516444E-01 + 0.15834853E-01 0.20975685E-01 0.30448467E-01 0.37793186E-01 + 0.77342093E-02 -0.49891472E-02 -0.35565118E-02 -0.14904853E-01 + -0.27537173E-01 -0.54248422E-02 -0.32515921E-01 -0.11524391E+00 + -0.27006499E-01 -0.25322476E-01 0.14191590E-01 0.12788467E-01 + 0.57791099E-02 -0.54317177E-03 -0.15069270E-02 0.22591203E-01 + -0.38332655E-02 -0.25445294E-01 0.13055148E-01 0.71395226E-02 + 0.97428225E-02 0.17405972E-01 -0.11919926E-01 -0.45696460E-02 + -0.54349601E-02 -0.26084450E-02 -0.11787944E-01 -0.67170407E-02 + -0.12048979E-01 0.12912757E-01 -0.51113814E-02 0.12004344E-02 + 0.12741836E-01 0.13009418E-01 0.38855118E-02 0.78748107E-01 + -0.10889453E+00 -0.12783661E-01 -0.66305064E-02 -0.20848874E-01 + 0.30470366E-01 -0.30254409E-01 -0.69153421E-02 -0.26659120E-01 + 0.13413354E-01 0.29060598E-02 -0.56839692E-02 -0.37495904E-01 + 0.66720471E-02 -0.68216692E-02 0.11667378E-01 0.37586469E-01 + 0.30343611E-01 -0.39814599E-02 -0.21826498E-01 0.24977464E-01 + 0.14075890E-01 -0.11293184E-01 -0.50641857E-02 0.14215916E-01 + 0.80071468E+01 0.23540013E-01 0.14707810E+00 0.61012924E-01 + -0.19648800E-01 -0.79102479E-02 -0.12570567E-01 0.60085010E-01 + -0.31929113E-01 0.15448346E-01 -0.50893165E-02 0.16869308E-01 + -0.57898681E-02 -0.21232369E+01 -0.46706444E+00 -0.10000436E+00 + -0.10564296E+00 0.28760386E+00 0.85470974E-01 0.23103154E+00 + 0.48029870E-02 -0.14235693E+00 0.14473069E+00 0.36030024E-01 + -0.35992347E-01 -0.17253455E-01 0.16923170E+02 0.12374105E+01 + -0.25139482E+01 0.29843819E+00 0.55985516E+00 0.69062686E+00 + 0.48571929E+00 -0.87643987E+00 0.75207931E+00 0.19640109E-01 + -0.28679377E+00 -0.58915949E+00 -0.28327841E+00 0.14983639E+02 + 0.24837055E+01 0.10404690E+02 0.21364901E+01 -0.29136972E+01 + -0.39514863E+00 -0.35909801E+01 0.20056395E+00 0.15654202E+01 + -0.34472344E+01 -0.59020323E+00 0.87846285E+00 0.14721909E+01 + -0.94911163E+02 -0.13008686E+02 0.14315582E+02 -0.42997437E+01 + -0.10056246E+02 -0.40604210E+01 -0.27439718E+01 0.63601122E+01 + -0.44736729E+01 -0.78184110E+00 0.28047209E+01 0.52159152E+01 + 0.21123676E+01 0.30943279E+01 -0.11885343E+02 -0.64855026E+02 + -0.10654854E+02 0.19201281E+02 -0.13944062E+01 0.16869156E+02 + -0.27809069E+01 -0.75264559E+01 0.20107191E+02 0.25993383E+01 + -0.68293738E+01 -0.10687794E+02 0.16992488E+03 0.46145279E+02 + -0.36491425E+02 0.13116934E+02 0.34286945E+02 0.78730631E+01 + 0.54953222E+01 -0.18412992E+02 0.11174599E+02 0.26052153E+01 + -0.87555561E+01 -0.14695855E+02 -0.49863582E+01 -0.86712387E+02 + 0.28112959E+02 0.14459599E+03 0.19851641E+02 -0.51848770E+02 + 0.83207064E+01 -0.31751221E+02 0.81608305E+01 0.16190430E+02 + -0.46680206E+02 -0.44772253E+01 0.18257050E+02 0.26758469E+02 + -0.14461771E+03 -0.62235672E+02 0.42808395E+02 -0.15741500E+02 + -0.42179947E+02 -0.63173614E+01 -0.47827044E+01 0.21872602E+02 + -0.12338369E+02 -0.28421402E+01 0.10545931E+02 0.16512466E+02 + 0.45623174E+01 0.12349963E+03 -0.25484192E+02 -0.13910371E+03 + -0.15541058E+02 0.57951981E+02 -0.11481495E+02 0.25678282E+02 + -0.90002031E+01 -0.15541975E+02 0.46808899E+02 0.34660118E+01 + -0.19979813E+02 -0.27687757E+02 0.49242920E+02 0.27691010E+02 + -0.18267746E+02 0.66256733E+01 0.17394238E+02 0.18268528E+01 + 0.15869139E+01 -0.90256739E+01 0.49349022E+01 0.95967907E+00 + -0.43152208E+01 -0.64874325E+01 -0.13755007E+01 -0.52184998E+02 + 0.73005280E+01 0.49102631E+02 0.43267603E+01 -0.22683683E+02 + 0.48243713E+01 -0.74036078E+01 0.34105937E+01 0.54719052E+01 + -0.16946058E+02 -0.10452633E+01 0.77386174E+01 0.10162491E+02 + -0.28234261E+00 0.15047415E+01 0.16470917E+01 -0.48499368E-02 + -0.99328697E-01 -0.19733937E-01 -0.57898015E-02 0.54610927E-01 + 0.14524219E-02 0.27774852E-02 0.19980098E-03 0.76767765E-02 + -0.83661638E-02 0.36049801E+00 -0.15487709E+01 0.14352397E+01 + -0.28597062E-01 0.10506238E+00 -0.50372839E-01 -0.33528510E-01 + -0.47886573E-01 0.57634912E-01 -0.36588252E-01 0.12803383E-01 + -0.29328018E-01 0.12255315E-01 -0.45544681E+00 0.12475319E+01 + -0.27271128E+01 0.53092772E+00 -0.37300751E-01 -0.15156126E+00 + -0.12215276E+00 -0.25236827E+00 0.13521498E+00 0.36329889E+00 + 0.22915351E+00 -0.17122568E+00 0.20348291E+00 0.99758154E+00 + 0.18983068E+01 -0.12141098E+00 0.98354705E-02 0.15336275E+00 + 0.17870604E+00 -0.72830558E-01 0.17440286E+00 0.29191232E+00 + -0.11306346E-01 0.49621542E-02 -0.26877807E-01 -0.59098415E-02 + 0.66613064E+01 0.10923632E+02 -0.65970409E+00 0.15522881E+01 + -0.40954612E-01 0.10254956E+01 -0.66243577E+00 -0.82247674E+00 + 0.49483863E+00 -0.44243655E+00 -0.27341878E+00 -0.15122771E+00 + -0.44921716E-02 -0.38886521E+01 0.54575652E+00 0.10046308E+02 + 0.23151207E+01 -0.10080290E+01 0.23143318E+00 0.23112383E+01 + 0.82673115E+00 -0.13583059E+01 0.51237226E+00 -0.59203404E+00 + 0.10641146E+01 -0.16020350E-01 0.38286209E+01 -0.29793093E+02 + 0.47293579E+02 -0.99862347E+01 -0.12771472E+01 0.57090254E+01 + 0.90686393E+00 0.46967688E+01 -0.48249453E+00 -0.78903112E+01 + -0.37669449E+01 0.33611765E+01 -0.28549347E+01 -0.42156820E+01 + -0.18497114E+02 0.43299971E+01 0.12616367E+01 -0.74922543E+01 + 0.18494388E+01 0.33060455E+01 -0.33028388E+00 -0.44510727E+01 + -0.27160692E+00 0.20754676E+00 0.16191083E+00 0.37127811E+00 + -0.39047283E+02 -0.20917374E+02 0.41411636E+02 -0.88546057E+01 + 0.36347628E+01 -0.46501169E+01 0.43165112E+01 0.63377647E+01 + -0.79014248E+00 0.20996790E+01 0.26977174E+01 0.49547371E-01 + -0.80331701E+00 0.24417513E+02 -0.50597046E+02 -0.12887446E+02 + -0.25855637E+02 0.15060377E+02 0.16648368E+01 -0.19734495E+02 + -0.85645733E+01 0.11742890E+02 0.24708918E+00 0.30122678E+01 + -0.88011360E+01 -0.45888130E-01 -0.12037979E+02 0.18195720E+03 + -0.30125439E+03 0.56718903E+02 0.25235319E+02 -0.37847775E+02 + -0.31361133E+00 -0.27802048E+02 -0.43944130E+01 0.44352985E+02 + 0.19799465E+02 -0.20778854E+02 0.12326245E+02 -0.41416504E+02 + 0.12508258E+03 -0.62992973E+01 -0.16054337E+02 0.42519867E+02 + -0.22424589E+02 -0.25135466E+02 0.28161287E+01 0.19682434E+02 + 0.15035915E+01 -0.35815945E+01 0.37708406E+01 -0.11817551E+01 + 0.89285217E+02 -0.69641006E+02 -0.17817471E+03 0.21492142E+02 + -0.17860394E+02 0.67075520E+01 -0.15617904E+02 -0.20148712E+02 + -0.40488234E+01 -0.17107675E+01 -0.83144178E+01 0.30443573E+01 + 0.37432699E+01 -0.67462082E+02 0.21829536E+03 -0.10266725E+03 + 0.90444672E+02 -0.59647964E+02 -0.10293539E+02 0.61297577E+02 + 0.29657211E+02 -0.38800812E+02 -0.93168879E+01 -0.34729414E+01 + 0.26925247E+02 -0.22017689E+01 0.41186661E+02 -0.43663577E+03 + 0.76321771E+03 -0.13260320E+03 -0.96994415E+02 0.98809723E+02 + -0.51419196E+01 0.72419853E+02 0.21797651E+02 -0.10391359E+03 + -0.44690704E+02 0.50902676E+02 -0.22424055E+02 0.19840216E+03 + -0.35004053E+03 -0.27337151E+01 0.44635433E+02 -0.85559494E+02 + 0.67447418E+02 0.67286041E+02 -0.17907364E+02 -0.35397385E+02 + 0.19058683E+01 0.13237236E+02 -0.18305573E+02 0.25211602E+00 + -0.86747162E+02 0.17347542E+03 0.27344238E+03 -0.22800629E+02 + 0.27914154E+02 -0.33933649E+01 0.26151579E+02 0.27388151E+02 + 0.97586899E+01 -0.34674823E+01 0.91410255E+01 -0.73688040E+01 + -0.56035948E+01 0.89096451E+02 -0.34042065E+03 0.24030518E+03 + -0.12773232E+03 0.86151855E+02 0.17995501E+02 -0.78346130E+02 + -0.41468628E+02 0.53289474E+02 0.18957485E+02 -0.17327204E+01 + -0.35620255E+02 0.71820145E+01 -0.68477386E+02 0.45522485E+03 + -0.86998047E+03 0.13320493E+03 0.13828078E+03 -0.11296691E+03 + 0.83289499E+01 -0.84006424E+02 -0.30078979E+02 0.10894444E+03 + 0.46073669E+02 -0.53107391E+02 0.18520048E+02 -0.27914136E+03 + 0.44985596E+03 -0.11727839E+01 -0.40542358E+02 0.65773636E+02 + -0.78929604E+02 -0.74833633E+02 0.33005199E+02 0.26883785E+02 + -0.96850271E+01 -0.17542389E+02 0.28257004E+02 0.11094313E+01 + 0.28169250E+02 -0.94577866E+02 -0.13985548E+03 0.92719965E+01 + -0.13244053E+02 0.46153146E+00 -0.14713108E+02 -0.13108558E+02 + -0.55679369E+01 0.39470749E+01 -0.31173913E+01 0.46963749E+01 + 0.28085089E+01 -0.41424835E+02 0.17922870E+03 -0.13824786E+03 + 0.62719315E+02 -0.40361130E+02 -0.99571943E+01 0.35196609E+02 + 0.20173752E+02 -0.25507154E+02 -0.10779361E+02 0.30331247E+01 + 0.17037977E+02 -0.52984176E+01 0.38881653E+02 -0.17535538E+03 + 0.36977023E+03 -0.48800980E+02 -0.67534851E+02 0.46994457E+02 + -0.36084452E+01 0.35268539E+02 0.12913198E+02 -0.42146164E+02 + -0.17815414E+02 0.19775284E+02 -0.58432074E+01 0.12580309E+03 + -0.21518388E+03 0.61443505E+01 0.98084259E+01 -0.15733668E+02 + 0.32032806E+02 0.29372604E+02 -0.18224518E+02 -0.68510799E+01 + 0.68954391E+01 0.76545310E+01 -0.14303967E+02 -0.45466861E+00 + 0.14912950E+00 -0.37197623E-01 0.86089194E-01 -0.99689078E+00 + 0.34358007E+00 0.41757077E-02 0.11042264E-01 -0.31665795E-01 + 0.28434342E-01 -0.40736798E-01 0.25358042E-01 -0.47867005E-02 + -0.79530254E-02 0.48351955E-01 -0.13903272E+00 0.35033256E-01 + -0.24141116E+00 -0.73474467E+00 -0.21165458E-02 0.14233134E-01 + -0.48750002E-01 -0.17404558E-01 -0.13931587E-01 0.45621023E-02 + -0.16081573E-01 0.18449978E-02 0.15439528E+00 0.10494127E+01 + 0.53804463E+00 0.16673174E+01 -0.14299717E+01 0.68726413E-01 + -0.16137254E+00 0.13222758E+00 0.19399196E-01 -0.11860881E-01 + -0.47297381E-01 0.52892003E-01 0.16677070E-01 0.36067051E+00 + 0.11057930E+01 0.61169720E+00 0.19141264E+01 0.20964136E+01 + 0.23646539E+00 0.27404869E+00 0.19712859E+00 -0.11474234E+00 + 0.12215358E+00 -0.76190829E-01 0.15382157E+00 0.43123841E-01 + 0.10588360E+01 0.11870985E+01 0.88391542E+00 0.23195534E+01 + 0.29367788E+01 0.42034310E+00 -0.13270930E+01 -0.13814926E+00 + 0.26789278E+00 -0.76729953E-01 -0.62709659E+00 -0.13922799E+00 + -0.22054446E+00 0.26687746E+01 0.14925652E+01 -0.10293322E+01 + -0.60973644E+01 0.13214233E-01 -0.80502629E-01 -0.20025110E+00 + 0.51012868E+00 0.36622775E+00 0.50678080E+00 -0.61252302E+00 + 0.36497283E+00 0.66087967E+00 -0.18513011E+01 -0.84644547E+01 + -0.22534676E+01 0.16729211E+01 0.59963427E+01 0.83362734E+00 + -0.32418752E+00 -0.12634010E+01 -0.21761374E+00 -0.32083213E+00 + 0.10582199E+01 -0.40086411E-01 0.34409943E+00 -0.56983299E+01 + -0.85301571E+01 -0.62716274E+01 -0.10336223E+02 -0.12337219E+01 + 0.14525557E+01 -0.27670050E+01 -0.61272615E+00 0.89260936E-02 + -0.17194242E+01 0.48456725E+00 -0.75325102E+00 -0.12380636E+00 + -0.10879603E+02 0.18890284E+00 -0.12624624E+02 0.85096445E+01 + -0.14647896E+02 -0.11804609E+01 0.11204756E+02 0.11301165E+01 + -0.65179712E+00 0.20850821E+01 0.33798697E+01 0.68264633E+00 + 0.13606977E+01 -0.41109314E+01 -0.76429534E+01 0.31357613E+01 + 0.33289856E+02 0.18736219E+02 0.52604097E+00 0.32423334E+01 + -0.39312522E+01 -0.42085308E+00 -0.20370188E+01 0.46622753E+01 + -0.20514877E+01 -0.67121158E+01 0.33330193E+01 0.19760468E+02 + 0.13707294E+01 -0.15091407E+02 -0.44948025E+01 -0.37715893E+01 + 0.19507856E+01 0.41595783E+01 0.84614331E+00 0.17263755E+01 + -0.36580293E+01 -0.27227205E+00 -0.15076884E+01 0.17205366E+02 + 0.15522378E+02 0.18444883E+02 0.14610297E+02 -0.95373640E+01 + -0.77903042E+01 0.75731359E+01 0.10421705E+01 0.14117403E+01 + 0.51428719E+01 -0.15598038E+01 0.11522198E+01 0.33083045E+00 + 0.23841169E+02 -0.88205338E+01 0.33722397E+02 -0.35630081E+02 + 0.22245089E+02 0.98581374E-01 -0.23630219E+02 -0.24590368E+01 + -0.60612363E+00 -0.56737957E+01 -0.57873230E+01 -0.94312793E+00 + -0.20955915E+01 -0.14294488E+02 0.16591461E+02 -0.36211157E+01 + -0.58140301E+02 -0.52787476E+02 -0.87697136E+00 -0.86255150E+01 + 0.79262266E+01 -0.16103133E+01 0.19649647E+01 -0.10198184E+02 + 0.28549719E+01 0.16818815E+02 -0.28521109E+01 -0.13874240E+02 + 0.60465282E+00 0.88589296E+01 -0.56679926E+01 0.32743340E+01 + -0.16497430E+01 -0.34437387E+01 -0.67558539E+00 -0.17088107E+01 + 0.29519806E+01 0.42225951E+00 0.13573284E+01 -0.15705804E+02 + -0.77159290E+01 -0.15102556E+02 -0.16817580E+01 0.56376777E+01 + 0.67993746E+01 -0.60265527E+01 -0.10358449E+01 -0.14570483E+01 + -0.36746919E+01 0.12936858E+01 -0.37998497E+00 -0.32503825E+00 + -0.14731428E+02 0.91323881E+01 -0.23522764E+02 0.31281187E+02 + -0.66921172E+01 0.88023257E+00 0.14684580E+02 0.14542350E+01 + 0.11787510E+01 0.40096455E+01 0.31103554E+01 0.42140287E+00 + 0.75577307E+00 0.22154358E+02 -0.13379251E+02 0.43898407E+00 + 0.28501005E+02 0.40360855E+02 0.30411851E+00 0.64322252E+01 + -0.44322767E+01 0.17975950E+01 -0.39312947E+00 0.68860779E+01 + -0.11438122E+01 -0.11947878E+02 0.27685111E-01 -0.40053256E-01 + -0.17839096E-01 -0.57812694E-01 0.70409179E-01 -0.50432479E+00 + -0.61618292E+00 -0.51988088E-01 0.36189247E-01 -0.57952989E-01 + 0.35770401E-01 -0.30052310E-01 -0.15522748E-01 -0.99234730E-02 + -0.25411302E+00 -0.98816872E-01 0.27671959E-01 -0.90068400E-01 + 0.64124870E+00 -0.49534282E+00 -0.23844033E-01 0.90174712E-02 + 0.16274258E-01 0.13823565E-02 -0.16471017E-01 0.77255033E-02 + -0.29735398E+00 0.89244610E+00 0.47042768E-01 -0.19908188E+00 + -0.20957832E+00 0.48498315E+00 0.34726393E+00 0.14254753E+00 + -0.51067263E-01 -0.74147582E-01 0.43129999E-01 -0.94624721E-02 + 0.69399774E-01 -0.27613026E+00 0.39687447E-01 -0.22952504E+00 + -0.17188592E+00 -0.37711376E+00 -0.37344021E+00 0.44496521E+00 + 0.49825113E-01 0.50268639E-01 0.10268871E-01 -0.15096734E+00 + -0.18276259E-02 0.57382856E-01 0.55527079E+00 0.49626112E+00 + 0.41093677E+00 -0.36513752E+00 -0.92810738E+00 0.45406207E+00 + 0.39471567E+00 -0.30232596E+00 0.54300815E+00 0.59649146E+00 + -0.42978968E-01 0.16226172E+00 -0.37429813E-01 -0.20489936E+00 + 0.37278993E+01 -0.70701134E+00 -0.19198208E+00 0.71857435E+00 + -0.99595571E+00 0.54645717E+00 -0.43600601E+00 -0.46274233E+00 + 0.24707443E-02 0.20912142E+00 0.10534024E+00 -0.15043881E-01 + -0.54460275E+00 -0.15500154E+01 0.16229698E-01 0.42883772E+00 + 0.12063432E+00 -0.49502440E-01 -0.30448538E+00 -0.20664474E+00 + 0.19829328E+00 0.26275939E+00 -0.19895925E+00 0.21524692E+00 + -0.15297687E+00 0.29179329E+00 0.17002034E+00 0.72335619E+00 + 0.31211472E+00 0.96879715E+00 0.17340130E+00 0.76188266E-01 + -0.18247446E+00 -0.35377108E-01 -0.23166699E-01 0.31477255E+00 + 0.19326968E+00 -0.67122042E-01 0.96205831E-01 0.37230721E+00 + -0.99004126E+00 0.10045290E+01 0.21211245E+01 -0.90331674E-01 + 0.57627045E-01 0.65079659E+00 -0.12693567E+01 -0.96175182E+00 + 0.58023084E-01 -0.35038713E+00 0.14534503E+00 -0.79609752E-01 + -0.49538922E+01 0.14437779E+01 0.20078925E-01 -0.11813402E+01 + 0.14132195E+01 -0.34010512E+00 0.10204926E+01 0.75110751E+00 + -0.16915600E+00 -0.33175176E+00 -0.33036435E+00 -0.20429280E-01 + -0.10897011E-01 -0.49416184E-01 -0.44178922E-01 -0.84936582E-02 + 0.51277779E-01 0.19495713E-01 -0.32920949E-01 0.21518528E+00 + -0.17939478E+00 -0.32887351E-01 0.33539165E-01 -0.19388678E-01 + -0.20020412E-01 0.20877954E-01 0.27526096E-01 -0.37257951E-01 + 0.32353073E-01 -0.61392698E-01 0.98865926E-02 -0.21773187E-01 + 0.17957854E+00 0.23242454E+00 0.58700144E-02 0.39826781E-02 + 0.25550252E-01 0.60049258E-03 -0.15558755E+00 -0.54346316E-01 + -0.56051027E-01 0.19358875E-01 -0.15182690E+00 -0.10598338E+00 + 0.37775721E-01 0.16895784E+00 0.51459491E+00 -0.84568337E-02 + -0.67650616E-01 0.27996891E-02 -0.11083935E-01 0.30534738E+00 + 0.23073225E+00 -0.16615909E+00 -0.73981106E-01 0.17580722E+00 + -0.86328864E-01 -0.72317012E-02 -0.50074291E+00 -0.23022939E-02 + 0.22110448E-02 -0.61923105E-01 -0.39555937E-01 0.32912306E-01 + -0.12910461E+00 -0.22992328E-01 -0.24645030E-01 -0.16976856E-01 + -0.48633259E-01 0.24791235E-01 -0.44905990E-02 0.44549935E-01 + -0.13423372E-01 0.14574015E+00 0.18071000E+00 0.22294491E-02 + -0.21888549E-01 0.82140625E-01 0.60347043E-01 -0.69422066E-01 + 0.34340001E-02 -0.79234779E-01 -0.41237101E-01 -0.28514843E-01 + 0.24108849E-01 0.40748827E-01 -0.15513337E+00 0.15307409E+00 + 0.99850409E-02 -0.27682118E-01 0.54472774E-01 -0.43857154E-01 + -0.53891957E-01 -0.13284812E-01 0.35775442E-01 0.40358417E-02 + -0.27592605E-01 0.31445235E-01 0.15491653E-01 0.28190133E-02 + -0.24603693E-01 -0.92626929E-01 0.67674041E-01 0.71794271E-01 + 0.95135741E-01 0.50922334E-02 -0.13623562E-01 0.23757340E-01 + -0.47744401E-02 0.46965741E-02 -0.67392145E-02 -0.48691970E-02 + -0.11122855E-02 -0.13454690E-01 -0.77131741E-01 -0.98624110E-01 + 0.48160713E-01 0.16543768E-01 -0.49138770E-01 0.17461598E-01 + 0.26750354E-01 0.39088391E-02 0.55514909E-02 0.43032456E-01 + 0.60738623E-02 -0.25063993E-02 -0.15855387E-01 -0.94612055E-02 + -0.41879321E-03 0.32233030E-01 -0.19281844E-01 0.20792220E-01 + 0.94251186E-02 -0.47330946E-01 0.23148457E-01 0.49970336E-02 + -0.24953453E-01 0.21466168E-01 -0.37387639E-03 0.19118557E-01 + 0.32155176E-02 0.16403267E-01 0.35219166E-01 0.13113920E+00 + -0.96734822E-01 0.13746212E-01 -0.28147858E-01 0.16202064E-01 + 0.51043976E-01 -0.35983650E-02 -0.52156076E-02 -0.96815266E-02 + -0.55470653E-02 -0.20149490E-01 -0.10250241E-01 -0.27565161E-01 + 0.56680124E-01 -0.28701192E-01 -0.58173500E-02 0.27876014E-01 + 0.27989307E-01 -0.13116183E-01 -0.12744516E-01 0.25175970E-01 + 0.43719970E-02 0.16126097E-02 -0.25717750E-01 0.10965120E-01 + 0.30802851E+01 -0.46980418E-02 0.10328546E-01 -0.13646304E-02 + -0.13921593E-02 0.46656504E-02 0.75738011E-02 -0.13919174E-02 + 0.18014410E-02 -0.73226565E+00 0.12279888E-01 0.34578346E-01 + 0.33941451E-01 0.73212682E-03 -0.21163456E-01 0.32289592E-02 + -0.18333457E-01 0.91965459E-02 0.79729569E+00 0.13542823E+00 + -0.11436111E+00 -0.70079923E-01 0.79188868E-02 -0.77631474E-01 + -0.55221070E-01 0.45033403E-01 -0.30216958E-01 0.18268728E+01 + -0.31209856E+00 -0.70338607E-01 -0.13058031E+00 0.52127126E-02 + 0.59936713E-01 -0.18583013E-01 0.56642335E-01 0.17623588E-02 + -0.78476065E+00 -0.25712866E+00 0.25612438E+00 0.15128809E+00 + -0.38681533E-01 0.24744213E+00 0.14993745E+00 -0.11375402E+00 + 0.66822350E-01 -0.13493088E+01 0.30580217E+00 0.73491514E-01 + 0.89370728E-01 0.54565589E-02 -0.46355233E-01 0.13624963E-01 + -0.36061008E-01 -0.18066939E-01 -0.12063472E+00 0.14794455E+00 + -0.10244070E+00 -0.80330491E-01 0.43026239E-01 -0.18751287E+00 + -0.10860288E+00 0.70955396E-01 -0.43552943E-01 0.86388141E-02 + -0.10469252E+00 -0.35336649E+00 0.68503246E-02 -0.22832710E-01 + 0.74300240E-02 -0.25587231E-02 0.51693581E-02 -0.12979574E-03 + 0.82351677E-02 0.37010679E+00 -0.82846224E-01 -0.23642723E-01 + 0.21374702E-01 0.24881926E-02 -0.14439702E-01 0.34175655E-02 + 0.15466104E-01 -0.13728088E+00 -0.90724170E-01 -0.25918818E+00 + 0.55246763E-01 0.28049927E-01 -0.48293494E-01 -0.40341385E-01 + 0.25727993E-01 0.12118478E-01 0.87273717E-01 0.31198275E+00 + -0.16230863E+00 0.16893692E-01 0.17322816E-02 -0.83513968E-02 + 0.22217985E-01 0.15569706E-01 0.63724101E-01 0.55732690E-01 + 0.28494716E+00 0.15282592E+01 -0.20563170E+00 0.30643355E-01 + -0.10549945E+00 0.10248965E+00 0.31379044E-01 -0.74367374E-02 + -0.61427230E+00 -0.15684910E+01 0.10502629E+00 0.25299487E+00 + -0.15594780E+00 -0.50039280E-01 0.76203006E-02 -0.49784355E-01 + -0.12944192E+00 0.15699538E+01 0.26262051E+00 0.62663382E+00 + 0.22692803E-01 -0.51594198E+00 0.51364642E+00 0.29827582E-01 + -0.80818415E-01 -0.30650461E+00 0.24862222E+00 -0.59349155E+00 + 0.11204491E+01 -0.97968996E-01 0.33110029E+00 0.38167052E-01 + -0.16308677E+00 0.54527004E-02 -0.50980151E+00 -0.47659844E+00 + -0.55125356E-02 -0.95217311E+00 0.47925776E+00 -0.42554028E-02 + 0.30441791E+00 -0.30924678E+00 -0.12380421E+00 -0.70827246E-01 + 0.20973928E+01 0.99478257E+00 0.27451342E+00 -0.55617458E+00 + 0.29574651E+00 0.15973371E+00 0.80506027E-01 0.57603043E-01 + 0.32256550E+00 -0.38655002E+01 -0.90660787E+00 -0.59841728E+00 + -0.50917405E+00 0.14092969E+01 -0.11617565E+01 0.28998095E+00 + 0.36635257E-01 0.80191469E+00 -0.10721378E+01 0.55519497E+00 + -0.26079957E+01 0.24563980E+00 -0.10116768E+01 -0.10343832E+00 + 0.17780776E+00 -0.81209362E-01 0.10334635E+01 0.69367838E+00 + -0.10222286E+00 -0.55200577E+00 -0.34082192E+00 0.15705701E-01 + -0.24950404E+00 0.24499445E+00 0.78426957E-01 0.83322465E-01 + -0.16341933E+01 0.60357797E+00 -0.35521412E+00 0.34881729E+00 + -0.18382023E+00 -0.85821629E-01 -0.79250157E-01 0.24138992E-02 + -0.23403051E+00 0.27014959E+01 0.11459875E+01 -0.33060223E+00 + 0.46477214E+00 -0.97078699E+00 0.67035884E+00 -0.35578549E+00 + 0.13218268E-01 -0.56398720E+00 0.62231594E+00 0.28681970E+00 + 0.19950294E+01 -0.16715036E+00 0.70967090E+00 0.80056019E-01 + -0.58295805E-01 0.67210019E-01 -0.60891318E+00 -0.86633563E-02 + -0.13671836E-02 -0.19294510E-01 -0.29737538E-01 -0.15660119E+00 + -0.86754002E-02 0.21384902E-03 0.20422875E-02 -0.96033923E-02 + 0.10736868E-02 0.13963472E-02 0.80128177E-03 0.16088323E+00 + -0.86053126E-02 0.60172728E-03 -0.22198915E-01 -0.37762453E-03 + 0.10805880E-02 0.39740399E-01 0.17161985E+00 0.12527364E+00 + 0.13852578E+00 -0.44440907E+00 -0.17778875E-01 -0.20324277E-01 + 0.42344291E-01 -0.20028135E-01 -0.42737368E-01 0.44157285E-01 + 0.24216687E-01 0.59995002E+00 0.19375706E+00 0.41468341E-01 + -0.40872436E-01 -0.31848896E-01 -0.14190457E-01 -0.27813461E-01 + 0.34570388E-01 0.91654718E-01 0.33465788E-01 -0.93962312E-01 + 0.60697459E-01 -0.45351591E-01 -0.58084023E-02 0.61074000E-01 + -0.37716967E+00 -0.15043245E+00 -0.14817756E+00 0.47543745E-01 + -0.86728215E-01 0.59861321E-01 0.14234369E+00 0.12710452E-01 + 0.17827239E-01 -0.24680118E+00 -0.86096454E+00 -0.37145871E+00 + -0.49700657E+00 0.13920879E+01 0.93504965E-01 0.44289518E-01 + -0.18447290E+00 0.17054560E-01 0.70487487E+00 -0.10964638E-01 + 0.19685280E+00 -0.18399009E+01 -0.80342031E+00 -0.18387800E+00 + 0.39359801E-01 0.17004316E+00 -0.85180640E-01 -0.19522335E-01 + -0.21377651E+00 -0.14989559E+00 -0.97864687E-01 0.37941441E+00 + -0.63822150E-01 0.14001624E+00 0.39011659E-02 -0.85912704E-01 + 0.60058129E+00 0.10312815E+00 0.23901562E+00 -0.29843277E+00 + 0.10723196E-01 -0.10886109E+00 -0.15636367E+00 -0.39202113E-01 + -0.35129011E-01 0.25636184E+00 0.11735373E+01 0.45907420E+00 + 0.33341324E+00 -0.12187767E+01 -0.59096038E-01 -0.59066504E-01 + 0.20547856E+00 0.14204449E-01 -0.11265888E+01 -0.48129063E-01 + -0.23462927E+00 0.14852360E+01 0.70783454E+00 0.19520158E+00 + 0.13287681E+00 -0.18437938E+00 0.19562475E+00 -0.32194812E-01 + 0.65474990E-02 0.37131533E-02 -0.14261338E-01 -0.12782278E-02 + 0.23382233E-01 0.15923720E-01 0.40608913E-04 0.66276087E-03 + 0.31999871E-03 -0.42041156E-01 -0.23349874E-01 0.11027429E-01 + -0.22927443E-01 -0.20414444E-01 0.19795487E-01 -0.69397581E-02 + 0.38036960E-02 0.65187097E-01 0.50789267E-01 0.12329996E-01 + -0.14014616E-01 0.19207695E-01 0.54233067E-01 0.19744501E-01 + 0.45834291E-02 0.72671254E-02 0.29568108E-01 -0.95958523E-02 + -0.18973611E-01 -0.41401163E-02 0.17457612E-01 -0.15092638E-01 + 0.75680844E-01 -0.13022616E-01 0.67013013E-02 0.77274954E-02 + -0.82368083E-01 -0.58961112E-01 0.20770151E-01 -0.13150994E-02 + -0.13049465E+00 -0.10597039E+00 0.16197849E-01 0.15678909E-01 + -0.72845101E-01 0.12490303E+00 -0.20829695E-02 -0.25820645E-01 + 0.39102308E-01 0.10707958E+00 -0.13309465E+00 0.15458104E-01 + 0.37044149E-02 -0.31673741E-01 -0.62940717E-02 0.84093548E-02 + -0.41974154E-02 -0.33746941E-02 0.80712140E-02 -0.77740918E-02 + 0.31657401E-01 0.36994985E-02 -0.28113980E-01 0.10798969E-01 + -0.56396723E-02 -0.16900623E-02 -0.34986287E-02 0.40706284E-02 + 0.11442028E-01 -0.97587295E-02 0.27690606E-01 0.79382300E-01 + -0.30479809E-01 0.32784846E-01 -0.26296774E-01 -0.10788016E-01 + 0.10917042E-01 0.14642074E-01 0.22470191E-01 0.14176785E-01 + 0.31412635E-01 -0.57086002E-01 0.26893875E-01 0.37701242E-01 + -0.21372926E-02 -0.14738973E-01 0.80593157E-03 -0.38642716E-01 + 0.31024845E-01 0.50734030E-03 -0.64163841E-02 -0.12042396E-01 + 0.22190327E-02 -0.28449390E-03 0.62294267E-02 -0.91660731E-02 + 0.21545026E-02 -0.10553716E-02 0.14355371E-01 0.12396548E-01 + -0.10789398E-01 -0.44431686E-02 -0.94738081E-02 0.47621648E-02 + 0.40972382E-02 0.32042821E-02 -0.99020661E-03 0.49181804E-02 + 0.23562347E-02 0.40638894E-02 0.27082460E-02 -0.65866150E-02 + 0.62013268E-02 0.16731292E-02 0.18732371E-02 -0.48593800E-02 + 0.13873119E-01 -0.13107673E-02 -0.19071303E-01 0.38780412E-03 + 0.61205029E-02 -0.50388803E-02 0.68964978E-03 -0.54935296E-02 + 0.18295188E-02 0.27496719E+01 -0.11850115E-01 0.73418096E-02 + 0.64126849E-02 -0.29800741E-02 0.10921638E-02 0.41902252E-02 + 0.14759843E-02 -0.22041446E-02 -0.51172680E+00 0.35100680E-01 + 0.40524267E-01 0.30474847E-01 -0.65487805E-02 -0.66860467E-02 + -0.82540847E-02 -0.16374506E-01 0.66717863E-02 0.10756884E+01 + 0.95197678E-01 -0.99020541E-01 -0.55270933E-01 0.56841303E-01 + -0.30476358E-01 -0.44919346E-01 0.41535310E-01 0.14882591E-01 + 0.96904373E+00 -0.45030373E+00 -0.81589937E-01 -0.10445018E+00 + 0.13437196E-01 -0.15732039E-01 0.23781396E-01 0.42177215E-01 + -0.97438283E-02 -0.12668189E+01 -0.14799925E-01 0.23314632E+00 + 0.87992251E-01 -0.20218952E+00 0.13027805E+00 0.13615835E+00 + -0.11343503E+00 -0.31153902E-01 -0.63311547E+00 0.41507855E+00 + 0.64436316E-01 0.67502908E-01 0.85417591E-02 0.24351127E-01 + -0.25230845E-01 -0.23825040E-01 0.86125848E-03 0.16201258E+00 + -0.35472833E-01 -0.86220741E-01 -0.37761632E-01 0.15207744E+00 + -0.11216551E+00 -0.97735286E-01 0.73955774E-01 0.15572719E-01 + 0.19004464E-01 -0.27081835E+00 -0.25790614E+00 0.95325932E-02 + -0.15033993E-01 0.27574445E-02 -0.25284474E-02 0.38412481E-02 + 0.23758337E-02 -0.15574142E-01 0.28764451E+00 -0.24723633E+00 + -0.21190658E-01 0.19187480E-01 -0.14577296E-02 -0.13602386E-01 + 0.47102794E-02 0.15887059E-01 0.15916565E-01 -0.13094134E-01 + -0.18341506E+00 -0.20860845E-01 0.39675791E-01 -0.68267514E-02 + -0.66249073E-01 -0.62741712E-02 0.41506059E-01 0.33226565E-01 + 0.21242502E+00 -0.11735040E+00 0.20106250E-01 0.14337775E-01 + 0.52691698E-02 0.18621633E-01 -0.20861311E-02 0.50332192E-01 + -0.32793224E+00 0.81487381E+00 0.84182167E+00 -0.12698559E+00 + 0.33453379E-01 -0.25510749E-01 0.89533150E-01 0.24488732E-01 + -0.31261615E-01 -0.37190884E+00 -0.10941410E+01 0.68853670E+00 + 0.24537718E+00 -0.12240304E+00 -0.18654227E-01 0.40675957E-01 + -0.11932014E+00 -0.14532743E+00 0.39973892E-01 -0.20130175E+00 + 0.98582131E+00 0.46249533E+00 -0.45445198E+00 0.95881104E-01 + 0.30371648E+00 0.18240003E+00 -0.36862892E+00 0.49964005E+00 + -0.55297488E+00 0.81649625E+00 -0.15544049E+00 0.17243408E+00 + -0.80211401E-01 -0.12309635E+00 0.14403760E+00 -0.36307231E+00 + 0.92932731E+00 -0.43920508E+00 0.27505100E+00 0.24573040E+00 + 0.31845253E-02 0.79882316E-01 -0.29909259E+00 -0.48250321E-01 + 0.84246337E-01 0.15329828E+01 0.19085544E+00 -0.40697193E+00 + -0.55546296E+00 0.18732367E+00 0.17146083E-01 0.14358910E-01 + 0.27570713E+00 0.33728591E+00 -0.16367954E+00 0.20679381E+00 + -0.20812733E+01 -0.13375100E+01 0.10512466E+01 -0.18085138E+00 + -0.35574481E+00 -0.50738007E+00 0.78306991E+00 -0.15351161E+01 + 0.11400681E+01 -0.19037580E+01 0.40057015E+00 -0.52411419E+00 + 0.25429851E+00 0.26375527E-01 -0.37648407E+00 0.65987456E+00 + -0.54566383E+00 0.74088335E-01 -0.10294523E+01 -0.16286097E+00 + -0.72648115E-01 -0.86193562E-01 0.27236110E+00 0.20283148E-01 + -0.70224531E-01 -0.12850332E+01 0.83220738E+00 -0.85517101E-01 + 0.36889660E+00 -0.78059793E-01 0.37251141E-01 -0.59753973E-01 + -0.16131186E+00 -0.22452676E+00 0.14172667E+00 0.15790808E+00 + 0.79502696E+00 0.10112371E+01 -0.61172265E+00 0.34335393E-01 + 0.59816532E-01 0.33198726E+00 -0.48746252E+00 0.10491934E+01 + -0.24701853E+00 0.15002278E+01 -0.29250711E+00 0.31989694E+00 + -0.20179863E+00 0.11427307E+00 0.24893668E+00 -0.36306697E+00 + -0.13550291E-01 -0.45300759E-02 0.10528668E-02 0.16152509E-01 + -0.12370551E+00 -0.59309341E-02 0.40165861E-02 0.45750689E-03 + -0.59628938E-02 -0.12362759E-01 -0.79272054E-02 0.50656567E-02 + 0.11978007E+00 0.42122323E-01 0.62554074E-03 -0.15799779E-01 + -0.46376400E-02 0.30326883E-02 0.40974233E-01 0.18386219E+00 + 0.66352725E-01 0.13339929E+00 -0.20539431E+00 0.68436973E-02 + 0.56280047E-02 0.26018701E-01 -0.77441488E-02 0.30746153E-01 + 0.64624667E-01 0.41689612E-02 0.32169455E+00 0.19580454E+00 + 0.16591448E-01 -0.15418101E-01 -0.22828069E-01 0.79204701E-02 + -0.79213560E-01 0.82305610E-01 -0.45376103E-01 -0.24927042E+00 + 0.59723139E-01 0.52313942E-01 -0.31539883E-01 -0.39117865E-01 + 0.51201832E-01 -0.16604351E+00 -0.34118190E-01 -0.95448852E-01 + -0.24441021E-01 -0.38288215E+00 0.89257881E-02 0.12591475E+00 + 0.38770273E-01 0.11474445E-01 -0.95860362E-01 -0.84688097E+00 + -0.15334813E+00 -0.17581968E+00 0.49173307E+00 -0.18058453E-01 + -0.11134416E+00 -0.12453191E+00 0.18030409E-01 0.21763857E+00 + -0.97603619E-01 0.88954568E-01 -0.84687614E+00 -0.32350326E+00 + 0.37710898E-01 0.73295422E-02 0.13443393E+00 -0.16885924E+00 + 0.10223651E+00 -0.29878551E+00 0.48473828E-01 0.14142913E+00 + -0.96604228E-02 -0.75192213E-01 0.95178723E-01 0.81541292E-01 + -0.61776750E-01 0.29203844E+00 -0.17904034E+00 0.66509962E-01 + -0.33817425E-01 0.29854304E+00 -0.61735559E-01 -0.15191221E+00 + -0.53076677E-01 -0.26007967E-01 -0.22676745E-01 0.11153498E+01 + 0.22664391E+00 -0.13381990E-01 -0.44242853E+00 0.69775105E-01 + 0.11397253E+00 0.13336641E+00 -0.25085445E-01 -0.44642001E+00 + 0.18625057E+00 -0.79894550E-02 0.63482380E+00 0.70025563E-01 + -0.66104054E-01 0.85890353E-01 -0.14158374E+00 0.24665558E+00 + -0.29041938E-01 0.10848622E-01 0.89042038E-02 -0.12965817E-01 + -0.79534091E-02 0.20859810E-01 -0.14016237E-01 -0.29190006E-02 + -0.91342581E-03 -0.55187498E-02 -0.40372211E-01 -0.21171888E-01 + 0.10458578E-01 -0.23211658E-01 0.95567405E-02 0.19028159E-01 + -0.29276186E-02 -0.41621844E-02 0.39665487E-01 0.72864115E-01 + 0.10825511E-01 -0.18992426E-01 0.10280471E-01 0.83170950E-01 + 0.42992979E-02 0.93182246E-03 0.22329553E-02 0.22737483E-01 + -0.66707991E-02 -0.27572962E-02 -0.16470216E-01 0.29193014E-02 + -0.60508577E-02 0.88432133E-01 -0.63352734E-02 0.46102959E-02 + 0.47638156E-02 -0.11769390E+00 -0.53772289E-01 0.17596761E-01 + 0.23333792E-03 -0.14802746E+00 -0.58708403E-01 0.86851157E-02 + 0.21828350E-01 -0.43172281E-01 0.11592649E+00 -0.16070418E-02 + -0.11035029E-01 0.17440667E-01 0.57708938E-01 -0.13491404E+00 + -0.18783394E-03 0.19392850E-01 -0.20160461E-01 -0.94742812E-02 + 0.71759154E-02 0.22431758E-03 -0.19019585E-02 0.46471953E-02 + -0.72945277E-02 0.25696179E-01 0.10441859E-01 -0.15380017E-01 + 0.67414865E-02 -0.12804105E-01 0.24585060E-02 -0.51557608E-02 + 0.37254023E-02 0.76002479E-02 -0.13046167E-01 0.20730097E-01 + 0.57154182E-01 -0.87949596E-02 0.30844204E-01 -0.17324708E-01 + -0.67216757E-03 0.66427328E-02 0.19945206E-01 0.24971854E-01 + 0.30873107E-01 0.13570252E-01 -0.68256557E-01 0.30832371E-01 + 0.22241369E-01 -0.16376127E-02 -0.12042128E-01 -0.16067504E-02 + -0.53055108E-01 0.24462871E-01 0.78554563E-02 -0.98696314E-02 + -0.61809979E-02 0.83083138E-02 -0.34189981E-02 0.37059982E-02 + -0.70023984E-02 0.45059733E-02 -0.20708663E-02 0.94396882E-02 + 0.11253029E-01 -0.92065595E-02 0.81361661E-03 -0.75608422E-03 + 0.33125302E-02 0.41626208E-02 0.37212595E-02 0.41885446E-02 + 0.60033691E-02 0.81377737E-02 0.13521595E-02 0.25659313E-02 + -0.80228671E-02 0.31734095E-02 0.90754888E-03 0.38459079E-03 + -0.12874377E-02 -0.29407945E-02 -0.58028959E-02 -0.11697264E-01 + 0.18782511E-02 0.10815330E-01 -0.28420230E-02 0.76707802E-03 + -0.40857978E-02 0.25540702E-02 diff --git a/src/test/resources/nequick/ccir18.asc b/src/test/resources/nequick/ccir18.asc new file mode 100644 index 000000000..6967704f8 --- /dev/null +++ b/src/test/resources/nequick/ccir18.asc @@ -0,0 +1,715 @@ + 0.51813755E+01 -0.10739881E+00 0.18743366E+00 0.31032018E-01 + -0.31483453E-01 0.46369396E-02 -0.17831050E-01 0.25944993E-01 + -0.39442889E-01 0.11673882E-01 0.13706180E-01 0.52697578E-03 + -0.25141253E-02 -0.16610041E+01 -0.63904023E+00 0.52825075E+00 + -0.35923615E+00 0.32526952E+00 0.38260393E-01 0.74715309E-01 + -0.12071173E+00 -0.12027264E+00 -0.22109207E-01 -0.18548496E-02 + 0.25158876E-02 0.43518770E-01 0.11134710E+02 0.21947019E+01 + -0.38336277E+01 0.41743031E+00 0.46625575E+00 -0.36733785E+00 + 0.96669585E+00 -0.55345798E+00 0.46823844E+00 -0.48935539E+00 + -0.64198560E+00 -0.11552799E+00 0.34517925E-01 0.20840197E+02 + 0.53288755E+01 -0.30419121E+01 0.70807419E+01 -0.30199432E+01 + 0.25945337E-01 -0.33274746E+01 0.13975238E+01 0.53362620E+00 + 0.27826804E+00 0.33125121E-01 0.62786597E+00 -0.52923745E+00 + -0.79337799E+02 -0.14883758E+02 0.22834852E+02 -0.51182175E+01 + -0.11177419E+02 0.16302795E+01 -0.79739599E+01 0.32296658E+01 + -0.12089567E+01 0.36283169E+01 0.44965773E+01 0.86827534E+00 + -0.31795710E+00 -0.60320339E+02 -0.19182144E+02 -0.33956969E+01 + -0.32669113E+02 0.17268827E+02 -0.60134012E+00 0.18945450E+02 + -0.86268520E+01 -0.11386642E+01 -0.19328127E+01 0.17548665E+01 + -0.65107784E+01 0.11776743E+01 0.18447604E+03 0.42060059E+02 + -0.56183029E+02 0.14291059E+02 0.41250351E+02 -0.34360695E+01 + 0.21798126E+02 -0.76566505E+01 0.13683518E+01 -0.94252586E+01 + -0.11468616E+02 -0.22709806E+01 0.12029743E+01 0.74724304E+02 + 0.34598541E+02 0.32904587E+02 0.59504913E+02 -0.45993332E+02 + -0.96503568E+00 -0.41161530E+02 0.22533398E+02 0.26252191E+01 + 0.52893238E+01 -0.82092028E+01 0.18131802E+02 -0.36847979E+00 + -0.19413284E+03 -0.49194942E+02 0.61412079E+02 -0.15853178E+02 + -0.53150242E+02 0.39649017E+01 -0.23896530E+02 0.79412017E+01 + -0.10084867E+01 0.10269411E+02 0.12102466E+02 0.25096750E+01 + -0.16858006E+01 -0.42284897E+02 -0.29988327E+02 -0.47852020E+02 + -0.47470261E+02 0.53297443E+02 0.41365795E+01 0.38657391E+02 + -0.24937683E+02 -0.36407509E+01 -0.61866503E+01 0.11591171E+02 + -0.19596479E+02 -0.89709467E+00 0.75968063E+02 0.19798080E+02 + -0.24477797E+02 0.62807322E+01 0.22585159E+02 -0.18408318E+01 + 0.91339483E+01 -0.30013292E+01 0.41616121E+00 -0.40143051E+01 + -0.44904709E+01 -0.10010843E+01 0.77694696E+00 0.95251894E+01 + 0.10003698E+02 0.20788956E+02 0.13931004E+02 -0.21926086E+02 + -0.26575909E+01 -0.13174493E+02 0.97861652E+01 0.17670220E+01 + 0.25980017E+01 -0.51927881E+01 0.73529778E+01 0.56848937E+00 + -0.20119765E+00 0.15843161E+01 0.18475235E+01 -0.47732753E-03 + -0.13149089E+00 -0.13344646E-01 0.26832482E-01 0.30770520E-01 + -0.20653838E-01 0.10311012E-02 0.70003862E-02 -0.62839799E-02 + -0.99203400E-02 0.70720077E-01 -0.16220541E+01 0.15745572E+01 + 0.24463177E-01 0.20518377E+00 0.19001583E-01 0.56619723E-02 + -0.39436929E-02 0.51251244E-01 -0.10332141E-01 0.11076463E-01 + -0.14877490E-01 0.19403500E-01 -0.90413523E+00 0.15951061E+01 + -0.32156926E+00 0.67641193E+00 -0.58352780E+00 0.14265887E+00 + 0.43839272E-01 -0.37467855E+00 0.20368481E+00 0.66211224E-01 + 0.16507995E+00 0.45068014E-01 0.21851064E+00 -0.25522107E+00 + 0.10744390E+01 0.77017993E+00 0.52008659E+00 0.31209916E+00 + 0.15328670E+00 -0.16450721E+00 0.30181509E-01 0.98174214E-01 + -0.20944308E-01 -0.68538666E-01 0.44294231E-01 0.10606259E+00 + 0.43100529E+01 0.10209759E+02 0.10042840E+02 0.17070236E+01 + 0.11407775E+00 0.15409269E+01 -0.69876659E+00 -0.72542685E+00 + 0.74991882E+00 -0.28893924E+00 -0.34130789E-01 0.30699372E+00 + 0.49604353E+00 -0.37056029E+00 -0.13278564E+02 0.55308042E+01 + 0.54367453E+00 -0.10339451E+01 -0.52278471E+00 0.11216927E+01 + -0.80142045E+00 -0.27339017E+00 0.27401740E-01 0.37330829E-02 + 0.88551915E+00 -0.19130906E+00 0.15317790E+02 -0.13764861E+02 + 0.45487280E+01 -0.40844536E+01 0.10961870E+02 -0.27308998E+01 + -0.39546225E+01 0.59212513E+01 -0.20589111E+01 -0.41854754E+00 + -0.23430901E+01 -0.11522579E+01 -0.30893288E+01 0.34036415E+01 + -0.14668044E+02 -0.73346095E+01 -0.88265238E+01 -0.11719309E+02 + -0.30766163E+01 0.42914267E+01 -0.19813080E+01 -0.91186035E+00 + -0.14789381E+01 0.34925079E+00 0.82151622E+00 -0.14842310E+01 + -0.21855593E+02 -0.65027206E+02 -0.30625290E+02 -0.61926727E+01 + -0.35101621E+01 -0.17476912E+02 0.71970272E+00 0.40459499E+01 + -0.35212376E+01 0.19424438E+01 -0.18655061E+01 -0.29581993E+01 + -0.35298369E+01 0.45670977E+01 0.37643356E+02 -0.25258652E+02 + -0.83348713E+01 0.25785332E+01 0.53328462E+01 -0.97375669E+01 + 0.63686442E+01 0.81883103E+00 -0.19984322E+01 -0.17359772E+01 + -0.85691080E+01 0.44630432E+00 -0.83068283E+02 0.81330490E+02 + -0.13745288E+02 -0.39484613E+01 -0.48257339E+02 0.27937880E+02 + 0.28801771E+02 -0.31976974E+02 0.32318888E+01 0.10558329E+01 + 0.14404617E+02 0.91635990E+01 0.14174400E+02 -0.37831268E+02 + 0.88615479E+02 0.85113358E+02 0.45270035E+02 0.76213257E+02 + 0.17117205E+02 -0.29024534E+02 0.17087751E+02 0.68407339E+00 + 0.12642256E+02 0.57222117E-01 -0.97055807E+01 0.69868464E+01 + 0.33955753E+02 0.13318353E+03 -0.21473757E+02 0.25355750E+00 + 0.13797762E+02 0.59645031E+02 0.50354242E+01 -0.86467609E+01 + 0.35548904E+01 -0.50609384E+01 0.10475528E+02 0.11849052E+02 + 0.96025867E+01 -0.88309050E+01 0.25576004E+02 0.12401311E+02 + 0.32052368E+02 -0.87352169E+00 -0.18661942E+02 0.23053528E+02 + -0.18508957E+02 -0.16507330E+01 0.99664297E+01 0.73132496E+01 + 0.25814545E+02 -0.15154305E+01 0.21601781E+03 -0.21782784E+03 + 0.13970534E+02 0.51641006E+02 0.82136398E+02 -0.96018158E+02 + -0.80168457E+02 0.78118790E+02 0.89466515E+01 0.96090555E-01 + -0.40393986E+02 -0.29548920E+02 -0.28057665E+02 0.11636549E+03 + -0.24491013E+03 -0.28724512E+03 -0.10040261E+03 -0.19873131E+03 + -0.43567261E+02 0.75220825E+02 -0.51479691E+02 0.52787189E+01 + -0.37214554E+02 -0.12265168E+01 0.29498688E+02 -0.13845214E+02 + -0.66059847E+01 -0.12299649E+03 0.11331443E+03 0.16227598E+02 + -0.18005980E+02 -0.79721268E+02 -0.89493876E+01 0.85854511E+01 + 0.19708023E+01 0.53805790E+01 -0.17981733E+02 -0.18486025E+02 + -0.10671740E+02 0.65107279E+01 -0.14133873E+03 0.35762985E+02 + -0.47331757E+02 -0.99259748E+01 0.24949982E+02 -0.18619169E+02 + 0.21813093E+02 0.29833364E+01 -0.15825302E+02 -0.94992352E+01 + -0.31681841E+02 0.30539846E+01 -0.26602246E+03 0.25943335E+03 + -0.85672159E+01 -0.89114334E+02 -0.59151917E+02 0.12887793E+03 + 0.96713989E+02 -0.87241043E+02 -0.24014772E+02 -0.39270322E+01 + 0.50494324E+02 0.40384109E+02 0.24323545E+02 -0.12623462E+03 + 0.30866846E+03 0.37077539E+03 0.10442806E+03 0.23109668E+03 + 0.52738194E+02 -0.84341461E+02 0.64608047E+02 -0.10220553E+02 + 0.46504440E+02 0.22121122E+00 -0.34443573E+02 0.11775062E+02 + -0.12208919E+02 0.45470348E+02 -0.71684982E+02 -0.12210123E+02 + 0.75946207E+01 0.36560390E+02 0.36604087E+01 -0.33766203E+01 + -0.28442256E+01 -0.19091835E+01 0.96889944E+01 0.94606447E+01 + 0.40775509E+01 -0.14950647E+01 0.93858490E+02 -0.31066879E+02 + 0.23789322E+02 0.11685203E+02 -0.11222385E+02 0.36598969E+01 + -0.87570095E+01 -0.21024263E+01 0.80605850E+01 0.36843078E+01 + 0.13835385E+02 -0.17752295E+01 0.12323455E+03 -0.11393224E+03 + 0.28638351E+01 0.45115498E+02 0.14615675E+02 -0.59010239E+02 + -0.42132614E+02 0.35980785E+02 0.14087955E+02 0.33986537E+01 + -0.22851334E+02 -0.19381165E+02 -0.74500418E+01 0.42877960E+02 + -0.14127106E+03 -0.16386626E+03 -0.42104137E+02 -0.10067328E+03 + -0.24085190E+02 0.34423309E+02 -0.28762314E+02 0.50822930E+01 + -0.20915604E+02 0.88597655E+00 0.13771997E+02 -0.35257237E+01 + 0.42188969E-01 0.94234288E-01 -0.10187069E-02 -0.95930177E+00 + -0.19991235E+00 0.58659378E-01 0.31168277E-02 -0.84970295E-02 + 0.53929221E-01 -0.65914989E-02 0.57587516E-02 -0.14161857E-01 + 0.11686263E-03 0.43799318E-01 0.11469414E-01 0.45734111E-01 + 0.27424735E+00 -0.63086385E+00 0.69261752E-02 0.10186278E-02 + -0.43821827E-01 0.95467009E-02 -0.14789114E-01 0.76593338E-02 + -0.46657771E-02 0.73617138E-02 0.49559945E+00 0.82897669E+00 + 0.47035185E+00 0.17087352E+00 -0.12786778E+01 0.15497788E-01 + -0.29272187E+00 0.50515067E-01 0.95190823E-01 0.12434429E+00 + 0.34540424E-02 -0.43415301E-01 0.11710781E+00 0.91401219E-01 + 0.34288967E+00 0.77033257E+00 0.19686363E+01 0.12333193E-02 + 0.10140467E+00 0.14774442E+00 -0.73128641E-02 -0.67382753E-01 + -0.95939159E-01 0.81297629E-01 0.10078109E+00 0.75467944E-01 + 0.15210743E+01 0.97265679E+00 -0.11593555E+00 0.81999540E+01 + 0.12909287E+00 -0.11842976E+01 -0.96201408E+00 0.31217158E+00 + -0.70322371E+00 -0.43442760E-01 -0.39182201E+00 -0.10794252E+00 + -0.17477948E-01 0.28209305E+01 0.63783765E+00 0.71414834E+00 + -0.10531855E+01 0.46761045E+01 0.80202073E+00 0.12529793E-01 + 0.56188387E+00 -0.26510638E+00 0.43705708E+00 0.11708755E+00 + -0.95809549E-02 0.27964652E+00 -0.60612841E+01 -0.50309401E+01 + -0.43330374E+01 0.93652096E+01 0.22353723E+01 0.19453353E+00 + 0.13129739E+01 -0.80170625E+00 -0.83791232E+00 -0.26327211E+00 + 0.91290659E+00 0.65617907E+00 -0.94384944E+00 -0.78995574E+00 + -0.36866465E+01 -0.43037767E+01 -0.60018616E+01 0.95902605E+01 + 0.52022409E+00 -0.14935760E+01 -0.27530122E+00 0.18274929E+00 + 0.21199743E+00 -0.55878663E+00 -0.25891751E+00 0.83397608E-03 + -0.13319073E+02 -0.63696752E+01 0.26987331E+01 -0.92368822E+01 + 0.32915812E+01 0.60375071E+01 0.76720295E+01 -0.18980303E+01 + 0.46611795E+01 0.43055257E+00 0.20732813E+01 0.14235934E+01 + 0.31788766E+00 -0.14097286E+02 -0.46897783E+01 -0.82707214E+00 + -0.41121370E+00 0.23824079E+01 -0.26390638E+01 0.35508257E+00 + -0.23547945E+01 0.10697403E+01 -0.21197121E+01 -0.27898788E+01 + 0.12480125E+01 -0.18391017E+01 0.15204086E+02 0.78556142E+01 + 0.88966312E+01 -0.30797499E+02 0.23227119E+01 -0.58457470E+00 + -0.71814251E+00 0.30694103E+01 0.22050867E+01 -0.34793633E+00 + -0.29825599E+01 -0.19286659E+01 0.21556101E+01 0.39697592E+01 + 0.58501611E+01 0.62696490E+01 0.49510412E+01 -0.31089186E+02 + -0.24617634E+01 0.39447885E+01 0.16149386E+01 -0.56727920E-01 + 0.75868088E+00 0.79545927E+00 0.32469195E+00 -0.90026617E-01 + 0.27027119E+02 0.11467044E+02 -0.84330359E+01 -0.24010485E+02 + -0.80087805E+01 -0.12543469E+02 -0.15589192E+02 0.42210331E+01 + -0.10726814E+02 -0.14858341E+01 -0.43507652E+01 -0.34340179E+01 + -0.92487758E+00 0.23143433E+02 0.78808746E+01 -0.27895355E+01 + 0.60927567E+01 -0.40888386E+02 0.94554806E+00 -0.24960203E+01 + 0.34536648E+01 -0.18722476E+01 0.37619505E+01 0.80734539E+01 + -0.44939146E+01 0.28656082E+01 -0.11953168E+02 -0.27238481E+01 + -0.52568321E+01 0.21050123E+02 -0.68679862E+01 0.32113910E+00 + -0.58306432E+00 -0.27074995E+01 -0.17911481E+01 0.77064550E+00 + 0.22215376E+01 0.15297555E+01 -0.14433202E+01 -0.47204428E+01 + -0.10654535E+01 -0.18083953E+01 0.15844555E+01 0.20997585E+02 + 0.19634619E+01 -0.33727376E+01 -0.18170271E+01 -0.17987984E+00 + -0.10957071E+01 -0.20409732E+00 -0.20305946E+00 -0.28999734E+00 + -0.15884968E+02 -0.64883633E+01 0.73605738E+01 0.31496780E+02 + 0.69600091E+01 0.86443911E+01 0.96710367E+01 -0.29579742E+01 + 0.75072079E+01 0.12868270E+01 0.29590073E+01 0.23414221E+01 + 0.84001136E+00 -0.11925213E+02 -0.50585051E+01 0.18607302E+01 + -0.73451662E+01 0.40590576E+02 0.12435255E+01 0.30310061E+01 + -0.15552273E+01 0.12240763E+01 -0.21083281E+01 -0.60944829E+01 + 0.37612360E+01 -0.10206299E+01 0.64615190E-01 0.78795552E-01 + -0.15892947E+00 -0.10464615E+00 0.10353975E+00 -0.41167966E+00 + -0.43749294E+00 0.20638653E-02 0.74383438E-01 -0.43644942E-03 + -0.90350350E-03 -0.19853504E-01 -0.59061539E-02 0.81961565E-01 + -0.21425918E+00 -0.38655452E-01 -0.88595822E-02 -0.14763264E+00 + 0.46912336E+00 -0.45955449E+00 -0.42392030E-01 -0.80482624E-02 + 0.18471882E-01 -0.14141251E-01 0.55350475E-02 0.16753860E-01 + -0.24682517E+00 0.65146202E+00 -0.45703116E+00 -0.23654190E+00 + -0.30039293E+00 -0.82151890E-01 -0.20593224E+00 -0.13945433E-01 + 0.16855288E+00 0.32676265E-01 0.80637813E-01 -0.79479456E-01 + -0.61515283E-01 -0.29577321E+00 -0.25834906E+00 0.53513635E-01 + 0.29484289E-01 -0.17856270E+00 0.19976068E+00 0.16096137E+00 + -0.13107131E+00 -0.10473931E+00 -0.19589694E-01 0.30329492E-01 + 0.64674318E-01 -0.38300399E-01 -0.60273290E+00 -0.20669489E+00 + 0.82746643E+00 0.46272588E+00 -0.10339415E+00 0.15778166E+00 + -0.30000043E+00 -0.28547913E+00 0.21799397E-01 -0.91843426E-01 + -0.55076401E-02 0.13837787E-01 -0.14949030E+00 -0.13389988E+01 + 0.26402633E+01 -0.13628587E+01 -0.36753692E-01 0.15853024E+01 + 0.13760418E+00 0.79008830E+00 -0.23089468E+00 0.14146332E+00 + -0.11153023E+00 0.23030403E+00 -0.12568080E+00 -0.15787458E+00 + -0.16602457E+00 -0.13449450E+01 0.96737874E+00 0.40215722E+00 + 0.72849154E+00 0.41462141E+00 0.71418375E+00 0.10896404E+00 + -0.35342360E+00 -0.11979085E+00 -0.10750520E+00 0.23451696E+00 + 0.13568753E+00 0.14382593E-01 0.82095027E+00 -0.72794139E-01 + -0.23630472E+00 0.75462168E+00 -0.65143400E+00 0.49917016E-01 + 0.24157877E+00 0.31928110E+00 -0.23850445E-01 -0.63626945E-01 + -0.70730507E-01 0.35635930E-01 0.16258487E+01 0.63477248E+00 + -0.11753283E+01 -0.52329248E+00 0.51585090E+00 0.42656636E+00 + 0.12154760E+01 0.54212022E+00 -0.33579049E+00 0.13298015E+00 + -0.58626544E-01 -0.93792498E-01 0.21695586E+00 0.19641676E+01 + -0.34773588E+01 0.24826536E+01 -0.47208840E+00 -0.22139664E+01 + -0.79506546E+00 -0.24327517E+00 0.67086709E+00 -0.30561268E-01 + 0.17824250E+00 -0.29080105E+00 0.13225448E+00 0.22371998E+00 + 0.78067660E-01 -0.53872090E-01 -0.60876328E-01 -0.20090356E-01 + 0.19590056E-01 0.37616719E-01 -0.21996697E-01 0.30491668E+00 + -0.21350857E-01 0.73222150E-02 0.10664702E-01 -0.17186703E-01 + -0.79840198E-02 0.54252598E-01 -0.42442694E-01 0.41468628E-01 + 0.11270583E-01 -0.79623401E-01 -0.27057892E-01 0.20517234E-01 + 0.19652477E-01 0.27900285E+00 0.76455665E-02 -0.26138765E-02 + 0.26082585E-02 -0.48174490E-02 0.37738152E-01 0.49505942E-01 + 0.45610685E-01 -0.40265694E-01 -0.23026168E+00 -0.11767191E+00 + -0.47708195E-01 0.25821841E+00 0.16750067E+00 -0.34544688E-01 + -0.48518632E-01 0.20903071E-01 0.94813965E-02 0.18504436E+00 + 0.13707680E+00 -0.76823056E-01 0.73215067E-01 0.25763607E+00 + -0.57229970E-01 -0.43995190E-01 -0.27386624E+00 0.97568214E-01 + 0.11287920E-01 -0.45958821E-01 -0.17281853E-01 -0.18543912E-01 + -0.10852474E+00 -0.31554475E-01 -0.29181829E-01 -0.35038237E-01 + -0.30168425E-01 0.12917518E-01 0.94219148E-02 0.38543739E-02 + -0.17429788E-01 0.97568274E-01 0.17038137E+00 -0.22542167E-02 + -0.68581281E-02 -0.16812028E-01 0.67123890E-01 -0.14856837E-01 + 0.52298281E-01 -0.10310155E+00 -0.40235251E-01 -0.89705512E-02 + 0.38926873E-01 -0.10838484E-02 -0.16985072E+00 0.76311469E-01 + 0.69150594E-02 -0.63182632E-02 -0.48873704E-01 -0.22341227E-01 + 0.31494450E-01 -0.74725710E-02 -0.32325108E-01 0.47166054E-02 + 0.15750036E-01 0.19931331E-01 0.61885417E-02 -0.89711547E-02 + -0.22252218E-02 -0.13308422E+00 0.20251691E-01 -0.45145787E-02 + 0.35775512E-01 -0.10440513E-01 0.63793063E-01 0.43009203E-01 + -0.34634177E-01 -0.14203521E-01 0.64703189E-02 -0.13139684E-01 + -0.32075319E-01 -0.19045236E-01 -0.12680903E-01 -0.13717169E+00 + 0.29166546E-02 0.11035413E-01 0.24293682E-01 0.25893958E-01 + -0.13120286E-02 -0.17062493E-01 -0.69651455E-02 0.15115199E-01 + -0.12452926E-01 -0.28048914E-01 -0.81404559E-02 0.14331407E-01 + 0.12644854E-01 0.24846906E-01 -0.53721447E-01 0.16348705E-01 + 0.18280597E-01 -0.24520377E-01 -0.36987716E-02 0.18260546E-01 + -0.72437376E-02 0.14151404E-01 -0.22939686E-01 0.24036893E-02 + 0.15635625E-01 0.12054205E-01 0.11425201E-01 0.64702690E-01 + -0.10536325E+00 0.15012829E-01 -0.28842267E-01 0.11042486E-01 + 0.13311167E-01 -0.21481493E-02 0.73922765E-02 -0.16001925E-01 + 0.10468613E-01 -0.66283117E-02 -0.15343137E-02 -0.30380553E-01 + -0.51950179E-02 -0.93821883E-02 0.29672762E-01 0.30377176E-01 + 0.16042329E-01 -0.11458546E-01 -0.95287338E-02 0.13136099E-01 + 0.89334697E-02 -0.17647017E-01 -0.20479793E-02 0.17140292E-01 + 0.84415445E+01 0.26355565E-01 0.16610388E+00 0.69635034E-01 + 0.77834213E-02 -0.25760174E-01 -0.21441121E-01 0.21861905E-01 + -0.43986645E-01 0.11674736E-01 0.56952271E-02 0.28399110E-01 + -0.13653144E-01 -0.68217134E+00 -0.62160009E+00 0.28212482E+00 + -0.24901919E+00 0.21900196E+00 0.24887720E-01 0.72718799E-01 + -0.13336080E+00 -0.78881800E-01 0.14562243E+00 0.74521363E-01 + -0.27514609E-01 0.10257621E+00 0.17437777E+02 0.79321623E+00 + -0.35100784E+01 0.84811635E-01 0.70552409E-01 0.47351521E+00 + 0.83660275E+00 -0.47608501E+00 0.52839464E+00 -0.69492757E-02 + -0.20629799E+00 -0.32985032E+00 0.31779462E+00 -0.81596584E+01 + 0.80805292E+01 0.59097290E+01 0.42979136E+01 -0.42025328E+01 + -0.14056301E+01 -0.12244358E+01 0.21699388E+01 0.52206904E+00 + -0.24186172E+01 -0.21609974E+01 0.93807650E+00 -0.84871125E+00 + -0.89978989E+02 -0.97939730E+01 0.20942673E+02 -0.55313463E+01 + -0.76858730E+01 -0.21651819E+00 -0.45114717E+01 0.38345079E+01 + -0.16243830E+01 -0.89623278E+00 0.11692477E+01 0.93201983E+00 + -0.17749968E+01 0.10546337E+03 -0.44166641E+02 -0.43876999E+02 + -0.16669218E+02 0.34683044E+02 0.49835873E+01 0.66487484E+01 + -0.12427213E+02 -0.19051714E+01 0.11908665E+02 0.12564395E+02 + -0.36486397E+01 0.21449242E+01 0.13710805E+03 0.36479843E+02 + -0.52778606E+02 0.21492037E+02 0.30154282E+02 -0.53919773E+01 + 0.90821171E+01 -0.11428968E+02 0.14775457E+01 0.36835520E+01 + -0.33135941E+01 -0.38186175E+00 0.41576309E+01 -0.28806177E+03 + 0.10074990E+03 0.97997742E+02 0.22048018E+02 -0.10003944E+03 + -0.56709032E+01 -0.15209171E+02 0.29163038E+02 0.34512577E+01 + -0.24924685E+02 -0.28658508E+02 0.41394587E+01 -0.29731121E+01 + -0.92897736E+02 -0.49600414E+02 0.61100555E+02 -0.29214355E+02 + -0.39369938E+02 0.10823677E+02 -0.76445942E+01 0.13982789E+02 + 0.32520753E+00 -0.46346092E+01 0.43214626E+01 -0.86068255E+00 + -0.42901001E+01 0.30256931E+03 -0.99049271E+02 -0.91175781E+02 + -0.90334120E+01 0.11542466E+03 0.17341843E+01 0.15239948E+02 + -0.29818981E+02 -0.28255908E+01 0.23323517E+02 0.28412249E+02 + -0.63854128E+00 0.26830738E+01 0.24605698E+02 0.22045197E+02 + -0.26002684E+02 0.13213135E+02 0.16756653E+02 -0.57091603E+01 + 0.22745018E+01 -0.59658084E+01 -0.66697085E+00 0.18124435E+01 + -0.19950207E+01 0.59119934E+00 0.16144733E+01 -0.11073075E+03 + 0.35112747E+02 0.30812073E+02 -0.38981721E+00 -0.46086624E+02 + 0.31463283E+00 -0.55018597E+01 0.11076973E+02 0.82669550E+00 + -0.80218763E+01 -0.10252826E+02 -0.76681519E+00 -0.11369582E+01 + -0.24553838E+00 0.17193546E+01 0.16381207E+01 0.33417907E-01 + -0.87884717E-01 -0.44835400E-01 0.15925823E-02 0.49698550E-01 + -0.38588453E-01 -0.72526671E-02 0.15999505E-01 0.17281707E-01 + -0.23321385E-01 0.24167126E+00 -0.16023282E+01 0.16606359E+01 + -0.45682009E-01 0.11704248E+00 -0.18465981E-01 0.11106690E-01 + -0.60868156E-02 0.61217647E-01 -0.20567151E-01 0.24912482E-01 + -0.28536350E-01 0.29306823E-01 -0.10224924E+01 0.14925385E+01 + -0.19260072E+01 0.61678416E+00 0.13985469E-01 0.10479474E+00 + -0.49587525E-02 -0.18433392E+00 0.11050397E+00 0.21527071E+00 + 0.22213718E+00 0.34993716E-01 0.57391059E-01 0.10419741E+01 + 0.66445446E+00 0.14948959E+01 0.38029805E-01 0.27230132E+00 + 0.42719603E+00 -0.11771202E+00 0.30687600E+00 0.19784188E+00 + 0.22538269E+00 0.75966723E-01 0.23985883E-01 0.45384716E-01 + 0.53208241E+01 0.75190625E+01 -0.22172489E+01 -0.12778753E+00 + 0.56682128E-01 0.18827895E+01 0.72104901E+00 -0.80092144E+00 + 0.77964389E+00 -0.24134894E+00 -0.46352601E+00 0.28311205E+00 + 0.10742378E+01 -0.41045361E+01 0.57498436E+01 0.83945713E+01 + 0.23423395E+01 -0.14150887E+01 -0.54918945E+00 -0.10221730E+01 + 0.26822233E+00 -0.12929888E+01 0.97145742E+00 -0.42177844E+00 + 0.68537557E+00 -0.58753097E+00 0.14998869E+02 -0.16657776E+02 + 0.37549648E+02 -0.95424938E+01 -0.54443727E+01 -0.14911755E+01 + 0.17992316E+01 0.51960621E+01 0.45644292E+00 -0.39563313E+01 + -0.49043798E+01 0.12105608E+00 0.70748419E+00 -0.60123096E+01 + 0.27362640E+01 -0.13724413E+02 0.12894964E+01 -0.14900352E+02 + -0.52518587E+01 0.34944668E+01 -0.55088911E+01 -0.13576546E+01 + -0.56548223E+01 -0.14211197E+01 -0.34091592E+00 0.21933842E+00 + -0.29305420E+02 0.13374522E+02 0.44242214E+02 0.50953374E+01 + 0.65631723E+01 -0.14111627E+02 -0.65622888E+01 0.39515305E+01 + -0.34545364E+01 -0.12505513E+00 0.29348438E+01 -0.32276695E+01 + -0.90113602E+01 0.43037155E+02 -0.89085815E+02 0.11644013E+02 + -0.24075850E+02 0.19164948E+02 0.77643185E+01 0.86020861E+01 + -0.46943693E+01 0.93667440E+01 -0.74655390E+01 0.14679497E+01 + -0.47342939E+01 0.18102797E+01 -0.85623062E+02 0.92817032E+02 + -0.23375591E+03 0.44671661E+02 0.45343353E+02 0.83043785E+01 + -0.13587066E+02 -0.29296478E+02 -0.10942898E+02 0.20286390E+02 + 0.29787081E+02 -0.44528884E+00 -0.79419894E+01 -0.14370024E+02 + -0.23429794E+02 0.72968765E+02 -0.15687455E+02 0.10109999E+03 + 0.26097258E+02 -0.26932781E+02 0.35635757E+02 -0.34211284E+00 + 0.35934021E+02 0.61775665E+01 0.22777040E+01 -0.23924465E+01 + 0.57428692E+02 -0.17855730E+03 -0.15708559E+03 -0.22408585E+02 + -0.40592300E+02 0.40333130E+02 0.14209915E+02 -0.89817619E+01 + 0.57742748E+01 0.57205849E+01 -0.63581610E+01 0.10133679E+02 + 0.26636444E+02 -0.14794978E+03 0.30004443E+03 -0.19929816E+03 + 0.84621689E+02 -0.69814255E+02 -0.29103546E+02 -0.25958649E+02 + 0.20315399E+02 -0.28830307E+02 0.23460480E+02 -0.31325626E+01 + 0.13810138E+02 -0.21702385E+01 0.23797343E+03 -0.23116394E+03 + 0.57393115E+03 -0.83598206E+02 -0.12368262E+03 -0.19707596E+02 + 0.34384033E+02 0.70111160E+02 0.39034546E+02 -0.41825333E+02 + -0.75330429E+02 -0.22089806E+01 0.25101608E+02 0.10284250E+03 + 0.69117165E+02 -0.15603967E+03 0.39777985E+02 -0.25606177E+03 + -0.60250473E+02 0.77766205E+02 -0.99222702E+02 0.16326080E+02 + -0.91901978E+02 -0.83012600E+01 -0.85460234E+01 0.51328115E+01 + -0.39939331E+02 0.31202097E+03 0.21929730E+03 0.33807739E+02 + 0.73635208E+02 -0.49816437E+02 -0.86225977E+01 0.10290630E+02 + -0.33790236E+01 -0.12311238E+02 0.48300257E+01 -0.12229669E+02 + -0.32109085E+02 0.20875217E+03 -0.39679617E+03 0.38521729E+03 + -0.12168415E+03 0.91634491E+02 0.41888866E+02 0.34228809E+02 + -0.33702576E+02 0.39293411E+02 -0.32169022E+02 0.41854286E+01 + -0.18185410E+02 0.11737413E+01 -0.29656149E+03 0.26091187E+03 + -0.63637988E+03 0.62630615E+02 0.13731348E+03 0.20191544E+02 + -0.35748489E+02 -0.76228577E+02 -0.50450878E+02 0.36267136E+02 + 0.83756058E+02 0.57476339E+01 -0.32509537E+02 -0.15768517E+03 + -0.66360428E+02 0.12792125E+03 -0.30300962E+02 0.27846167E+03 + 0.64009613E+02 -0.94658722E+02 0.12312605E+03 -0.32563568E+02 + 0.10454442E+03 0.17428436E+01 0.15118476E+02 -0.33578806E+01 + 0.47491131E+01 -0.15489162E+03 -0.10394128E+03 -0.16034286E+02 + -0.40621124E+02 0.22269806E+02 -0.31044567E+00 -0.47275257E+01 + 0.55015851E-01 0.71959567E+01 -0.86488312E+00 0.50432906E+01 + 0.13676483E+02 -0.10171487E+03 0.18161351E+03 -0.21165050E+03 + 0.60878799E+02 -0.37977203E+02 -0.20529877E+02 -0.16520399E+02 + 0.18732544E+02 -0.19229507E+02 0.15826123E+02 -0.22000673E+01 + 0.87317457E+01 -0.31610501E+00 0.13370317E+03 -0.11240936E+03 + 0.26245117E+03 -0.15337643E+02 -0.54398441E+02 -0.74560556E+01 + 0.13048157E+02 0.30778091E+02 0.21956057E+02 -0.10538048E+02 + -0.33810028E+02 -0.32820206E+01 0.14922836E+02 0.75884064E+02 + 0.17452682E+02 -0.31479095E+02 0.36800354E+01 -0.11180383E+03 + -0.25325594E+02 0.41215775E+02 -0.55677883E+02 0.18475765E+02 + -0.44003677E+02 0.18647232E+01 -0.90560856E+01 0.22126120E+00 + 0.59121013E-01 -0.38882449E-01 0.10154724E+00 -0.99066651E+00 + 0.50862730E+00 0.37865343E-02 -0.13369664E-01 -0.14525890E-01 + 0.73863156E-02 -0.30057948E-01 0.92732534E-02 -0.24269309E-01 + 0.67565669E-02 -0.24163933E-01 -0.20808218E+00 0.18645235E-02 + -0.51261657E+00 -0.78584695E+00 -0.29707689E-01 -0.29643602E-02 + -0.43101724E-01 0.92033185E-02 -0.20032544E-01 0.12454584E-01 + -0.10859430E-01 0.14212402E-01 -0.20849438E+00 0.50730854E+00 + 0.54870909E+00 0.17681437E+01 -0.10749121E+01 0.42078009E+00 + -0.26223654E+00 0.33963424E+00 0.82626760E-01 0.92897773E-01 + -0.60189378E-01 -0.76034248E-01 0.18571980E-01 0.42013159E+00 + 0.22726026E+00 0.90818739E+00 0.16409397E+01 0.20787294E+01 + 0.16166554E+00 0.25318128E+00 0.91371487E-03 -0.12026191E+00 + 0.11957009E-01 -0.17968930E-01 0.20824528E+00 0.10581684E+00 + 0.18979920E+01 0.71559250E-01 0.89219481E+00 -0.64803618E+00 + 0.19108591E+01 0.61305545E-01 -0.76099986E+00 0.66523035E-02 + 0.38209528E+00 -0.37404040E+00 -0.24693862E-01 -0.15020820E-01 + -0.21455880E+00 0.42901478E+01 0.27137222E+01 0.18731354E+01 + -0.25761659E+01 -0.37876692E-01 0.42818055E+00 -0.39081347E+00 + 0.64281893E+00 0.43348353E-01 0.28045839E+00 -0.51489580E-01 + 0.33649015E+00 0.13021857E+00 0.61204880E+00 -0.18564699E+01 + -0.39929545E+01 0.96122265E-01 0.16075821E+01 -0.39626312E+01 + 0.11777745E+01 -0.33050480E+01 -0.11639585E+01 -0.89641190E+00 + 0.77148658E+00 0.10184776E+01 0.13489574E+00 -0.77427745E+01 + -0.11954880E+01 -0.10486696E+02 -0.58320413E+01 -0.18617257E+01 + 0.74399310E+00 -0.28453026E+01 -0.58667111E+00 0.11166002E+01 + -0.77045226E+00 0.64419031E+00 -0.96420515E+00 -0.97287250E+00 + -0.14225009E+02 0.82643967E+01 -0.12470506E+02 0.23383013E+02 + -0.65144606E+01 0.16238860E+01 0.87209654E+01 0.49000901E+00 + -0.16810759E+01 0.40386553E+01 -0.54124254E+00 0.10109008E+00 + 0.19018240E+01 -0.21727478E+02 -0.96902895E+01 -0.16478348E+02 + 0.13098321E+02 0.13914477E+02 -0.20104990E+01 0.37096815E+01 + -0.27436788E+01 -0.43885440E-01 -0.13556918E+01 0.84448802E+00 + -0.14343556E+01 -0.20107963E+01 -0.89594126E+00 0.10083542E+01 + 0.83134680E+01 -0.92639046E+01 0.61116381E+01 0.10380750E+02 + -0.26651859E+01 0.87228279E+01 0.38335390E+01 0.22555151E+01 + -0.13236303E+01 -0.31068850E+01 -0.87246406E+00 0.23570585E+02 + -0.42556524E+01 0.28354004E+02 0.33738232E+01 -0.40777321E+01 + -0.38387177E+01 0.82230272E+01 0.30383513E+01 -0.22789021E+01 + 0.26750422E+01 -0.16830760E+01 0.11110401E+01 0.25620413E+01 + 0.29727598E+02 -0.24605181E+02 0.28340712E+02 -0.59987549E+02 + -0.22684789E+00 -0.73963881E+01 -0.18819960E+02 -0.99585783E+00 + 0.24640312E+01 -0.93489466E+01 0.17905922E+01 0.29973716E+00 + -0.48281689E+01 0.32501541E+02 0.18787916E+02 0.36723724E+02 + -0.15535309E+02 -0.37230057E+02 0.20521288E+01 -0.89159498E+01 + 0.26074266E+01 -0.13309879E+01 0.20207710E+01 -0.26565914E+01 + 0.20663900E+01 0.51164732E+01 -0.40171736E+00 0.11958818E+01 + -0.70398545E+01 0.46672316E+01 -0.12406042E+02 -0.77181606E+01 + 0.25220160E+01 -0.60711083E+01 -0.32043295E+01 -0.13135966E+01 + 0.27531666E+00 0.25722663E+01 0.94680882E+00 -0.20347057E+02 + 0.94924231E+01 -0.21017029E+02 0.51578903E+01 0.91074467E-01 + 0.31714413E+01 -0.65355902E+01 -0.32284212E+01 0.13073930E+01 + -0.20606012E+01 0.10267878E+01 -0.13762021E+00 -0.18398627E+01 + -0.18292114E+02 0.18030378E+02 -0.15053248E+02 0.42048477E+02 + 0.93764210E+01 0.66455445E+01 0.11065763E+02 0.21237044E+00 + -0.12657824E+01 0.58830404E+01 -0.11597252E+01 -0.38042432E+00 + 0.34563768E+01 -0.12867410E+02 -0.16812653E+02 -0.25532944E+02 + 0.17166662E+01 0.26918318E+02 -0.10111469E+00 0.59210205E+01 + 0.11573965E+00 0.15903759E+01 -0.98362416E+00 0.20214052E+01 + -0.12598085E+01 -0.36495936E+01 0.28310280E-01 0.48973434E-01 + -0.48619840E-01 -0.72511435E-01 0.58058463E-02 -0.57069099E+00 + -0.71659225E+00 -0.18692103E-02 0.42772561E-01 -0.31100756E-01 + 0.13589856E-01 -0.41641407E-01 -0.74718855E-02 -0.28761314E-01 + -0.29289359E+00 -0.91049314E-01 0.28099608E-01 -0.29132953E-01 + 0.69334489E+00 -0.55960542E+00 -0.21222346E-01 0.24635846E-01 + 0.21211594E-01 -0.15531605E-02 0.26932615E-02 0.16090751E-01 + 0.20954397E+00 0.73779237E+00 -0.42621493E+00 -0.23507123E+00 + -0.37294063E+00 0.17519321E+00 0.57431798E-01 -0.47046978E-01 + 0.15076197E-01 -0.54287310E-02 0.58389843E-01 -0.86825848E-01 + -0.17713912E-01 -0.23256958E+00 -0.20628646E+00 0.74116595E-01 + 0.43207303E-01 -0.11664170E+00 -0.47020309E-01 0.75928099E-01 + -0.98211229E-01 0.93043054E-03 0.55244021E-01 -0.46837240E-01 + -0.95012747E-02 -0.13064935E-01 0.87182951E+00 0.98459274E-02 + 0.13477668E+01 0.84805556E-01 -0.90552866E-01 0.11711704E+01 + 0.11748554E+01 -0.12035686E+00 0.12323439E+00 0.49199241E+00 + -0.20814493E+00 0.27044243E+00 -0.61024815E-01 -0.74558854E-01 + 0.37783556E+01 -0.26144075E+00 0.38623143E-01 0.53248072E+00 + -0.10437832E+01 0.90481395E+00 -0.44594193E+00 -0.40208292E+00 + -0.60124952E-01 -0.48902173E-01 -0.11441463E+00 -0.19880746E+00 + -0.13543634E+01 -0.10415508E+01 0.12016993E+01 0.31708425E+00 + 0.61210239E+00 0.58425146E+00 0.41064873E+00 0.33918124E+00 + 0.11345341E-01 0.93263805E-01 -0.17820966E+00 0.18072976E+00 + 0.96731901E-01 0.32778770E+00 0.61795223E+00 0.38936529E-01 + -0.50377148E+00 0.31532276E+00 -0.38423324E+00 0.74498862E+00 + 0.17342278E+00 0.20069090E+00 -0.13456015E+00 0.16104507E+00 + 0.72342455E-01 0.79420209E-01 -0.31249225E+00 0.92828918E+00 + -0.26748800E+01 0.70246696E-01 0.58934122E+00 -0.16105404E+01 + -0.14977303E+01 -0.18931707E-01 -0.31899458E+00 -0.82864493E+00 + 0.36326492E+00 -0.42674008E+00 -0.46573725E-01 0.81409037E-01 + -0.52734642E+01 0.76651889E+00 -0.32308716E+00 -0.10347863E+01 + 0.13800039E+01 -0.11256924E+01 0.89915174E+00 0.71173912E+00 + 0.48457179E-01 0.25199080E+00 0.14797407E+00 0.20402832E+00 + 0.24246462E-01 0.33298828E-01 -0.51717691E-01 -0.14058649E-01 + 0.17725911E-01 -0.72037079E-03 -0.37894547E-02 0.30802149E+00 + -0.16611564E+00 -0.17199373E-01 0.13114574E-01 -0.76011159E-02 + -0.20986781E-01 0.43441541E-01 0.33683836E-01 -0.34691116E-02 + 0.59443176E-01 -0.51950086E-01 0.14247886E-01 -0.17108586E-01 + 0.14792424E+00 0.28507859E+00 0.35790652E-02 0.32111527E-02 + 0.13911074E-02 -0.73967534E-02 -0.19056962E+00 -0.73565207E-02 + -0.24821372E+00 0.15964326E-01 -0.97779870E-01 -0.89113951E-01 + 0.58998287E-01 0.14977662E+00 0.37016943E+00 -0.46572644E-01 + -0.31782843E-01 -0.32574493E-02 0.12899465E-01 0.37356037E+00 + 0.15084849E+00 -0.12477553E+00 0.29166045E-01 0.21163246E+00 + -0.11922066E+00 -0.11764957E+00 -0.38922527E+00 0.26210438E-01 + 0.71545690E-02 -0.61420333E-01 -0.20083403E-01 -0.11609334E-01 + -0.15726326E+00 0.20085620E-01 -0.33992976E-01 -0.16686320E-01 + -0.15578195E-01 -0.89996755E-02 0.52281570E-01 0.24140202E-01 + -0.13938871E-01 0.15512536E+00 0.19358248E+00 0.49229488E-02 + -0.39371625E-02 0.14834774E+00 0.25739465E-01 -0.83402753E-01 + 0.18065710E-01 -0.55616297E-01 -0.52165310E-02 -0.17087545E-01 + 0.21788113E-01 0.38194988E-01 -0.19343592E+00 0.16540504E+00 + -0.46783765E-02 -0.27857190E-01 0.57891987E-01 -0.67955375E-01 + 0.42646248E-01 0.22683810E-01 0.79109445E-02 0.28160235E-01 + -0.27141113E-01 0.41366830E-01 -0.74150306E-02 0.70931390E-02 + -0.23410007E-01 -0.12303041E+00 0.72064400E-01 0.10394366E+00 + 0.57514329E-01 -0.21865280E-01 0.21552902E-02 0.56937981E-01 + -0.20307321E-02 0.91909728E-03 -0.14761716E-01 0.11957444E-01 + -0.14504174E-01 -0.67575313E-02 -0.97156227E-01 -0.12803578E+00 + -0.39362207E-01 -0.32046013E-01 -0.55135116E-02 0.48773900E-01 + 0.35422139E-01 -0.15434347E-01 -0.21533076E-01 0.26582325E-01 + -0.12274753E-01 -0.12937960E-01 -0.11175703E-01 0.53416751E-02 + 0.67404471E-02 0.73514342E-01 -0.38842116E-01 0.64909101E-01 + 0.56321882E-02 -0.52885335E-01 0.41649379E-01 -0.11770998E-02 + -0.26402391E-01 0.25709884E-01 -0.13926197E-02 0.27511721E-01 + 0.84407143E-02 0.18437805E-01 0.43839954E-01 0.51004350E-01 + -0.11362994E+00 -0.25646823E-01 -0.38826078E-01 -0.55158506E-02 + 0.62045269E-02 -0.30429460E-01 0.18208280E-01 -0.11582434E-01 + 0.17949350E-01 -0.15534251E-01 0.51459926E-03 -0.43065984E-01 + 0.55039488E-02 0.27189229E-02 0.13957473E-01 0.87091923E-01 + 0.10603104E-01 0.77987829E-03 -0.24959501E-02 0.29643334E-01 + 0.11370152E-01 -0.18617269E-01 -0.15555474E-01 0.15270163E-01 + 0.30766916E+01 -0.92550144E-02 0.13718505E-01 0.25895585E-02 + 0.33574877E-03 0.78745298E-02 0.86438507E-02 -0.60896240E-02 + -0.74246735E-03 -0.50321388E+00 0.22363435E-01 0.60551178E-01 + 0.54579627E-01 -0.33105437E-01 -0.27306169E-01 -0.16869431E-01 + -0.11755095E-01 0.34014808E-02 0.10928850E+01 0.24034417E+00 + -0.11382687E+00 -0.20328370E+00 -0.24367245E-01 -0.92177808E-01 + -0.59212130E-01 0.92386246E-01 0.51138066E-02 0.11338215E+01 + -0.36324251E+00 -0.20184083E+00 -0.19428016E+00 0.12432438E+00 + 0.92264712E-01 0.44125549E-01 0.36674649E-01 0.35087096E-02 + -0.19719752E+01 -0.64643306E+00 0.26046556E+00 0.49098557E+00 + 0.92803188E-01 0.28286201E+00 0.15693867E+00 -0.19568926E+00 + -0.20824329E-02 -0.74346590E+00 0.34690487E+00 0.19643436E+00 + 0.14222167E+00 -0.96713357E-01 -0.67438841E-01 -0.23977172E-01 + -0.20441961E-01 -0.10335058E-01 0.92457843E+00 0.46374899E+00 + -0.11210352E+00 -0.29201841E+00 -0.79533815E-01 -0.21276262E+00 + -0.10755366E+00 0.10385716E+00 -0.11526104E-02 0.57956646E-03 + -0.12857878E+00 -0.37720931E+00 0.71668397E-02 -0.15985873E-01 + 0.35551095E-02 -0.34057419E-03 0.14429940E-04 0.77074170E-02 + 0.16609099E-01 0.39636007E+00 -0.11226578E+00 -0.17938472E-01 + 0.14924302E-01 -0.20589654E-02 -0.79512075E-02 0.89895213E-04 + 0.10084794E-01 -0.84668092E-01 0.76170862E-01 0.11493010E+00 + 0.58139656E-01 -0.90520024E-01 -0.49981792E-01 -0.52669298E-01 + 0.67823976E-02 0.27890798E-01 0.11318666E+00 -0.73709130E-01 + 0.20983377E-01 -0.12963883E-01 0.24992185E-01 -0.32588849E-02 + 0.19097015E-02 0.37765734E-01 0.79129219E-01 0.79023778E-01 + 0.42699623E+00 0.21301763E+01 -0.24369004E+00 -0.14716792E+00 + -0.96097715E-01 -0.25467388E-01 0.65074682E-01 -0.70087485E-01 + -0.67493325E+00 -0.20482521E+01 0.44933867E+00 0.34022969E+00 + -0.98558962E-01 0.39792754E-01 0.53783190E-01 -0.29130094E-03 + -0.84323883E-01 0.10565310E+01 -0.90792561E+00 -0.15945406E+01 + 0.52398432E-01 0.60421151E+00 0.41048068E+00 -0.23732610E-01 + 0.20138574E+00 -0.27786821E+00 -0.57795197E-01 0.20736561E+01 + -0.39351201E+00 0.12668329E+00 0.84951341E-01 0.28178252E-01 + -0.23711748E-01 -0.16345517E+00 -0.57944143E+00 -0.20411162E+00 + -0.13376069E+00 -0.29449091E+01 0.41258937E+00 0.56290030E+00 + 0.31165558E+00 0.20544071E+00 -0.21796124E+00 0.47752850E-01 + 0.20179319E+01 0.24129703E+01 -0.70617998E+00 -0.83160406E+00 + 0.22868299E+00 -0.11227274E+00 -0.42454861E-01 -0.91994762E-01 + 0.24011090E+00 -0.28024795E+01 0.13774414E+01 0.36972826E+01 + -0.59003937E+00 -0.13606595E+01 -0.84793621E+00 0.57913697E+00 + -0.74747223E+00 0.55327827E+00 -0.22295162E+00 -0.52054844E+01 + 0.60161120E+00 -0.30097675E+00 -0.41190425E+00 -0.10745585E+00 + -0.66798508E-01 0.33825681E+00 0.10680361E+01 0.27225357E+00 + -0.13481599E+00 0.12781667E+01 -0.17782263E+00 -0.43654695E+00 + -0.28031033E+00 -0.21654990E+00 0.18418586E+00 0.50952472E-01 + -0.13763980E+01 -0.62647808E+00 0.42017716E+00 0.53561598E+00 + -0.22507682E+00 0.83096325E-01 -0.32817584E-01 0.12693737E+00 + -0.21098840E+00 0.21004000E+01 -0.19308668E+00 -0.28420036E+01 + 0.45582685E+00 0.97629905E+00 0.47537670E+00 -0.57095110E+00 + 0.58855778E+00 -0.29641420E+00 0.67884624E-01 0.40048332E+01 + -0.36370400E-01 0.15666211E+00 0.35521013E+00 0.11299831E+00 + 0.86527765E-01 -0.22095659E+00 -0.55126411E+00 -0.88387989E-02 + -0.10312353E-01 -0.61113387E-02 -0.20343255E-01 -0.15003508E+00 + -0.10647349E-01 -0.78879832E-03 0.66963257E-03 -0.76038609E-02 + 0.41395649E-02 -0.34112085E-02 0.10996495E-01 0.17316753E+00 + -0.10291021E-01 -0.73754783E-02 -0.14292508E-01 -0.21934167E-02 + 0.18509438E-02 0.63759446E-01 0.23891982E+00 0.63553929E-01 + 0.18635046E+00 -0.57529557E+00 0.23344532E-01 -0.40877603E-01 + 0.17844955E-01 -0.39308965E-01 -0.51171143E-01 0.10197276E+00 + 0.71252692E-02 0.72727478E+00 0.15855432E+00 0.49558837E-01 + -0.45434017E-01 -0.18780006E-01 0.50435401E-02 0.15530049E-01 + 0.14170408E+00 -0.61096840E-01 -0.37090287E-01 -0.10134679E+00 + 0.43753274E-01 0.16147133E-01 0.11646986E-01 0.15542092E-01 + -0.36590865E+00 -0.32496876E-02 -0.23358014E+00 -0.45408837E-01 + -0.12131417E+00 0.92704952E-01 0.10798854E+00 -0.10122200E-01 + 0.33092615E-03 -0.40528268E+00 -0.12369299E+01 -0.24165794E-01 + -0.74351090E+00 0.17940989E+01 -0.18066382E+00 0.10244833E+00 + -0.25582045E-01 0.19211511E+00 0.76301038E+00 -0.20792606E+00 + 0.27201289E+00 -0.23394878E+01 -0.62358558E+00 -0.24235266E+00 + 0.63761294E-01 0.15015984E+00 -0.11706613E+00 -0.10061765E+00 + -0.37011161E+00 0.14104468E+00 -0.26392072E-01 0.25978976E+00 + 0.53946935E-02 0.15027907E-01 -0.45017201E-01 0.68766950E-03 + 0.53705126E+00 -0.14921010E+00 0.35961419E+00 -0.32242209E-01 + 0.42051267E-01 -0.12954605E+00 -0.89045286E-01 0.19702056E-04 + -0.23211282E-01 0.49777216E+00 0.15834332E+01 0.39794613E-01 + 0.63238031E+00 -0.15466079E+01 0.28480631E+00 -0.73767781E-01 + 0.22335306E-01 -0.21944924E+00 -0.12544603E+01 0.71595192E-01 + -0.24489100E+00 0.20173311E+01 0.51294672E+00 0.28983241E+00 + 0.99735081E-01 -0.18368554E+00 0.18341649E+00 -0.42410571E-01 + -0.52171270E-02 0.19085893E-02 -0.95514059E-02 0.75655170E-02 + 0.16171316E-01 0.16939322E-01 0.22008177E-02 -0.19602049E-02 + -0.60261190E-02 -0.52024607E-01 -0.89434832E-02 0.10327846E-01 + -0.25033876E-01 -0.14511694E-01 0.23334133E-01 -0.61932355E-02 + 0.28024367E-02 0.82942426E-01 0.45942049E-01 0.93686730E-02 + -0.41635599E-01 0.30467380E-01 0.41355919E-01 0.26757888E-01 + 0.10544644E-01 0.57960451E-02 0.58556039E-01 -0.45138933E-02 + -0.20666830E-01 -0.21553094E-01 0.11791925E-01 -0.26258837E-01 + 0.53928334E-01 -0.11998914E-01 0.21382071E-01 0.77182353E-01 + -0.48827209E-01 -0.91188729E-01 0.14237205E-01 -0.10213550E-01 + -0.94213605E-01 -0.15220273E+00 -0.12513259E-02 0.21464365E-01 + -0.15465500E-01 0.13954590E+00 -0.39753947E-01 -0.45017153E-01 + 0.57116091E-01 0.15541756E+00 -0.12666643E+00 0.11608531E-01 + 0.80760084E-02 -0.41384090E-01 -0.10227786E-01 0.80588758E-02 + -0.46442333E-02 -0.21833975E-02 0.53496994E-02 -0.68548243E-02 + 0.41308586E-01 0.59219897E-02 -0.27170405E-01 0.62266621E-02 + -0.46112244E-02 -0.12002573E-01 0.16872867E-02 0.85898452E-02 + 0.16054401E-01 -0.50134766E-02 0.41393559E-01 0.69590509E-01 + -0.37438667E-02 0.20416288E-01 -0.48384883E-01 -0.18482737E-01 + -0.26152562E-03 0.12390666E-01 0.16554862E-01 0.15767444E-01 + 0.27102105E-01 -0.50822388E-01 0.19041892E-01 0.45237873E-01 + -0.61440282E-02 -0.86206980E-02 -0.41923299E-02 -0.37406992E-01 + 0.99841170E-02 -0.49510780E-02 -0.68882145E-02 -0.39861612E-02 + -0.19369667E-02 -0.11413927E-02 0.49859658E-02 -0.92119947E-02 + 0.47657965E-03 0.34508735E-03 0.18523850E-01 0.17887402E-01 + -0.11042764E-01 -0.10345280E-01 -0.11657287E-01 0.51686913E-02 + 0.27109303E-02 0.35306653E-02 0.11049249E-02 0.36995022E-02 + 0.33790921E-02 0.36772601E-02 -0.24134079E-02 -0.38045824E-02 + 0.39723818E-02 0.10341555E-02 0.54815672E-02 -0.16316446E-02 + 0.22392916E-01 0.57393680E-02 -0.18493542E-01 0.23872718E-03 + 0.48304014E-02 -0.32244367E-03 0.17225274E-02 -0.32498676E-02 + -0.64918445E-03 0.27327433E+01 -0.15785564E-01 0.97018033E-02 + 0.48172288E-02 -0.28546432E-02 0.45274906E-02 0.34621272E-02 + -0.15102918E-02 -0.27329123E-02 -0.25903660E+00 0.55780225E-01 + 0.65728307E-01 0.32537010E-01 -0.25246155E-01 -0.58772457E-02 + -0.21703180E-01 -0.43969005E-02 -0.69272378E-03 0.11714926E+01 + 0.16338734E+00 -0.89373529E-01 -0.10332001E+00 0.13328507E-01 + -0.56765247E-01 -0.25298422E-01 0.44980548E-01 0.17588578E-01 + 0.33108097E+00 -0.49494019E+00 -0.18589836E+00 -0.10610254E+00 + 0.78505099E-01 -0.88712946E-02 0.33990052E-01 0.10129430E-01 + 0.43824990E-02 -0.17302924E+01 -0.27473360E+00 0.17417508E+00 + 0.22498930E+00 -0.11839692E-01 0.17832267E+00 0.89640021E-01 + -0.92783153E-01 -0.12903627E-01 -0.15330756E+00 0.43055135E+00 + 0.16011506E+00 0.73783815E-01 -0.51124744E-01 0.16581137E-01 + -0.11291336E-01 -0.22684636E-02 -0.43424219E-02 0.63714796E+00 + 0.18350784E+00 -0.42438373E-01 -0.12726229E+00 -0.10468658E-01 + -0.13165224E+00 -0.66993177E-01 0.44999924E-01 -0.64978413E-02 + 0.79358928E-02 -0.29707021E+00 -0.28992319E+00 0.80166198E-02 + -0.15802495E-01 -0.19063943E-02 0.49845497E-02 0.27219276E-03 + 0.67873560E-02 0.62516495E-03 0.32199055E+00 -0.27686161E+00 + -0.15336920E-01 0.17286170E-01 0.12508899E-02 -0.14910121E-01 + 0.12231509E-02 0.14304347E-01 0.16834082E-01 0.10278946E+00 + -0.63203812E-01 0.10091762E-01 -0.13688601E-01 -0.95551871E-02 + -0.36618941E-01 -0.14316995E-01 0.35773888E-01 0.76245837E-01 + 0.77808857E-01 -0.12024794E-01 0.12149658E-01 0.17534770E-01 + 0.12295833E-02 -0.60971715E-02 0.14225281E-01 0.82393341E-01 + -0.15534864E+00 0.80440158E+00 0.12503366E+01 -0.12217535E+00 + -0.85220754E-01 -0.29276054E-01 -0.48868369E-01 0.28717836E-01 + -0.10331118E+00 -0.52347875E+00 -0.13314190E+01 0.89782566E+00 + 0.28488898E+00 -0.12012095E+00 -0.21137984E-01 0.12435998E+00 + -0.14031794E-01 -0.16417257E+00 0.76694369E-01 -0.93182552E+00 + 0.25457191E+00 0.19702049E+00 0.48383988E-01 0.41341368E-01 + -0.14367602E-01 0.36359435E+00 -0.25973445E+00 0.16930664E+00 + 0.43561879E+00 0.67502439E-01 -0.75919390E-01 -0.20566436E-01 + 0.45070466E-01 0.74356914E-01 -0.47366299E-01 -0.56628042E+00 + 0.58145106E+00 -0.34549737E+00 -0.13091030E+01 0.17559958E+00 + 0.43319136E+00 0.16244149E+00 0.20602816E+00 -0.41776557E-01 + 0.30710989E+00 0.17932119E+01 0.97565877E+00 -0.11525728E+01 + -0.74104398E+00 0.24997143E+00 0.52191269E-01 -0.24265368E+00 + -0.61648171E-01 0.39528716E+00 -0.39080113E+00 0.15962687E+01 + -0.17618662E+00 -0.74545741E+00 -0.20102000E+00 -0.15913906E-01 + 0.36910927E+00 -0.10008821E+01 0.41477209E+00 -0.10000010E+01 + -0.15626554E+01 -0.33813745E+00 0.20472082E+00 0.47138080E-01 + -0.14620388E+00 -0.33509135E+00 0.74930072E-01 0.10780277E+01 + -0.40786567E+00 0.21695097E-02 0.61571985E+00 -0.87222397E-01 + -0.40252179E+00 -0.18569058E+00 -0.16891396E+00 0.19968780E-01 + -0.22394384E+00 -0.13754948E+01 -0.63793473E-02 0.60612941E+00 + 0.53394854E+00 -0.20959119E+00 -0.59920955E-01 0.10459417E+00 + 0.97062886E-01 -0.27976453E+00 0.39142889E+00 -0.65925485E+00 + -0.55752856E+00 0.61146140E+00 0.21277002E+00 -0.66732585E-01 + -0.38353372E+00 0.67082864E+00 -0.16077600E+00 0.87837434E+00 + 0.18233117E+01 0.43625030E+00 -0.18887997E+00 -0.19754048E-01 + 0.14874178E+00 0.31835014E+00 -0.25374442E-01 -0.59807527E+00 + -0.35858254E-02 -0.18426420E-01 0.11940398E-01 0.35249285E-01 + -0.11406702E+00 -0.12094729E-01 0.12369561E-02 0.28486019E-02 + -0.41241129E-02 -0.44571534E-02 -0.12385954E-01 0.10621492E-01 + 0.11439824E+00 0.52063726E-01 -0.31545041E-02 -0.91192275E-02 + -0.23166044E-02 0.18062956E-02 0.77467859E-01 0.19298267E+00 + 0.57610348E-02 0.17876282E+00 -0.28498143E+00 0.33583447E-01 + -0.21250667E-02 0.40939935E-02 -0.17955484E-01 0.18605867E-01 + 0.88920891E-01 -0.16398907E-01 0.37881327E+00 0.19283798E+00 + 0.35964753E-01 -0.57503371E-03 -0.16725548E-01 0.14335945E-01 + -0.39326932E-01 0.15444148E+00 -0.13056348E+00 -0.27956468E+00 + 0.53259443E-01 0.70716918E-01 0.21401592E-01 -0.33642218E-01 + 0.21223648E-01 -0.20482560E+00 0.36653720E-01 -0.11544806E+00 + -0.96398294E-01 -0.40236861E+00 0.14114499E-01 0.74856639E-01 + 0.13251967E-01 0.58944188E-02 -0.22919863E+00 -0.93992049E+00 + 0.22374582E+00 -0.53515434E+00 0.77677137E+00 -0.16614509E+00 + -0.86691082E-01 0.29328510E-01 0.12252356E+00 0.30133855E+00 + -0.19458070E+00 0.14997202E+00 -0.10709429E+01 -0.48711556E+00 + -0.11093742E+00 -0.55874564E-01 0.11211872E+00 -0.14200687E+00 + 0.17139060E-01 -0.40209785E+00 0.19722579E+00 0.75891197E-01 + -0.96643448E-01 -0.82315326E-01 -0.36470420E-02 0.47883753E-01 + -0.17165303E-01 0.32197589E+00 -0.29618835E+00 0.99401414E-01 + 0.21706820E+00 0.22001293E+00 -0.53230438E-01 -0.68153203E-01 + -0.20923685E-01 -0.37169997E-01 0.10419929E+00 0.12077618E+01 + -0.25412041E+00 0.44525284E+00 -0.71311611E+00 0.24982084E+00 + 0.11983402E+00 -0.38160983E-01 -0.16348416E+00 -0.60997331E+00 + 0.27142984E+00 -0.35729647E-01 0.90510237E+00 0.34794796E+00 + 0.13886356E+00 0.16090357E+00 -0.10832493E+00 0.19660074E+00 + -0.28633848E-01 -0.51487330E-03 0.12486504E-01 -0.59260279E-02 + -0.30928615E-02 0.16670745E-01 -0.18133428E-01 0.13137638E-02 + -0.29191643E-02 -0.73401630E-02 -0.43932945E-01 -0.60264282E-02 + 0.11825814E-01 -0.20122046E-01 0.13404753E-01 0.25719736E-01 + -0.27513450E-02 -0.39640404E-02 0.54108251E-01 0.62069219E-01 + 0.32028570E-02 -0.30705711E-01 0.21409197E-01 0.68470776E-01 + 0.18883284E-01 0.12196347E-02 -0.59491466E-03 0.44463776E-01 + 0.15322218E-02 -0.11973176E-01 -0.23743760E-01 0.23724630E-02 + -0.18886376E-01 0.65881431E-01 -0.61001857E-02 0.12625721E-01 + 0.42619128E-01 -0.87218344E-01 -0.71985722E-01 0.61123888E-02 + -0.80230422E-02 -0.94753437E-01 -0.10718405E+00 0.44617010E-03 + 0.18477120E-01 -0.49196184E-02 0.10727090E+00 -0.36542349E-01 + -0.19530226E-01 0.29819096E-01 0.11121346E+00 -0.11566353E+00 + -0.12570543E-02 0.71676597E-02 -0.28708642E-01 -0.12917657E-01 + 0.10160699E-01 -0.15056654E-02 -0.51682293E-02 0.13105694E-02 + -0.69624786E-02 0.31344190E-01 0.13837169E-01 -0.15254788E-01 + 0.17759034E-02 -0.10812398E-01 -0.43772645E-02 -0.18710295E-02 + 0.43233000E-02 0.13123616E-01 -0.15094436E-01 0.28170317E-01 + 0.47917828E-01 0.23561509E-02 0.78526512E-02 -0.31751979E-01 + -0.63430369E-02 -0.38912457E-02 0.14013789E-01 0.21223187E-01 + 0.36825228E-01 0.24586665E-01 -0.54429136E-01 0.31562783E-01 + 0.22680202E-01 0.70566143E-03 -0.58405809E-02 -0.98891780E-02 + -0.44559009E-01 0.10059297E-01 0.96068269E-03 -0.11706587E-01 + 0.22053521E-02 0.32256655E-02 -0.55763088E-02 0.31189672E-02 + -0.83871558E-02 0.37916497E-03 0.65405341E-03 0.91339238E-02 + 0.15419393E-01 -0.98529011E-02 -0.21402466E-02 -0.34411531E-02 + 0.44119065E-02 0.64586918E-02 0.16170661E-02 0.65146009E-02 + 0.20680721E-02 0.92757791E-02 0.41878447E-02 0.99740503E-03 + -0.10964576E-01 0.11091142E-03 0.14305850E-02 0.14857617E-02 + 0.76322770E-03 0.71551842E-02 -0.16748263E-02 -0.11113630E-01 + 0.20171816E-02 0.70238672E-02 0.14452585E-02 0.47303335E-03 + -0.38445608E-02 0.29371865E-02 diff --git a/src/test/resources/nequick/ccir19.asc b/src/test/resources/nequick/ccir19.asc new file mode 100644 index 000000000..540a0968e --- /dev/null +++ b/src/test/resources/nequick/ccir19.asc @@ -0,0 +1,715 @@ + 0.60445700E+01 -0.13494895E+00 0.96523464E-01 0.30800909E-01 + -0.25691688E-02 -0.24381360E-01 -0.20869752E-01 0.36958501E-01 + -0.24559850E-01 0.99607930E-02 0.18155643E-02 0.16870747E-04 + -0.14172104E-01 -0.72683138E+00 -0.18670642E+00 0.51046336E+00 + -0.36924455E+00 -0.19951838E+00 -0.26578629E+00 0.36712724E+00 + -0.13204169E+00 -0.27474659E-02 0.22398602E-01 -0.15810436E+00 + 0.48819307E-01 0.84509552E-01 0.13992860E+02 0.23779745E+01 + -0.22226193E+01 0.20291128E+01 0.90447307E+00 0.73813629E+00 + 0.10136299E+01 -0.49498463E+00 0.72660750E+00 -0.77001888E+00 + -0.32229847E+00 0.19383496E+00 0.34973943E+00 0.33502454E+00 + -0.41584196E+01 -0.30603712E+01 0.73569474E+01 0.64584503E+01 + 0.61389766E+01 -0.67864490E+01 0.15375271E+01 0.11104469E+01 + 0.45180345E+00 0.31834459E+01 -0.39800107E+00 -0.16252373E+01 + -0.98461945E+02 -0.11804737E+02 0.13932344E+02 -0.21968887E+02 + -0.18346832E+02 -0.64648104E+01 -0.44017801E+01 0.21018791E+01 + -0.50670681E+01 0.55518351E+01 0.14706392E+01 -0.12416878E+01 + -0.32495728E+01 0.24509443E+02 0.18994965E+02 -0.48482723E+01 + -0.31010712E+02 -0.24011597E+02 -0.33442169E+02 0.34668289E+02 + -0.85968704E+01 -0.92274466E+01 -0.22783222E+01 -0.16358900E+02 + 0.99501222E+00 0.78107009E+01 0.21546280E+03 0.30437609E+02 + -0.30536013E+02 0.66628876E+02 0.65871796E+02 0.18404388E+02 + 0.62645350E+01 -0.42978354E+01 0.12689313E+02 -0.13794364E+02 + -0.23129454E+01 0.28023376E+01 0.10037551E+02 -0.63695545E+02 + -0.22283279E+02 0.36996841E+02 0.50817822E+02 0.28390303E+02 + 0.72428009E+02 -0.71910110E+02 0.21617935E+02 0.24796766E+02 + 0.37806883E+01 0.33501648E+02 -0.13203068E+01 -0.16414627E+02 + -0.21614816E+03 -0.35832672E+02 0.27470688E+02 -0.79447617E+02 + -0.83696152E+02 -0.21164886E+02 -0.25409181E+01 0.43153009E+01 + -0.12989494E+02 0.14197570E+02 0.14302778E+01 -0.27501326E+01 + -0.12051161E+02 0.50732529E+02 0.19075851E+01 -0.50831146E+02 + -0.35323669E+02 -0.81260338E+01 -0.68726379E+02 0.65579132E+02 + -0.23836716E+02 -0.26761427E+02 -0.26312618E+01 -0.30050356E+02 + 0.11140528E+01 0.15877547E+02 0.83067856E+02 0.14992575E+02 + -0.86386423E+01 0.32848267E+02 0.35260712E+02 0.85520496E+01 + -0.31619912E+00 -0.16816272E+01 0.46327848E+01 -0.52116375E+01 + -0.27778077E+00 0.10079775E+01 0.49246531E+01 -0.10440205E+02 + 0.58246613E+01 0.21354172E+02 0.85120945E+01 -0.24493570E+01 + 0.23852112E+02 -0.21972410E+02 0.94112196E+01 0.10090175E+02 + 0.65944129E+00 0.98899641E+01 -0.44724035E+00 -0.57489357E+01 + -0.63381076E-01 0.20475082E+01 0.15625849E+01 -0.13729403E-01 + -0.65938771E-01 -0.35532121E-01 -0.29464888E-02 0.79189181E-01 + 0.18604731E-02 0.96583366E-02 0.30324936E-01 0.14240874E-02 + -0.19405017E-01 -0.23046063E-01 -0.14310178E+01 0.19285048E+01 + -0.16601916E-01 0.18041895E+00 -0.12310948E-01 -0.66375315E-01 + 0.31838238E-01 -0.65732598E-02 -0.13759873E-01 0.18407121E-01 + -0.24185097E-01 0.10961996E-01 -0.74787438E-01 0.16353492E+01 + -0.22924948E+00 0.47504836E+00 -0.96047318E+00 -0.33705956E+00 + 0.11720681E+00 -0.35202015E-01 0.46376839E+00 -0.10265652E-01 + -0.14193831E+00 0.55663772E-02 0.19628496E+00 -0.12596107E+00 + 0.14582261E+01 -0.98657072E-01 0.94749093E-01 0.78419155E+00 + -0.29752415E-01 -0.19540650E+00 0.36470249E+00 0.27288210E+00 + 0.13509393E+00 -0.56428377E-01 -0.11677993E+00 -0.53491343E-01 + 0.19545887E+01 0.11435436E+02 0.84868221E+01 0.32103235E+00 + 0.12959203E+01 0.88761163E+00 0.49820131E+00 -0.11861238E+01 + -0.71958065E-01 -0.25178081E+00 -0.12668628E+01 -0.35598647E-01 + 0.32306075E+00 -0.32294741E+01 -0.95716190E+01 0.12515850E+02 + 0.23365383E+01 0.91575384E-01 -0.88255310E+00 0.17265298E+01 + -0.47084528E+00 0.12570562E+01 0.15405373E+00 0.85922658E+00 + 0.83317697E+00 -0.39139023E+00 0.11067982E+01 -0.20162720E+02 + 0.14454756E+02 -0.86500740E+01 0.16342590E+02 0.64312344E+01 + -0.42658453E+01 -0.13463537E+00 -0.77128181E+01 0.24014206E+01 + 0.39491775E+01 0.46762186E+00 -0.34915750E+01 0.46240864E+01 + -0.27222715E+02 0.80155439E+01 -0.32276535E+01 -0.17326429E+02 + 0.45502672E+01 0.41100817E+01 -0.76522074E+01 -0.50376496E+01 + -0.25007751E+01 0.33137119E+00 0.32376509E+01 0.32104582E+00 + 0.24788015E+01 -0.65718430E+02 0.30561617E+02 0.72700047E+01 + -0.19604416E+02 -0.72012882E+01 -0.44401312E+01 0.93486271E+01 + 0.33760920E+01 0.81467509E-01 0.93344440E+01 0.74155289E+00 + -0.13300085E+01 0.34563675E+02 -0.28905012E+02 -0.76245712E+02 + -0.21742229E+02 -0.73547707E+01 0.10644204E+02 -0.10774131E+02 + 0.45778418E+01 -0.11885622E+02 -0.60007954E+00 -0.11258646E+02 + -0.67847223E+01 0.38254919E+01 -0.19042892E+02 0.11207795E+03 + -0.28545286E+02 0.46980576E+02 -0.61684093E+02 -0.24524796E+02 + 0.27351974E+02 0.67426038E+01 0.44498322E+02 -0.20013245E+02 + -0.25409014E+02 -0.27430830E+01 0.19376114E+02 -0.52723099E+02 + 0.99575500E+02 -0.13353540E+02 0.95136633E+01 0.99035034E+02 + -0.30965118E+02 -0.18852001E+02 0.40043259E+02 0.25284653E+02 + 0.14075030E+02 0.11309586E+01 -0.20960068E+02 -0.15822057E+01 + -0.48169983E+02 0.94947174E+02 -0.23541678E+03 -0.43397125E+02 + 0.64458710E+02 0.22686691E+02 0.10289152E+02 -0.30886669E+02 + -0.14552165E+02 0.30687969E+01 -0.24410383E+02 -0.24599552E+01 + 0.13256645E+01 -0.10717303E+03 0.22662590E+03 0.13886284E+03 + 0.76127411E+02 0.35750031E+02 -0.36212978E+02 0.21812927E+02 + -0.18747753E+02 0.38481537E+02 0.29832237E+01 0.37119461E+02 + 0.18805193E+02 -0.13755705E+02 0.97456589E+02 -0.27367041E+03 + -0.62144733E+02 -0.11783699E+03 0.86211746E+02 0.28845259E+02 + -0.65351257E+02 -0.25876450E+02 -0.10882458E+03 0.56715374E+02 + 0.64410553E+02 0.43075619E+01 -0.45408981E+02 0.15016524E+03 + -0.12772849E+03 -0.25741730E+02 -0.16592797E+01 -0.24547108E+03 + 0.70262955E+02 0.35663345E+02 -0.83696960E+02 -0.53332432E+02 + -0.35324783E+02 -0.94713173E+01 0.54111389E+02 0.49722624E+01 + 0.10506150E+03 -0.35246887E+02 0.37882617E+03 0.76265472E+02 + -0.77831039E+02 -0.30161863E+02 -0.64913306E+01 0.43002579E+02 + 0.21760742E+02 -0.60918570E+01 0.27057968E+02 0.25830402E+01 + 0.15233258E+01 0.13615527E+03 -0.35940283E+03 -0.10190283E+03 + -0.10915963E+03 -0.63814041E+02 0.46641556E+02 -0.12899117E+02 + 0.29911604E+02 -0.51161175E+02 -0.58345957E+01 -0.46785751E+02 + -0.20363264E+02 0.19093105E+02 -0.17207224E+03 0.30198877E+03 + 0.17715981E+03 0.13847585E+03 -0.45248795E+02 -0.24912090E+01 + 0.66965683E+02 0.35798889E+02 0.11744838E+03 -0.66378021E+02 + -0.71170654E+02 -0.11229162E+01 0.46958755E+02 -0.15008179E+03 + 0.48165192E+02 0.66421722E+02 -0.11201523E+02 0.28107004E+03 + -0.61901669E+02 -0.33674408E+02 0.75491989E+02 0.52029312E+02 + 0.41378735E+02 0.16554777E+02 -0.61346947E+02 -0.63890009E+01 + -0.64716995E+02 -0.60834203E+01 -0.18212560E+03 -0.42207047E+02 + 0.31869566E+02 0.14135929E+02 -0.47822112E+00 -0.21003967E+02 + -0.10799577E+02 0.31178305E+01 -0.10885386E+02 -0.69965744E+00 + -0.20979681E+01 -0.62125347E+02 0.17012572E+03 0.26723661E+02 + 0.53963669E+02 0.37830791E+02 -0.20305941E+02 -0.10621082E+01 + -0.15930131E+02 0.23917707E+02 0.34242952E+01 0.20282822E+02 + 0.73727045E+01 -0.88406191E+01 0.97107452E+02 -0.12479256E+03 + -0.10509424E+03 -0.61543755E+02 0.48847437E+01 -0.85133734E+01 + -0.24883604E+02 -0.16887283E+02 -0.46089828E+02 0.27499296E+02 + 0.28551268E+02 -0.10849848E+01 -0.17723862E+02 0.46780487E+02 + 0.82450275E+01 -0.36148041E+02 0.53822308E+01 -0.12206295E+03 + 0.17168350E+02 0.13732117E+02 -0.24196625E+02 -0.19565018E+02 + -0.18214310E+02 -0.86782455E+01 0.25485151E+02 0.25449457E+01 + 0.95903993E-01 0.12766165E+00 -0.18699700E+00 -0.10404549E+01 + -0.33024654E-01 0.64295411E-01 -0.23013584E-01 -0.10285795E-01 + 0.37326079E-01 0.31895940E-02 0.30733403E-01 -0.10633793E-01 + 0.97853728E-02 0.52426517E-01 -0.93061030E-02 -0.71888275E-01 + 0.19813688E+00 -0.72505486E+00 -0.19345095E-02 -0.19068211E-01 + -0.36769819E-01 0.53982814E-02 -0.14521896E-01 0.23320388E-01 + -0.12640823E-02 0.60315430E-02 0.46948260E+00 0.12817411E+01 + 0.52438563E+00 0.58714247E+00 -0.23273043E+00 0.46726218E+00 + -0.28142130E+00 0.50233088E-01 -0.11847414E+00 -0.78054011E-01 + -0.36326803E-01 -0.14682148E+00 0.96850991E-01 0.68315560E+00 + 0.54635304E+00 0.54994017E+00 0.64071083E+00 0.38787287E+00 + 0.12569439E+00 0.33838964E+00 -0.25519842E+00 -0.18448704E+00 + -0.18360078E+00 -0.28392774E+00 0.12267494E+00 0.58491528E-01 + 0.66295367E+00 -0.11465979E+01 0.44839840E+01 0.63690023E+01 + -0.21015062E+01 -0.15754128E+01 0.21561062E+00 0.82991850E+00 + -0.24949774E+00 0.12380320E+00 -0.32161883E+00 -0.23786858E+00 + -0.31155008E+00 0.14305439E+01 0.57962006E+00 0.32569950E+01 + -0.28792398E+01 0.34138975E+01 -0.71248829E+00 -0.62034968E-01 + 0.14145755E+01 0.23729172E-01 -0.19871330E+00 -0.66435295E+00 + 0.17309126E-01 0.12985046E-02 -0.47963362E+01 -0.89218206E+01 + -0.36218777E+01 0.90268250E+01 -0.87401474E+00 -0.29467754E+01 + 0.10264589E+01 -0.11269217E+01 0.13553838E+01 0.10891485E+01 + 0.17733831E+01 0.15696553E+01 -0.47471681E+00 -0.50660024E+01 + -0.33092890E+01 -0.32716265E+01 -0.14229898E+01 0.11620011E+02 + 0.96331590E+00 -0.26582203E+01 0.10442992E+01 0.50223678E+00 + 0.14703425E+01 0.40092282E+01 -0.53163886E+00 -0.32783002E+00 + -0.91051664E+01 0.17604078E+02 -0.22866287E+02 -0.28144233E+01 + 0.20614244E+02 0.94886522E+01 -0.77871478E+00 -0.35348945E+01 + 0.17768612E+01 -0.16262702E+01 -0.12231374E+00 0.21009274E+01 + 0.29576998E+01 -0.74458671E+01 0.18080215E+01 -0.13265326E+02 + 0.81773024E+01 0.70696673E+01 0.32722299E+01 0.41111069E+01 + -0.59407215E+01 -0.56068146E+00 0.22052250E+01 0.37547357E+01 + -0.12558270E+01 0.11403294E+01 0.10656019E+02 0.17880112E+02 + 0.63293300E+01 -0.30708923E+02 0.19644452E+01 0.56080647E+01 + -0.20938635E+01 0.40487795E+01 -0.39456050E+01 -0.30156832E+01 + -0.52191610E+01 -0.42830524E+01 0.71889979E+00 0.10659559E+02 + 0.14922246E+01 0.54132767E+01 0.28934114E+01 -0.37208481E+02 + -0.38359439E+01 0.57908916E+01 -0.21831959E+00 0.91132575E+00 + -0.33404293E+01 -0.10999827E+02 0.95123529E-01 0.62245464E+00 + 0.21184174E+02 -0.49009293E+02 0.41135651E+02 -0.23144958E+02 + -0.44450760E+02 -0.21969938E+02 0.31099708E+01 0.57433109E+01 + -0.42183104E+01 0.41270494E+01 0.23304348E+01 -0.47546291E+01 + -0.74363670E+01 0.14705821E+02 -0.11686627E+02 0.15904524E+02 + -0.11272637E+02 -0.37194717E+02 -0.40984344E+01 -0.12301611E+02 + 0.77951894E+01 0.56480533E+00 -0.55646248E+01 -0.60771260E+01 + 0.43992534E+01 -0.39650047E+01 -0.80576115E+01 -0.10058566E+02 + -0.42752752E+01 0.22247023E+02 -0.14401999E+01 -0.33199692E+01 + 0.17421427E+01 -0.34508293E+01 0.32978039E+01 0.24247875E+01 + 0.38595333E+01 0.32630546E+01 -0.44972673E+00 -0.69929419E+01 + 0.46824846E+01 -0.20134745E+01 -0.25459473E+01 0.26119642E+02 + 0.29910045E+01 -0.36391466E+01 -0.93128592E+00 -0.17195292E+01 + 0.21541710E+01 0.83281469E+01 0.72017050E+00 -0.27138811E+00 + -0.15138538E+02 0.36185287E+02 -0.22484390E+02 0.22932755E+02 + 0.28119078E+02 0.15488615E+02 -0.30330801E+01 -0.34491425E+01 + 0.28721266E+01 -0.30168858E+01 -0.23003569E+01 0.31897192E+01 + 0.54570017E+01 -0.10177624E+02 0.91815348E+01 -0.54682875E+01 + 0.65655260E+01 0.30150757E+02 0.12102585E+01 0.89690657E+01 + -0.31353061E+01 0.28226668E+00 0.41323023E+01 0.27218046E+01 + -0.37113197E+01 0.31892059E+01 -0.56241829E-01 0.73317051E-01 + -0.23292308E+00 -0.61917245E-01 0.11740327E+00 -0.28218538E+00 + -0.69195360E+00 0.36205132E-01 0.38509481E-01 0.25892841E-01 + 0.39562065E-01 -0.88990778E-02 -0.71549118E-02 0.10465759E+00 + -0.25458544E+00 -0.65254390E-01 0.92262961E-02 -0.97085357E-01 + 0.68069774E+00 -0.31799847E+00 -0.16797254E-01 0.35726082E-01 + 0.86577646E-02 -0.35667919E-01 0.55345446E-02 -0.37628177E-02 + -0.15063886E+00 0.63173950E+00 0.58640521E-01 -0.11310441E+00 + -0.56205934E+00 -0.12007034E+00 -0.60520858E+00 -0.13778126E+00 + 0.53372163E-01 0.55302672E-01 0.43478359E-01 0.42523559E-01 + -0.29654520E-01 -0.46249095E-01 -0.18232644E+00 0.18445110E+00 + 0.11651337E+00 -0.13888019E+00 0.77584624E+00 -0.20802420E+00 + -0.27784950E+00 -0.12532073E+00 -0.95613122E-01 -0.53957444E-01 + 0.21425944E-01 -0.73493491E-02 0.32895875E+00 0.57959902E+00 + 0.17125006E+01 0.64916790E-01 -0.66671222E+00 0.42497212E+00 + 0.10747852E+01 -0.29168385E+00 -0.33504637E-02 -0.39606754E-01 + -0.48538265E+00 -0.46966869E-01 0.79471581E-01 -0.63520765E+00 + 0.35119760E+01 -0.12184792E+01 0.14708529E+00 0.32728171E+00 + -0.13452768E+01 0.91351074E+00 -0.10723859E+00 -0.46364641E+00 + -0.17759092E+00 0.33546495E-03 -0.68300061E-01 0.33596806E-01 + -0.32629794E+00 -0.10383368E+01 0.18383628E+00 -0.12193328E+00 + 0.95989019E+00 0.17567474E+00 0.10174923E+01 0.54608107E+00 + -0.69135971E-01 -0.16146509E+00 -0.69958568E-01 -0.12977318E+00 + 0.74624181E-01 -0.34265661E+00 0.70992494E+00 -0.20130856E+00 + -0.87979758E+00 0.27189708E+00 -0.16422271E+01 0.42830020E+00 + 0.45904866E+00 0.39268953E+00 0.97692013E-01 0.53528868E-01 + -0.25272183E-02 -0.82533360E-02 0.30163246E+00 -0.75499970E+00 + -0.23318834E+01 0.28877842E+00 0.12862625E+01 -0.79786736E+00 + -0.10814677E+01 0.10795547E+00 -0.14806841E+00 0.30484810E-01 + 0.60364807E+00 0.24701130E+00 -0.16554862E+00 0.75564712E+00 + -0.49911823E+01 0.25221031E+01 -0.50133264E+00 -0.11462420E+00 + 0.19772404E+01 -0.17406586E+01 0.17858028E+00 0.75754690E+00 + 0.32222253E+00 0.12655258E+00 0.14917497E+00 -0.11977190E+00 + 0.76102793E-01 -0.43147720E-01 -0.81818521E-01 0.19644614E-01 + 0.33825949E-01 0.25999684E-01 0.32359272E-01 0.29988968E+00 + -0.63901901E-01 0.23167781E-02 0.22926807E-01 -0.77330987E-02 + 0.10746138E-02 0.12264739E+00 0.20447604E-01 0.59562445E-01 + 0.19856850E-01 -0.11300005E+00 -0.29754139E-01 -0.44352561E-02 + 0.56839380E-01 0.25084686E+00 -0.56135748E-03 -0.54703802E-02 + 0.48170909E-02 -0.36291031E-02 0.24246804E-01 0.65477550E-01 + 0.12209362E+00 -0.99905550E-01 -0.29400778E+00 -0.25406674E-01 + 0.31711332E-01 0.17040540E+00 0.24152596E+00 -0.77344954E-01 + 0.33627842E-01 -0.97614229E-02 0.20799652E-01 0.12910360E+00 + 0.27060762E-01 -0.15518236E+00 0.15885317E+00 0.30369675E+00 + -0.49701218E-01 -0.10029805E+00 -0.28022027E+00 0.36929359E-02 + 0.24210740E-01 -0.16487345E-01 0.94972886E-02 -0.56310664E-02 + -0.11048770E+00 -0.25132006E-01 -0.74848473E-01 -0.36955964E-01 + -0.84306858E-02 0.59861806E-03 0.43695934E-01 0.46816021E-02 + -0.12226735E-01 0.69531322E-01 0.23915982E+00 -0.52309297E-02 + -0.14996282E-01 0.29184744E-01 0.55157769E-01 0.20157384E-01 + 0.30791920E-01 -0.58250558E-01 -0.56456961E-02 -0.21537557E-01 + 0.28616693E-01 -0.26698606E-02 -0.25978231E+00 0.62797010E-01 + 0.22548081E-02 -0.23580464E-02 0.47859613E-01 -0.17690944E-01 + -0.53106397E-02 -0.21001626E-01 -0.39911270E-02 0.21716015E-01 + -0.17059460E-01 0.28004616E-01 0.10446362E-01 -0.44645034E-02 + -0.42491476E-02 -0.13451761E+00 -0.59785275E-03 -0.11083219E-01 + 0.54354642E-01 -0.40297955E-02 0.53323615E-01 0.48851687E-01 + 0.93341731E-02 -0.30359661E-05 -0.13635744E-01 -0.13263460E-01 + -0.91869384E-02 -0.23183504E-01 0.10026121E-02 -0.14598797E+00 + -0.39637774E-01 0.34675907E-01 -0.13779510E-01 0.31649987E-02 + 0.24430856E-01 -0.10841479E-01 -0.87321550E-02 0.24531895E-01 + -0.39002339E-02 -0.10708718E-01 -0.32987449E-01 0.29985204E-02 + 0.48053185E-02 0.86180270E-01 0.39627030E-02 0.22435104E-01 + 0.21348746E-01 -0.34228358E-01 -0.53658383E-03 0.33991762E-01 + -0.37611157E-01 0.23497485E-02 -0.50931573E-02 0.65411796E-03 + 0.11545371E-01 -0.11957942E-02 -0.27704688E-01 0.11326194E-01 + -0.12809221E+00 0.25609737E-01 -0.43673404E-01 -0.19919192E-01 + 0.57441793E-01 0.13651281E-02 0.99236444E-02 0.11110033E-02 + -0.88214837E-02 0.10099306E-01 0.23763576E-03 -0.32913532E-01 + 0.35655260E-01 -0.93667448E-01 0.22362646E-01 0.35769932E-01 + 0.23009188E-01 0.10751248E-01 0.21540693E-02 -0.16343425E-02 + -0.27889892E-01 -0.19826153E-01 -0.16842147E-02 0.94351284E-02 + 0.89623709E+01 0.19730665E-01 0.21596248E+00 0.50009090E-01 + -0.21762834E-02 -0.36576837E-01 -0.37319519E-01 0.31727146E-01 + -0.24356846E-01 0.29576538E-01 0.85489526E-02 -0.13777472E-01 + -0.97738244E-02 0.33469999E+00 -0.24697518E+00 0.48163033E+00 + -0.35931331E+00 -0.15751719E-01 -0.13071299E+00 0.29412568E-01 + -0.13171206E+00 -0.74888945E-01 -0.31300247E-01 -0.69453955E-01 + 0.31701785E-01 0.48052181E-01 0.24180008E+02 -0.59165543E+00 + -0.37481439E+01 0.27094536E+01 0.17237263E+01 0.33680841E+00 + 0.12361393E+01 -0.40081000E+00 0.24777047E+00 -0.11386623E+01 + -0.26397091E+00 0.51696783E+00 0.26516545E+00 -0.45573063E+01 + 0.22108459E+01 -0.33646345E+01 0.54219599E+01 0.28218365E+01 + 0.23740578E+01 -0.16911584E+01 0.25113802E+01 0.21021690E+01 + 0.10237396E+00 0.14552326E+01 -0.97442865E-01 -0.11147537E+01 + -0.11681602E+03 0.18470571E+01 0.18251846E+02 -0.25811155E+02 + -0.20601791E+02 -0.18826648E+01 -0.56787043E+01 0.29563885E+01 + -0.94193518E-01 0.73134322E+01 0.93215400E+00 -0.28211839E+01 + -0.22883482E+01 0.19154860E+02 -0.18602936E+02 0.20144346E+02 + -0.16414490E+02 -0.60010891E+01 -0.12694318E+02 0.97623625E+01 + -0.14265868E+02 -0.14238820E+02 0.14062832E+00 -0.69437270E+01 + -0.15784083E+00 0.63612432E+01 0.18642738E+03 0.41710634E+01 + -0.36739269E+02 0.75611099E+02 0.65239151E+02 0.62713490E+01 + 0.90178194E+01 -0.86719608E+01 -0.24287517E+01 -0.17567656E+02 + -0.38892239E+00 0.58335896E+01 0.67666421E+01 -0.25843214E+02 + 0.54234539E+02 -0.64408768E+02 0.10873847E+02 -0.72628431E+01 + 0.26647585E+02 -0.19763273E+02 0.33570377E+02 0.35707275E+02 + -0.12532643E-01 0.12849774E+02 0.64608556E+00 -0.15312589E+02 + -0.14083353E+03 -0.12821358E+02 0.34492325E+02 -0.88502106E+02 + -0.78154579E+02 -0.92759380E+01 -0.48082018E+01 0.10566218E+02 + 0.48087645E+01 0.18066010E+02 -0.13238792E+01 -0.51708679E+01 + -0.80225315E+01 0.59901590E+01 -0.64209244E+02 0.83126953E+02 + 0.10725402E+02 0.23379944E+02 -0.23843412E+02 0.16165710E+02 + -0.34889954E+02 -0.37377121E+02 -0.10515051E+01 -0.10207628E+02 + -0.58196378E+00 0.16365568E+02 0.43592422E+02 0.73433657E+01 + -0.12409453E+02 0.35991272E+02 0.31727676E+02 0.46962137E+01 + 0.23304205E+00 -0.45286789E+01 -0.25499392E+01 -0.67354426E+01 + 0.10447702E+01 0.16423655E+01 0.32990837E+01 0.50915031E+01 + 0.26708817E+02 -0.35995026E+02 -0.10378607E+02 -0.12888996E+02 + 0.75558434E+01 -0.44697495E+01 0.13253450E+02 0.13915669E+02 + 0.88236904E+00 0.29039440E+01 0.16834038E+00 -0.63849525E+01 + -0.26160198E+00 0.16475304E+01 0.18607444E+01 0.27880877E-01 + -0.80495954E-01 -0.39654478E-01 0.19887306E-01 0.60452133E-01 + -0.19153394E-01 0.13035006E-01 0.31249696E-01 -0.75434591E-02 + -0.15125267E-01 0.27377903E+00 -0.17763205E+01 0.15071573E+01 + -0.19758046E-01 0.10182643E+00 -0.26982676E-01 -0.23550982E-01 + 0.36379888E-02 -0.36529673E-02 0.11719953E-01 0.14171905E-01 + -0.14677169E-01 -0.14988882E-02 -0.11673794E+01 0.21813784E+01 + -0.90088546E+00 0.22404639E+00 -0.33333278E+00 -0.52520949E-01 + 0.29254222E+00 0.10636133E+00 0.68046272E-01 0.12188293E-02 + -0.82268119E-01 -0.86118102E-01 0.65291584E-01 0.17419060E+01 + 0.69445306E+00 0.54693860E+00 -0.17051890E-01 0.58553481E+00 + -0.22795537E-01 0.11075485E+00 0.25393158E+00 0.15103638E+00 + 0.17391808E+00 -0.11656548E+00 -0.77986240E-01 -0.58590692E-01 + 0.73945642E+01 0.12272065E+02 -0.10930668E+02 0.13587236E+01 + 0.17232161E+01 0.35481679E+00 0.61459994E+00 -0.78423458E+00 + 0.48749742E+00 -0.26622629E+00 -0.94569337E+00 0.14302284E+00 + 0.17925686E+00 -0.94064894E+01 0.11073937E+02 0.13409169E+02 + 0.13028535E+01 0.65245140E+00 0.19972020E+00 0.22320142E+00 + 0.11397734E+01 0.71284539E+00 -0.11684895E+01 0.29646003E+00 + 0.81502265E+00 -0.25439864E-01 0.23263639E+02 -0.16287764E+02 + 0.19715302E+02 -0.70920930E+01 0.32130175E+01 0.31002333E+01 + -0.58355951E+01 -0.65897220E+00 0.11365485E+00 -0.26643336E+00 + 0.25300446E+01 0.20917065E+01 -0.21054516E+01 -0.25114744E+02 + -0.66058860E+01 0.86541386E+01 -0.41537154E-01 -0.17567032E+02 + 0.47047319E+01 -0.51503760E+00 -0.63852272E+01 -0.29741335E+01 + -0.44764338E+01 0.62373561E+00 0.24865682E+01 0.47261232E+00 + -0.46814041E+02 -0.12041885E+02 0.99752289E+02 -0.64495926E+01 + -0.92173414E+01 -0.46798887E+01 -0.54955006E+01 0.61131954E+01 + -0.16522959E+01 -0.54570884E+00 0.57664261E+01 -0.13666018E+01 + -0.71777922E+00 0.84022461E+02 -0.11194760E+03 -0.39507437E+01 + -0.16203308E+02 -0.66421161E+01 -0.14821444E+00 -0.78339773E+00 + -0.83775568E+01 -0.87370195E+01 0.92152634E+01 -0.33313084E+01 + -0.74441719E+01 0.18862636E+00 -0.14273083E+03 0.62041721E+02 + -0.79482513E+02 0.51631115E+02 -0.57821947E+00 -0.19178207E+02 + 0.29178070E+02 0.33035190E+01 -0.28263035E+01 0.34217317E-01 + -0.18571104E+02 -0.10850002E+02 0.14315626E+02 0.12893005E+03 + -0.33273046E+01 -0.50037964E+02 -0.18768167E+01 0.10671620E+03 + -0.27278669E+02 0.50431366E+01 0.36296219E+02 0.19505953E+02 + 0.25242188E+02 0.24296875E+01 -0.16299255E+02 -0.30654261E+01 + 0.11099849E+03 -0.12857597E+03 -0.27917529E+03 0.11415404E+02 + 0.13686011E+02 0.19129150E+02 0.14277333E+02 -0.19621246E+02 + 0.15207520E+01 0.56465178E+01 -0.13264229E+02 0.55628519E+01 + 0.15896339E+01 -0.26209375E+03 0.31271338E+03 -0.18712300E+03 + 0.61504059E+02 0.26230104E+02 -0.22624292E+01 0.91929603E+00 + 0.19573441E+02 0.32240540E+02 -0.23829132E+02 0.96026239E+01 + 0.23164410E+02 -0.11098814E+01 0.37926733E+03 -0.13912029E+03 + 0.11385747E+03 -0.15078867E+03 -0.28678268E+02 0.41981735E+02 + -0.61708344E+02 -0.99502087E+01 0.10072963E+02 0.43251381E+01 + 0.50344311E+02 0.20761368E+02 -0.38384720E+02 -0.31183643E+03 + 0.80717453E+02 0.11177304E+03 0.91798124E+01 -0.26519116E+03 + 0.57131927E+02 -0.17250914E+02 -0.80624077E+02 -0.53986404E+02 + -0.57842274E+02 -0.15444743E+02 0.40284012E+02 0.98377438E+01 + -0.10636666E+03 0.27624463E+03 0.33518628E+03 -0.90313139E+01 + -0.29404736E+01 -0.29340528E+02 -0.13130363E+02 0.27019058E+02 + 0.83808237E+00 -0.92540741E+01 0.13138416E+02 -0.91429548E+01 + -0.16192188E+01 0.33913452E+03 -0.35920068E+03 0.38480005E+03 + -0.92527649E+02 -0.46624039E+02 0.41366453E+01 0.18275698E+01 + -0.17915739E+02 -0.46472931E+02 0.25177946E+02 -0.10816147E+02 + -0.29169767E+02 0.18046656E+01 -0.44847656E+03 0.16557732E+03 + -0.59701843E+02 0.19198532E+03 0.51862453E+02 -0.38352905E+02 + 0.59586216E+02 0.13888143E+02 -0.13456490E+02 -0.92948990E+01 + -0.56630112E+02 -0.15786908E+02 0.44390163E+02 0.35611423E+03 + -0.13994145E+03 -0.12520426E+03 -0.78124242E+01 0.29974634E+03 + -0.48495987E+02 0.19427444E+02 0.77247574E+02 0.66220627E+02 + 0.59678249E+02 0.23805573E+02 -0.41955185E+02 -0.13117630E+02 + 0.34567719E+02 -0.14869554E+03 -0.14342834E+03 0.30032885E+01 + -0.36467552E+01 0.15035782E+02 0.32215374E+01 -0.13186407E+02 + -0.12452888E+01 0.43014364E+01 -0.46899471E+01 0.50963411E+01 + 0.54561722E+00 -0.15541125E+03 0.14388921E+03 -0.21015964E+03 + 0.47509949E+02 0.29349546E+02 -0.19194936E+01 -0.30574074E+01 + 0.53069601E+01 0.22960085E+02 -0.95035105E+01 0.42254791E+01 + 0.12840060E+02 -0.78551626E+00 0.19336099E+03 -0.79162148E+02 + 0.28272572E+01 -0.89598587E+02 -0.26287642E+02 0.12450288E+02 + -0.21709852E+02 -0.69439921E+01 0.60890913E+01 0.54649792E+01 + 0.22320848E+02 0.36850128E+01 -0.18504166E+02 -0.15068375E+03 + 0.72892563E+02 0.55283630E+02 -0.76779515E+00 -0.12916336E+03 + 0.13477337E+02 -0.61723804E+01 -0.26636490E+02 -0.29567841E+02 + -0.23007305E+02 -0.11395707E+02 0.15494073E+02 0.59043760E+01 + 0.97768605E-01 -0.21706767E+00 -0.14598060E+00 -0.98067135E+00 + 0.56929809E+00 0.43482479E-01 0.11748247E-01 -0.63081682E-02 + 0.20523416E-01 -0.19572712E-01 0.17729736E-03 0.11943496E-02 + 0.66722073E-02 -0.22512754E-01 -0.17544615E+00 -0.19724552E+00 + -0.56630111E+00 -0.77338606E+00 -0.35187382E-01 0.10012046E-01 + -0.27610056E-01 0.89784898E-03 -0.95248333E-03 0.29487304E-01 + 0.15489022E-01 0.32603149E-02 0.90035909E+00 0.50192165E+00 + 0.39231557E+00 0.72755915E+00 0.34172869E+00 0.64472872E+00 + -0.24112159E-01 -0.37124623E-01 -0.18246339E+00 -0.95317356E-01 + -0.20045061E-01 -0.81074119E-01 0.11073198E-01 0.55172008E+00 + 0.20146661E+00 0.44691020E+00 0.65697372E-01 0.77415025E+00 + 0.60446817E-01 0.51282352E+00 -0.15366630E+00 -0.22197445E+00 + -0.59145339E-01 -0.21178664E+00 0.11207617E+00 -0.13108961E-01 + 0.10676384E+01 0.29645824E+01 0.37952478E+01 -0.78678846E+00 + 0.32439947E+01 -0.16431473E+01 -0.11421099E+01 0.17130584E+00 + 0.37664509E+00 0.55448914E+00 0.10976690E+00 -0.48771805E+00 + -0.32246518E+00 0.27298229E+01 0.24008119E+01 0.60759602E+01 + -0.47121973E+01 -0.16266241E+01 -0.13724279E+00 -0.14916686E+01 + 0.16014090E+01 0.21585754E+00 -0.35771859E+00 -0.89440811E+00 + -0.45400912E+00 -0.29001737E+00 -0.74832034E+01 -0.29968796E+01 + -0.42970152E+01 0.20118179E+01 -0.21555853E+01 -0.44935837E+01 + -0.38260967E+00 -0.88122141E+00 0.21959438E+01 0.85298413E+00 + 0.65500510E+00 0.64462608E+00 0.34080345E-01 -0.58604369E+01 + -0.17552921E+01 -0.46983767E+01 -0.19348935E+01 0.24940042E+01 + 0.21718979E+01 -0.40221739E+01 0.73567528E+00 0.19161576E+01 + -0.13397837E+00 0.25529766E+01 -0.50712585E+00 0.23999062E+00 + -0.10549744E+02 -0.37017422E+01 -0.24552065E+02 0.14676773E+02 + -0.11914490E+02 0.10997478E+02 0.74938984E+01 -0.25663304E+00 + -0.35813992E+01 -0.28400991E+01 -0.93953723E+00 0.33387852E+01 + 0.20984364E+01 -0.14897772E+02 -0.62908649E+01 -0.32800339E+02 + 0.18528564E+02 0.12417139E+02 -0.69420958E+00 0.11475649E+02 + -0.82309341E+01 -0.28264170E+01 0.27254324E+01 0.45255299E+01 + 0.22271843E+01 0.21908436E+01 0.17852585E+02 0.30649595E+01 + 0.11477947E+02 -0.67365322E+01 0.28456860E+01 0.10238113E+02 + 0.33093035E+00 0.40141964E+01 -0.65592403E+01 -0.24417317E+01 + -0.14772205E+01 -0.15737494E+01 -0.74066997E-01 0.15307250E+02 + -0.26185236E+01 0.12405680E+02 0.62960510E+01 -0.67733936E+01 + -0.70792398E+01 0.91405792E+01 0.88415737E-03 -0.37179439E+01 + 0.90935570E+00 -0.69149537E+01 0.18560126E+00 -0.67503858E+00 + 0.21599213E+02 -0.46994743E+01 0.46027313E+02 -0.36294876E+02 + 0.96739960E+01 -0.24945251E+02 -0.13759645E+02 -0.24616985E-01 + 0.89603739E+01 0.54308796E+01 0.24014454E+01 -0.70196066E+01 + -0.44327593E+01 0.24843399E+02 0.92978916E+01 0.56579742E+02 + -0.19334854E+02 -0.24256987E+02 0.30407267E+01 -0.25068008E+02 + 0.13572435E+02 0.68599367E+01 -0.67985997E+01 -0.75372810E+01 + -0.38506784E+01 -0.46823874E+01 -0.14843638E+02 0.19837292E+01 + -0.11109136E+02 0.31957548E+01 -0.17539186E+01 -0.67461452E+01 + 0.35601419E+00 -0.37653401E+01 0.55061636E+01 0.21600037E+01 + 0.83115494E+00 0.11146946E+01 -0.17095935E+00 -0.12286272E+02 + 0.98170996E+01 -0.81901512E+01 -0.38168240E+01 0.12576302E+01 + 0.55010004E+01 -0.60531683E+01 -0.10407486E+01 0.18965902E+01 + -0.94105470E+00 0.53762960E+01 0.51917458E+00 0.65497190E+00 + -0.13637307E+02 0.65925388E+01 -0.23569534E+02 0.25342222E+02 + 0.71028113E+00 0.16614395E+02 0.75715609E+01 0.19589581E-01 + -0.64481792E+01 -0.36762247E+01 -0.19363298E+01 0.46145449E+01 + 0.30328979E+01 -0.13089159E+02 -0.10095705E+02 -0.30684875E+02 + 0.39198732E+01 0.14732667E+02 -0.24675798E+01 0.16160904E+02 + -0.72000704E+01 -0.45575037E+01 0.50762730E+01 0.37089520E+01 + 0.21473513E+01 0.29847898E+01 -0.14737676E-01 -0.25679309E-01 + -0.16136080E+00 -0.33218786E-01 0.27244410E-01 -0.47106099E+00 + -0.91915023E+00 0.38202494E-01 0.29088616E-01 0.31560925E-02 + 0.18914849E-01 0.52554202E-02 -0.11544407E-02 0.72901785E-01 + -0.22339118E+00 0.53658474E-01 0.85221529E-02 -0.27125638E-01 + 0.88938648E+00 -0.52879435E+00 0.87448508E-02 0.30740049E-01 + 0.10852590E-01 -0.27724357E-01 0.31586986E-02 -0.96590295E-02 + 0.20115216E+00 0.69436574E+00 -0.17900574E+00 0.66311002E-01 + -0.75164109E+00 0.13775498E+00 -0.21529464E+00 -0.14966124E+00 + 0.16769139E+00 0.77871263E-01 0.51278982E-01 0.15873119E-01 + 0.21192810E-01 0.77322781E-01 -0.42061176E-01 0.45077723E+00 + 0.66685379E-01 -0.15208274E+00 0.44830185E+00 -0.12592123E+00 + -0.13366276E+00 -0.90220630E-01 -0.61910570E-01 -0.25508964E-01 + 0.12957443E-01 -0.12587028E-01 0.74074906E+00 0.65904367E+00 + 0.15433569E+01 -0.63742292E-02 -0.98790765E-01 0.18118401E+01 + 0.15583324E+01 -0.43290377E+00 -0.20866203E+00 0.95957100E-01 + -0.65422833E-01 -0.14005327E+00 -0.20921385E-01 -0.11043863E+01 + 0.32856827E+01 -0.19886180E+01 0.40116796E+00 0.26653957E+00 + -0.17676287E+01 0.24231005E+01 -0.21656232E+00 -0.57338196E+00 + -0.14849383E+00 0.14925671E+00 -0.52936438E-01 0.73655583E-02 + -0.71928322E+00 -0.94114912E+00 0.78959531E+00 -0.13111615E+00 + 0.16068592E+01 -0.33002038E-01 0.42055124E+00 0.56223714E+00 + -0.28989458E+00 -0.17253458E+00 0.78965612E-02 -0.94987273E-01 + -0.70541441E-01 -0.24910378E+00 0.25402689E+00 -0.95344985E+00 + -0.80586594E+00 0.43270761E+00 -0.10406418E+01 0.31384522E+00 + 0.15633456E+00 0.34068555E+00 0.12060666E+00 0.44971276E-01 + 0.29588660E-01 0.46364356E-01 -0.51294971E+00 -0.29964095E+00 + -0.28561344E+01 -0.11806238E+00 0.18849920E+00 -0.34402864E+01 + -0.21050482E+01 0.34388900E+00 0.30473167E+00 -0.14386863E+00 + -0.43631759E-01 0.33641660E+00 -0.22661611E-01 0.15949916E+01 + -0.41355295E+01 0.32266245E+01 -0.85630834E+00 -0.50795478E+00 + 0.28716078E+01 -0.42127285E+01 0.28837740E+00 0.93107861E+00 + 0.27240241E+00 -0.13775128E+00 0.13223092E+00 -0.13103771E+00 + -0.49044989E-01 -0.24295987E-02 -0.71430206E-01 0.35413124E-01 + 0.47498845E-01 -0.13454735E-01 0.98276101E-02 0.32753569E+00 + -0.18088372E+00 0.19360156E-02 0.13374139E-01 -0.94158687E-02 + -0.30937693E-02 0.55371158E-01 0.24911975E-01 0.41393064E-01 + 0.39408013E-01 -0.64998388E-01 -0.18124783E-01 -0.27285462E-01 + 0.16500179E+00 0.29878312E+00 0.13220962E-02 -0.14755523E-02 + 0.31277379E-02 0.15555121E-03 -0.56562982E-02 0.10716919E-01 + 0.58698528E-01 -0.22612128E-02 -0.11211978E+00 -0.11326516E+00 + 0.88223279E-01 0.13487899E+00 0.22745983E+00 -0.64147294E-01 + 0.13011376E-01 -0.15176601E-01 0.37889306E-01 0.18017764E+00 + 0.76493025E-01 -0.57414532E-01 -0.15384177E-01 0.19273418E+00 + -0.67927897E-01 -0.18422922E+00 -0.22047012E+00 0.14405786E-01 + 0.12134631E-01 -0.35937384E-01 -0.15340684E-02 0.19010874E-01 + -0.14448559E+00 -0.33150797E-02 -0.10132005E-01 0.44721060E-01 + -0.38510407E-02 0.65288953E-02 0.30064262E-01 -0.13620455E-01 + -0.25559586E-01 0.13974452E+00 0.27066708E+00 -0.86301868E-03 + -0.15927408E-01 0.85362434E-01 0.48635934E-01 -0.30831050E-01 + 0.35901426E-02 -0.16469322E-01 -0.93949512E-02 0.62366952E-02 + 0.42513688E-02 0.16225792E-01 -0.26053268E+00 0.12521905E+00 + -0.24030069E-02 -0.12820497E-02 0.42795021E-01 -0.88504672E-01 + -0.15416029E-01 0.35100665E-01 0.10118749E-01 0.25384665E-01 + -0.40251613E-02 0.18797460E-02 -0.41919947E-02 -0.62470175E-02 + -0.65072589E-02 -0.15718544E+00 0.42815138E-01 0.51770531E-01 + 0.23641720E-01 -0.22212747E-01 0.52224696E-02 0.48885673E-01 + 0.18276574E-01 -0.21028420E-01 -0.14288485E-01 -0.28683110E-02 + 0.25293045E-03 -0.83165914E-02 -0.44567961E-01 -0.16046226E+00 + -0.36254805E-01 -0.75680137E-01 0.11980511E-01 0.15882116E-03 + 0.22734884E-01 -0.10775128E-01 -0.22750692E-01 0.10671292E-01 + -0.29391658E-02 -0.48969574E-02 -0.22469329E-01 0.37602377E-02 + 0.80211437E-03 0.21320252E-01 -0.17746110E-01 0.20988828E-02 + -0.17451577E-01 -0.29435145E-01 0.10905028E-01 -0.15734231E-01 + -0.13093307E-01 0.74879122E-02 -0.76296963E-02 0.12714959E-01 + 0.12751132E-01 0.24891517E-02 -0.13963948E-01 0.43464810E-01 + -0.57666738E-01 0.98980144E-02 -0.56504559E-01 -0.33702858E-01 + 0.28680092E-01 0.24618782E-01 0.21952301E-01 0.17210133E-01 + -0.88103265E-02 0.80375150E-02 0.10196302E-01 -0.33362068E-01 + -0.18013634E-01 -0.50624598E-01 0.88627376E-02 0.10242135E+00 + 0.11714541E-01 0.93254820E-02 0.93967207E-02 -0.15307955E-01 + -0.24555841E-01 -0.17302778E-01 0.19131060E-02 -0.42232424E-02 + 0.30401049E+01 -0.11382077E-01 0.13699236E-01 0.13619753E-01 + -0.15344952E-03 -0.39020012E-03 0.33493680E-02 -0.11851718E-02 + 0.34948648E-03 -0.82672894E-01 -0.32174747E-01 0.38680803E-01 + 0.55962004E-01 0.32362805E-03 -0.41486818E-01 -0.11401795E-01 + -0.68960893E-02 0.10805071E-01 0.14065903E+01 0.15397179E+00 + -0.18210936E+00 -0.31921721E+00 -0.54489742E-02 0.57063509E-01 + 0.12826701E-01 -0.53385347E-02 0.62804590E-02 0.22763486E+00 + -0.14647669E+00 -0.14446507E+00 -0.12818098E+00 0.18414596E-01 + 0.14890824E+00 0.45125451E-01 0.18452298E-01 -0.38831923E-01 + -0.28037071E+01 -0.28717345E+00 0.53387308E+00 0.77303886E+00 + 0.49879473E-01 -0.18796811E+00 -0.46676476E-01 -0.11675813E-02 + -0.18786212E-01 -0.20530868E+00 0.14871512E+00 0.13572896E+00 + 0.65998554E-01 -0.31058760E-01 -0.12001264E+00 -0.36234979E-01 + -0.10483884E-01 0.33103839E-01 0.15812292E+01 0.16315395E+00 + -0.34262049E+00 -0.47133771E+00 -0.53432129E-01 0.13809937E+00 + 0.39644618E-01 0.98345056E-02 0.13404461E-01 0.11054383E-01 + -0.15015078E+00 -0.34573364E+00 0.15864994E-01 0.12899942E-02 + 0.38709240E-02 -0.75407006E-04 0.21587808E-02 0.61787367E-02 + 0.11099253E-01 0.36393243E+00 -0.14289594E+00 -0.51003993E-02 + 0.82212426E-02 0.36659569E-02 -0.50246567E-02 0.64045354E-03 + 0.93177743E-02 -0.18676744E+00 0.13912366E+00 0.92345774E-01 + 0.45837265E-01 -0.24934012E-01 -0.26602106E-01 -0.30030530E-01 + 0.49917065E-02 0.12582731E-01 0.13173366E+00 -0.10819067E+00 + 0.15030783E+00 -0.23040418E-01 0.13999089E-01 -0.53261593E-02 + -0.43439616E-01 -0.90245344E-02 0.10945595E+00 0.33914678E-01 + 0.47822484E+00 0.16972903E+01 -0.97674608E-01 -0.25269103E+00 + -0.44677757E-01 0.67510237E-02 0.25692279E-01 -0.82349539E-01 + -0.35780889E+00 -0.18699243E+01 0.49952665E+00 0.71142465E-02 + 0.22229070E-01 -0.12980825E+00 0.70356466E-02 -0.14538261E-01 + -0.14582598E+00 0.21972475E+01 -0.59621966E+00 -0.96930659E+00 + -0.94870515E-01 0.64373899E+00 0.14172482E+00 -0.12882970E+00 + 0.14451259E+00 -0.11963338E+00 -0.23363800E+00 0.16209316E+01 + -0.70229024E+00 0.12993801E+00 -0.48182804E-01 0.18711828E+00 + 0.38275993E+00 0.53427987E-01 -0.70009440E+00 -0.24579668E+00 + 0.24078406E-01 -0.16323547E+01 -0.19505768E+00 0.68362409E+00 + 0.15810388E+00 0.11939484E+00 -0.77476732E-01 0.17349912E+00 + 0.10717821E+01 0.19524432E+01 -0.70215619E+00 0.40747777E+00 + -0.14923322E+00 0.51048869E+00 0.74851751E-01 -0.32693017E-01 + 0.38650313E+00 -0.58413820E+01 0.16597110E+00 0.27413237E+01 + 0.22096714E+00 -0.18455600E+01 -0.18398350E+00 0.69714391E+00 + -0.38460961E+00 0.25037783E+00 0.16911910E+00 -0.42069683E+01 + 0.91982210E+00 -0.53290063E+00 0.25880045E+00 -0.68226016E+00 + -0.97130626E+00 0.19385047E-01 0.14533881E+01 0.40299883E+00 + -0.48112994E+00 0.52594155E+00 0.29526752E+00 -0.43825644E+00 + -0.12281955E+00 -0.15333907E+00 0.56682955E-01 -0.86398900E-01 + -0.75084615E+00 -0.45546570E+00 0.44570702E+00 -0.53101832E+00 + 0.12392123E-01 -0.47902703E+00 -0.12242782E+00 0.79856634E-01 + -0.28643292E+00 0.42676086E+01 0.75077909E+00 -0.22261820E+01 + -0.27955216E+00 0.13397522E+01 0.14111666E+00 -0.55246317E+00 + 0.23521648E+00 -0.18291543E+00 -0.12076442E+00 0.32277851E+01 + -0.13160843E+00 0.44515896E+00 -0.28191566E+00 0.62046933E+00 + 0.68323207E+00 -0.10502839E+00 -0.91661125E+00 0.27267989E-02 + -0.37316999E-02 0.35979014E-03 0.47388577E-03 -0.13095337E+00 + 0.21076865E-03 0.52354229E-02 0.26401212E-02 -0.60893558E-02 + -0.61952621E-02 0.12154621E-02 0.40964219E-02 0.15712863E+00 + 0.24770118E-01 0.38494696E-02 -0.92166439E-02 0.62270340E-03 + -0.54044831E-02 0.42403363E-01 0.16611993E+00 0.80097139E-01 + 0.56755996E+00 -0.33011413E+00 0.29526915E-01 -0.65970659E-01 + -0.28990030E-01 0.46952777E-02 -0.80264270E-01 0.20948902E-01 + -0.29410381E-01 0.50466293E+00 0.66722238E+00 0.76955378E-01 + -0.33780285E-02 -0.26567906E-01 0.40409271E-01 -0.15232778E+00 + 0.13101333E+00 -0.91356933E-01 0.89222491E-01 -0.36949329E-02 + -0.17322950E-01 0.55812232E-01 -0.38744360E-01 0.16779209E-01 + -0.24620676E+00 -0.79602778E-01 -0.20739436E+00 -0.15338075E+00 + -0.47849964E-01 -0.14388233E-01 0.94271958E-01 -0.29404016E-01 + 0.18598408E-01 -0.18558072E+00 -0.83184242E+00 0.13150721E-01 + -0.22259932E+01 0.66283786E+00 -0.31915799E-01 0.28466690E+00 + 0.21174736E+00 -0.12655889E-01 0.94725490E+00 0.19020592E+00 + 0.40080428E+00 -0.13141516E+01 -0.27080829E+01 -0.34854391E+00 + -0.15705083E+00 0.14084280E+00 -0.21892305E+00 0.17485856E+00 + -0.35491323E+00 0.11176543E+00 -0.19686691E+00 -0.70896447E-01 + 0.47556855E-01 -0.74512064E-01 0.51269028E-01 -0.11006739E-01 + 0.36457384E+00 -0.93383693E-04 0.29480577E+00 0.35257220E+00 + -0.10449861E+00 0.26363544E-01 -0.74307747E-01 0.54344717E-01 + -0.63038349E-01 0.20447035E+00 0.11452417E+01 -0.16736257E+00 + 0.20206425E+01 -0.30654341E+00 0.28216392E-01 -0.26526558E+00 + -0.28426141E+00 0.90763681E-02 -0.14910078E+01 -0.37116325E+00 + -0.24615522E+00 0.88091087E+00 0.25278473E+01 0.36680901E+00 + 0.36790529E+00 -0.11417955E+00 0.26816338E+00 -0.24069043E-01 + -0.37140232E-02 0.59421249E-02 -0.14975987E-01 0.38167016E-03 + 0.24848027E-01 -0.14859643E-01 0.81578479E-03 -0.90723373E-02 + -0.75797667E-02 -0.47509167E-01 -0.53818147E-02 0.15393178E-01 + -0.22171628E-01 0.20891448E-01 0.37496544E-01 -0.90530509E-03 + -0.27469555E-02 0.87826133E-01 0.61553407E-01 0.20494966E-01 + -0.68606257E-01 0.31154960E-01 -0.22373166E-01 0.19868620E-01 + -0.36711793E-02 0.80109164E-02 0.58815438E-01 -0.10893079E-02 + -0.23224901E-01 -0.16784027E-01 -0.12939299E-02 -0.17937096E-01 + -0.30362140E-01 -0.11328247E-01 0.18137723E-01 -0.83675422E-02 + -0.66944182E-01 -0.99108577E-01 0.53046625E-01 0.11491631E-02 + -0.97788632E-01 -0.19152732E+00 -0.73964265E-02 0.37721645E-01 + -0.16437825E-01 0.10426623E+00 -0.13097624E-01 -0.31341720E-01 + 0.33724148E-01 0.20263119E+00 -0.17441694E+00 -0.13966217E-01 + 0.81566256E-03 -0.30277977E-01 -0.14341920E-01 0.34723729E-02 + 0.66115153E-02 -0.40517412E-02 0.80762729E-02 0.77816518E-02 + 0.50833832E-01 0.10282874E-01 -0.26500832E-01 0.64238161E-02 + -0.28022842E-02 -0.14088667E-01 -0.54610544E-03 0.28645759E-02 + 0.12587353E-01 -0.20940427E-01 0.47031794E-01 0.57847183E-01 + 0.32054432E-01 0.12395523E-01 -0.61136406E-01 -0.11976908E-01 + 0.27411242E-03 0.54735648E-02 0.39643612E-01 0.14503113E-01 + -0.14846101E-01 -0.43443695E-01 -0.62784292E-02 0.66622496E-01 + 0.10906367E-01 -0.16276255E-01 -0.74495082E-02 -0.27881339E-01 + 0.35522427E-01 -0.26395647E-02 -0.95528327E-02 -0.20187972E-02 + 0.48234980E-02 -0.36433237E-02 0.73964107E-02 0.43250839E-02 + -0.13721440E-04 -0.82670292E-03 0.13747017E-01 0.26495293E-01 + -0.12389235E-01 0.13934656E-03 -0.12922279E-01 0.92590265E-02 + 0.30354068E-02 0.11110846E-02 0.40769838E-02 0.33883243E-02 + 0.76762331E-02 0.87840520E-02 0.22252684E-02 -0.17388513E-02 + 0.65976717E-02 -0.13436445E-02 0.53181127E-02 0.17218640E-02 + 0.12250469E-01 0.88767409E-02 -0.20778639E-01 0.91415532E-02 + -0.31969624E-02 0.82466059E-03 0.72336234E-02 -0.23431671E-02 + 0.52077025E-02 0.27045250E+01 -0.13861432E-01 0.10853585E-01 + 0.13674899E-01 0.45255939E-02 0.96232325E-04 0.28539707E-02 + -0.50630591E-04 -0.10792224E-02 0.33882730E-01 0.16726006E-01 + 0.41411083E-01 0.21762999E-01 0.13571895E-01 -0.18095523E-01 + -0.13972078E-01 -0.26165762E-02 -0.44640916E-03 0.13936987E+01 + 0.10243690E+00 -0.12836152E+00 -0.18260191E+00 -0.46525557E-01 + 0.44762935E-01 0.57317317E-02 0.11237834E-01 0.40574856E-02 + -0.14981101E+00 -0.25437301E+00 -0.14702123E+00 -0.51582754E-01 + -0.47143348E-01 0.47940172E-01 0.27028268E-01 0.77501158E-02 + -0.80215298E-02 -0.24028521E+01 -0.13707370E+00 0.35199863E+00 + 0.39832273E+00 0.85570991E-01 -0.12622128E+00 -0.67097694E-02 + -0.48906956E-01 0.55381288E-02 0.77955544E-01 0.19398201E+00 + 0.13605738E+00 0.29710909E-01 0.28151931E-01 -0.32603391E-01 + -0.11237350E-01 -0.34127152E-02 0.13379141E-01 0.11976624E+01 + 0.86586349E-01 -0.22247820E+00 -0.23125167E+00 -0.42487212E-01 + 0.83616674E-01 0.73067652E-03 0.40582355E-01 -0.96359551E-02 + 0.17483033E-01 -0.30285537E+00 -0.29345894E+00 0.99322982E-02 + -0.17893454E-02 0.10022587E-02 0.11504446E-02 0.16644032E-02 + 0.72499407E-02 0.13540722E-02 0.32227379E+00 -0.29328412E+00 + -0.80812834E-02 0.39960970E-02 0.65438598E-02 -0.11646178E-01 + 0.39998032E-02 0.15032204E-01 -0.36074266E-01 0.11459166E+00 + 0.90131879E-01 0.35216373E-02 -0.96506737E-02 -0.11520933E-01 + -0.12881164E-01 0.99653099E-03 0.34462847E-01 0.89647539E-01 + 0.63354820E-02 0.12553088E+00 0.24806120E-01 0.23215951E-01 + 0.13266701E-01 0.39352663E-02 0.90735704E-02 0.86630397E-01 + -0.22010052E+00 0.76199841E+00 0.10411053E+01 0.79058170E-01 + -0.99691875E-01 -0.41243132E-01 0.57794455E-01 -0.16476741E-02 + -0.94741933E-01 -0.32839942E+00 -0.12193966E+01 0.87339061E+00 + -0.75224410E-02 0.83490193E-01 -0.14356726E+00 0.13259065E+00 + -0.44737361E-01 -0.20198126E+00 0.54963994E+00 -0.52403367E+00 + -0.74558896E+00 -0.96110046E-01 0.27973866E+00 0.15445522E-01 + -0.24832046E+00 0.65243840E-01 -0.22887568E+00 -0.19111106E-01 + 0.47740993E+00 -0.63515675E+00 -0.18528543E+00 -0.21004456E+00 + 0.61389267E-01 0.34061927E-01 -0.37664600E-01 -0.56488276E+00 + 0.61485970E+00 -0.31153601E+00 -0.85383409E+00 -0.55827850E+00 + 0.24451426E+00 0.20632701E+00 -0.12735526E+00 0.49136002E-01 + 0.29886138E+00 0.12342768E+01 0.80860955E+00 -0.12855701E+01 + 0.31017226E+00 -0.24868596E+00 0.44440651E+00 -0.30813736E+00 + 0.23854541E-01 0.45323092E+00 -0.15821571E+01 0.43670559E+00 + 0.22294598E+01 0.54407924E+00 -0.86818779E+00 -0.27222030E-02 + 0.87385136E+00 -0.10560453E+00 0.39706624E+00 -0.65258813E+00 + -0.15170183E+01 0.12435971E+01 0.19180834E+00 0.70927751E+00 + -0.27004617E+00 -0.20135772E+00 0.98844647E-01 0.11511527E+01 + -0.35777092E+00 -0.10984189E+00 0.54976183E+00 0.51074892E+00 + -0.15392701E+00 -0.20111597E+00 0.95634460E-01 -0.59104063E-01 + -0.22803462E+00 -0.10545502E+01 -0.27652280E-01 0.84639686E+00 + -0.34254825E+00 0.83599448E-01 -0.39442423E+00 0.17786872E+00 + 0.49440950E-01 -0.29044276E+00 0.11647865E+01 0.19355892E+00 + -0.19237442E+01 -0.51354480E+00 0.63591230E+00 0.36586218E-01 + -0.67268562E+00 0.16708907E-01 -0.21348134E+00 0.78157800E+00 + 0.13963383E+01 -0.70771319E+00 -0.20638824E-01 -0.56146246E+00 + 0.25822002E+00 0.18338434E+00 -0.10435091E+00 -0.70114338E+00 + 0.33377009E-02 -0.85557252E-02 0.53263269E-02 0.48212934E-01 + -0.96097529E-01 0.16747258E-02 0.45310478E-02 0.21136757E-02 + -0.20766112E-02 -0.66840351E-02 -0.10856334E-01 -0.23787534E-02 + 0.92386603E-01 0.68768799E-01 0.10402149E-02 -0.86118132E-02 + 0.32925489E-03 0.57025021E-03 0.51790807E-01 0.13119572E+00 + 0.47563076E-01 0.28507447E+00 -0.11513669E+00 0.31583644E-01 + -0.17520608E-01 -0.31817120E-01 0.82542188E-02 0.19457081E-01 + 0.16882733E-01 -0.44377230E-01 0.21419051E+00 0.39532009E+00 + 0.44337552E-01 0.33838250E-01 -0.26187995E-01 0.26135841E-01 + -0.13655464E+00 0.12530462E+00 -0.43442167E-01 -0.23065428E+00 + 0.20435365E+00 -0.63712358E-01 0.23470284E-01 -0.50777256E-01 + 0.77459808E-02 -0.15135793E+00 0.11079715E-01 -0.65361381E-01 + -0.20480008E+00 -0.31951761E+00 -0.43420333E-01 0.58943629E-01 + -0.19627888E-01 -0.11768200E-01 -0.15009117E+00 -0.68192893E+00 + 0.62561333E-01 -0.10389147E+01 0.10595894E+00 -0.14849148E-01 + 0.53832043E-01 0.23531131E+00 -0.12635956E-01 0.28327590E+00 + 0.38813159E-01 0.31918579E+00 -0.46337992E+00 -0.14411011E+01 + -0.15281475E+00 -0.21893851E+00 0.14097039E+00 -0.14544624E+00 + 0.15800917E+00 -0.34267649E+00 0.18755987E-02 -0.56562793E-01 + -0.48462972E+00 0.95949888E-01 -0.30947627E-01 0.87747693E-01 + -0.19303992E-01 0.24605584E+00 -0.13650823E+00 0.21064958E-01 + 0.58473659E+00 -0.75870599E-02 0.39007965E-01 -0.65296412E-01 + 0.41345578E-01 -0.19478334E-01 0.78472018E-01 0.91951138E+00 + -0.16342765E+00 0.91248029E+00 0.87954290E-02 -0.59618722E-02 + -0.40209658E-01 -0.31057966E+00 0.18426050E-01 -0.60459119E+00 + -0.10414233E-01 -0.18814395E+00 0.27712166E+00 0.13081121E+01 + 0.17085785E+00 0.34071121E+00 -0.14231364E+00 0.17387938E+00 + -0.20386552E-01 0.21182615E-02 0.10177098E-01 -0.11378627E-01 + -0.98456331E-02 0.34398962E-01 -0.42581432E-01 0.34251876E-03 + -0.68609156E-02 -0.90750642E-02 -0.32029826E-01 -0.47561601E-02 + 0.14946334E-01 -0.16567834E-01 0.42375125E-01 0.41583799E-01 + 0.13377544E-03 -0.61774589E-02 0.45967977E-01 0.61088771E-01 + 0.14942784E-01 -0.37811138E-01 0.15868820E-01 0.47008316E-02 + 0.46885717E-02 0.11044604E-02 0.83790062E-03 0.33965636E-01 + 0.12285839E-01 -0.15363422E-01 -0.20721937E-01 -0.11257235E-01 + -0.34942648E-02 -0.12950345E-01 -0.59640328E-02 0.12831650E-01 + 0.60491142E-03 -0.74729383E-01 -0.69819927E-01 0.26307782E-01 + 0.17833915E-01 -0.10292423E+00 -0.14374948E+00 -0.44204816E-02 + 0.32788616E-01 -0.15078788E-01 0.62297024E-01 -0.27057176E-01 + -0.22026936E-01 0.26395351E-01 0.16220760E+00 -0.12398392E+00 + -0.14915660E-01 0.10779776E-01 -0.22808818E-01 -0.15335507E-01 + 0.21026684E-02 0.44900663E-02 -0.13017195E-02 0.27200764E-02 + 0.10563130E-02 0.33134330E-01 0.16995130E-01 -0.15292641E-01 + 0.24188112E-02 -0.86551383E-02 -0.19452726E-02 -0.34849253E-02 + 0.35679101E-02 0.10176242E-01 -0.22009404E-01 0.29706351E-01 + 0.43338247E-01 0.19471707E-01 0.19346904E-03 -0.33331003E-01 + -0.12334582E-01 -0.12015220E-01 0.14972218E-02 0.39651532E-01 + 0.19308904E-01 0.14977315E-02 -0.34002740E-01 0.13617952E-02 + 0.26084945E-01 0.37475582E-02 -0.10403190E-01 -0.17990539E-01 + -0.22997431E-01 0.27994957E-01 0.22576403E-03 -0.16536335E-01 + -0.75725862E-03 0.69075967E-02 -0.14428189E-02 0.61770570E-02 + 0.60216250E-03 -0.43525919E-03 -0.13888463E-02 0.90428479E-02 + 0.19430213E-01 -0.10300137E-01 0.35099408E-02 -0.42426996E-02 + 0.60566175E-02 0.52108951E-02 -0.11467599E-03 0.65590143E-02 + 0.49651749E-02 0.11645566E-01 0.83609410E-02 0.52899159E-02 + -0.47522224E-02 0.55126846E-02 0.35592569E-02 0.34613644E-02 + 0.36597401E-02 0.45108609E-02 0.48094876E-02 -0.14215786E-01 + 0.53761150E-02 0.45948811E-02 0.83546602E-03 0.53303540E-02 + -0.26749300E-02 0.29056252E-02 diff --git a/src/test/resources/nequick/ccir20.asc b/src/test/resources/nequick/ccir20.asc new file mode 100644 index 000000000..61a35a462 --- /dev/null +++ b/src/test/resources/nequick/ccir20.asc @@ -0,0 +1,715 @@ + 0.67417641E+01 -0.11025393E+00 0.42666834E-01 0.69521971E-01 + 0.38874121E-02 0.29258804E-01 -0.31417802E-01 0.35931021E-01 + 0.11918333E-01 0.29975630E-01 0.11452775E-01 -0.29228495E-01 + -0.76055527E-02 0.17436560E+01 0.40657672E+00 0.59440559E+00 + -0.81161797E-01 -0.12061447E+00 -0.42257652E-01 -0.16804053E-01 + -0.13078284E+00 0.99271536E-01 -0.51369164E-01 -0.85818350E-01 + 0.20449582E-01 -0.34776747E-01 0.15906834E+02 0.21122408E+01 + -0.30194511E+01 -0.18164214E+00 0.21544621E+01 -0.77579123E+00 + 0.10776815E+01 -0.65275151E+00 -0.18329656E+00 -0.10741081E+01 + -0.21992724E+00 0.54272276E+00 0.26474297E+00 -0.21567720E+02 + -0.10071519E+02 -0.46050444E+01 0.22639153E+01 0.77192554E+01 + 0.70966089E+00 -0.21318836E+01 0.47265267E+00 -0.24995821E-01 + 0.65379202E+00 0.20589559E+01 -0.17014968E+00 0.56020804E-02 + -0.10173341E+03 -0.68225641E+01 0.18339722E+02 -0.96500959E+01 + -0.22774460E+02 0.70135794E+01 -0.57714853E+01 0.20234108E+01 + 0.98741543E+00 0.70813160E+01 0.75227982E+00 -0.31741397E+01 + -0.28904333E+01 0.65307861E+02 0.35732178E+02 0.99326601E+01 + -0.70676718E+01 -0.35474056E+02 -0.48456550E+01 0.10269098E+02 + 0.14416780E+01 -0.37578681E+01 -0.17822332E+01 -0.10741420E+02 + 0.18747387E+01 0.18222951E+01 0.20845084E+03 0.83894491E+01 + -0.37941158E+02 0.42702358E+02 0.68335434E+02 -0.22162094E+02 + 0.11464568E+02 -0.11181593E+01 -0.30024519E+01 -0.17626600E+02 + -0.13377714E+00 0.74559193E+01 0.94865475E+01 -0.69698105E+02 + -0.40740067E+02 -0.12088244E+02 0.55066090E+01 0.60161949E+02 + 0.12805877E+02 -0.14906708E+02 -0.69451747E+01 0.13351114E+02 + 0.15886545E+01 0.22924709E+02 -0.65486450E+01 -0.64081602E+01 + -0.19967574E+03 -0.47658625E+01 0.32122223E+02 -0.59845806E+02 + -0.79271225E+02 0.26973694E+02 -0.94852962E+01 -0.13761377E+01 + 0.42310858E+01 0.18761658E+02 -0.14811944E+01 -0.75402794E+01 + -0.11900676E+02 0.14291371E+02 0.10281889E+02 0.12892766E+02 + 0.20141008E+01 -0.43246780E+02 -0.13862740E+02 0.66849308E+01 + 0.83780088E+01 -0.16522490E+02 -0.29590267E+00 -0.21744141E+02 + 0.82283392E+01 0.76309423E+01 0.74218613E+02 0.12529612E+01 + -0.98135471E+01 0.27000689E+02 0.31554642E+02 -0.11102577E+02 + 0.27184379E+01 0.10648203E+01 -0.20641975E+01 -0.71944175E+01 + 0.10889817E+01 0.27322817E+01 0.50644026E+01 0.97484446E+01 + 0.43847666E+01 -0.68491745E+01 -0.25755978E+01 0.10981910E+02 + 0.51441727E+01 0.12638378E+00 -0.31936567E+01 0.68834958E+01 + -0.72948217E-01 0.75957394E+01 -0.34138048E+01 -0.30203905E+01 + -0.17938741E-01 0.19350548E+01 0.15287570E+01 0.26359444E-01 + -0.69553885E-02 0.48199929E-02 0.15078619E-01 0.53562153E-01 + 0.21571169E-01 0.32001287E-01 0.37023298E-01 -0.33349071E-01 + 0.10461509E-01 -0.71816564E-01 -0.14951200E+01 0.19070234E+01 + -0.90120375E-01 0.83764911E-01 -0.22245713E-01 -0.61692059E-01 + 0.29028337E-01 -0.15067049E-03 0.12577566E-01 -0.22862754E-02 + 0.29112535E-01 -0.23672458E-01 -0.51051003E+00 0.87592435E+00 + 0.11411304E+01 0.22836588E+00 0.10007082E+00 -0.85580871E-02 + 0.14482206E+00 0.23493984E+00 0.12527978E+00 -0.16819620E+00 + -0.48568074E-01 0.24008986E+00 0.96231997E-01 0.10973549E+00 + 0.93418963E-01 -0.70641696E-01 -0.53768349E+00 0.48843423E+00 + 0.34973872E+00 -0.26007724E+00 0.36855582E-01 0.41532868E+00 + 0.89809418E-01 -0.23388442E-01 0.20598350E+00 0.13492870E+00 + 0.54216433E+01 0.19527588E+02 0.53556571E+01 -0.20208037E+01 + 0.27149026E+01 0.11244011E+01 -0.42923164E+00 -0.90001625E+00 + -0.22988825E+00 -0.79169691E+00 0.95905125E-01 0.54770768E+00 + 0.40796731E-01 -0.49918337E+01 -0.68213153E+01 0.20141766E+02 + 0.33453064E+01 0.20416536E+01 -0.18846659E+00 0.78771967E+00 + 0.12231274E+01 0.63756788E+00 -0.58407259E+00 -0.35017231E+00 + -0.12065353E+01 -0.24117196E+00 0.15664848E+02 -0.58232436E+01 + 0.16471385E+01 -0.85785646E+01 0.65734749E+01 0.10979424E+01 + -0.61561317E+01 -0.41306419E+01 -0.25767187E-01 0.22381325E+01 + 0.16197395E+01 -0.47094784E+01 -0.19486103E+01 0.54404097E+01 + -0.23112684E+02 0.87230244E+01 0.41379757E+01 -0.82567215E+01 + -0.59944475E+00 0.49454794E+01 0.98528087E-01 -0.69704385E+01 + -0.26175516E+01 0.21983194E+01 -0.85137618E+00 -0.48446989E+01 + -0.34786560E+02 -0.13385120E+03 0.53099274E+02 0.98495779E+01 + -0.21858501E+02 -0.12796616E+02 0.21972885E+01 0.71941562E+01 + 0.17378720E+01 0.38053648E+01 -0.41692467E+01 -0.43841829E+01 + -0.76313019E+00 0.52958328E+02 -0.62617268E+02 -0.13794220E+03 + -0.20468201E+02 -0.26598705E+02 0.76006281E+00 -0.45324349E+00 + -0.73798919E+01 -0.68499522E+01 0.43220587E+01 0.26352141E+01 + 0.11029832E+02 0.39386225E+01 -0.10278555E+03 -0.11709526E+02 + 0.43092850E+02 0.72482162E+02 -0.24375425E+02 -0.46230412E+01 + 0.37790924E+02 0.18252396E+02 0.32258278E+00 -0.98822689E+01 + -0.65691552E+01 0.26157682E+02 0.14764630E+02 -0.63290562E+02 + 0.11773388E+03 -0.50047348E+02 -0.31375059E+02 0.31207626E+02 + -0.13806310E+02 -0.21457748E+02 -0.76790352E+01 0.33817780E+02 + 0.16895020E+02 -0.18257305E+02 -0.33989456E+01 0.31438553E+02 + 0.73195847E+02 0.30527805E+03 -0.27625659E+03 -0.13173970E+02 + 0.52327698E+02 0.43725922E+02 -0.53056192E+01 -0.26080381E+02 + -0.80343590E+01 -0.59193115E+01 0.15645749E+02 0.14612919E+02 + 0.19771430E+01 -0.16780862E+03 0.33273389E+03 0.31980908E+03 + 0.61927952E+02 0.10291243E+03 -0.41476974E+00 -0.10810332E+02 + 0.16019867E+02 0.22894287E+02 -0.96919661E+01 -0.76568937E+01 + -0.35144089E+02 -0.13620372E+02 0.27711328E+03 0.76293732E+02 + -0.24416869E+03 -0.23412337E+03 0.59856176E+01 0.27036529E+01 + -0.85468964E+02 -0.32569977E+02 -0.93770189E+01 0.22770231E+02 + 0.79303360E+01 -0.62524033E+02 -0.43537689E+02 0.18402341E+03 + -0.25016972E+03 0.72703690E+02 0.10605528E+03 -0.51503246E+02 + 0.54460190E+02 0.38909683E+02 0.36796555E+02 -0.68024506E+02 + -0.41103394E+02 0.53216110E+02 0.20626389E+02 -0.76586349E+02 + -0.53355740E+02 -0.31135278E+03 0.40809717E+03 0.22601175E+01 + -0.48498840E+02 -0.60832165E+02 0.60337324E+01 0.38279327E+02 + 0.14871667E+02 0.28498707E+01 -0.20230129E+02 -0.19879822E+02 + -0.18497733E+01 0.21465652E+03 -0.48994748E+03 -0.32978488E+03 + -0.86516563E+02 -0.15399602E+03 -0.53305179E+00 0.26561081E+02 + -0.14605586E+02 -0.29598480E+02 0.74684281E+01 0.98743944E+01 + 0.45331924E+02 0.17090790E+02 -0.33723953E+03 -0.97724609E+02 + 0.38985547E+03 0.31390695E+03 0.46843395E+02 0.78864841E+01 + 0.82173843E+02 0.24357897E+02 0.20966230E+02 -0.26853409E+02 + -0.14723214E+01 0.67029846E+02 0.53401047E+02 -0.18740390E+03 + 0.25239400E+03 -0.10743399E+02 -0.13630222E+03 0.44591599E+02 + -0.69500046E+02 -0.34749329E+02 -0.57859833E+02 0.60593735E+02 + 0.43181370E+02 -0.64212585E+02 -0.31543686E+02 0.79737724E+02 + 0.79219422E+01 0.12230792E+03 -0.19162125E+03 0.30479715E+01 + 0.14701434E+02 0.29905258E+02 -0.25530329E+01 -0.18944748E+02 + -0.87824144E+01 -0.98065197E-01 0.87094269E+01 0.93237696E+01 + 0.71487147E+00 -0.98071747E+02 0.22642126E+03 0.13037717E+03 + 0.42995682E+02 0.77473969E+02 0.44055772E+00 -0.17098782E+02 + 0.44686174E+01 0.12881229E+02 -0.12471924E+01 -0.46582813E+01 + -0.20446930E+02 -0.70700431E+01 0.15115994E+03 0.37530956E+02 + -0.19583459E+03 -0.14785712E+03 -0.36896561E+02 -0.74833937E+01 + -0.28641951E+02 -0.58377419E+01 -0.12369587E+02 0.12254857E+02 + -0.14293089E+01 -0.26398527E+02 -0.23067720E+02 0.59227798E+02 + -0.99076767E+02 -0.24037247E+02 0.57410080E+02 -0.17986755E+02 + 0.29093674E+02 0.13013298E+02 0.29289719E+02 -0.19803267E+02 + -0.16676147E+02 0.27448057E+02 0.15189787E+02 -0.29994446E+02 + 0.11391175E+00 0.11553438E+00 -0.13704097E+00 -0.10008469E+01 + -0.24247710E-01 0.66881217E-02 -0.69679022E-02 -0.18138342E-01 + 0.27570523E-01 0.35871942E-01 0.73015727E-02 -0.69541782E-02 + 0.26003545E-01 -0.63337195E-02 0.59983633E-01 -0.62968016E-01 + -0.78753345E-02 -0.75065094E+00 -0.37398331E-01 -0.44260029E-01 + -0.36373202E-01 0.74006170E-02 -0.10022036E-02 0.77789617E-02 + 0.12514464E-01 -0.10064093E-01 0.86539835E+00 0.32539022E+00 + -0.91669321E-01 -0.73207438E+00 0.26933299E-01 0.13879357E+00 + -0.26311165E+00 -0.37850919E+00 -0.21304099E+00 -0.14258491E+00 + -0.13731001E+00 -0.30468127E-01 0.92138350E-01 0.98262489E+00 + -0.15070742E+00 0.71532845E-01 -0.49188620E+00 -0.57117575E+00 + 0.43504015E+00 0.19652760E+00 -0.13652393E-02 -0.67386091E-01 + -0.13397163E+00 -0.20012894E+00 0.14705020E+00 0.10473769E-01 + 0.65290123E+00 -0.26946287E+01 0.31813002E+01 0.30024576E+01 + -0.75441301E-01 -0.15592440E+01 -0.21163234E+00 -0.12697160E+00 + -0.19921806E+00 -0.66176987E+00 0.10346520E+00 -0.18251108E+00 + 0.17797949E-01 0.18768592E+00 -0.25953684E+01 0.43567190E+01 + -0.59679967E+00 0.19172314E+01 -0.20841494E+00 0.28366703E+00 + 0.23806677E+01 -0.16260111E+00 0.13395768E+00 -0.83577549E+00 + -0.23089886E+00 -0.83205447E-03 -0.53307676E+01 0.61688054E+00 + 0.14718914E+01 0.10001513E+02 0.29644823E+01 -0.11001225E+01 + 0.14558419E+01 0.26624279E+01 0.21787989E+01 0.13549824E+01 + 0.16713552E+01 -0.15284109E+00 -0.52187550E+00 -0.72269974E+01 + 0.91789746E+00 0.22233877E+01 -0.45572978E+00 0.10729969E+02 + -0.29951897E+01 -0.21556866E+00 0.35207564E+00 0.13136930E+01 + 0.57696944E+00 0.23771763E+01 -0.17125853E+01 -0.86974627E+00 + -0.36376345E+01 0.24080015E+02 -0.22185776E+02 0.18825314E+02 + 0.14852663E+02 0.13149285E+02 0.78031552E+00 0.31474845E+01 + 0.90485042E+00 0.16362019E+01 -0.48030415E+00 0.18465118E+01 + -0.83016783E+00 -0.18757304E+01 0.21337708E+02 -0.17421921E+02 + -0.10823548E+02 0.15082482E+02 -0.15371398E+01 -0.41927963E+00 + -0.11322727E+02 0.11449957E+01 -0.39108777E+00 0.54798636E+01 + 0.16054935E+01 0.82940835E+00 0.90842657E+01 -0.63919306E+01 + -0.66001616E+01 -0.23100985E+02 -0.12172363E+02 0.22952433E+01 + -0.42773733E+01 -0.51716633E+01 -0.57398782E+01 -0.32952108E+01 + -0.44157419E+01 0.97596115E+00 0.49134454E+00 0.14462517E+02 + -0.52479386E+01 -0.77367244E+01 0.63962255E+01 -0.26448851E+02 + 0.69845829E+01 -0.13445463E+01 -0.86556637E+00 -0.37851820E+01 + -0.59372693E+00 -0.62924967E+01 0.47564259E+01 0.29345119E+01 + 0.36482799E+01 -0.54122810E+02 0.51179455E+02 -0.67288895E+02 + -0.36518005E+02 -0.31562346E+02 -0.62648946E+00 -0.97915506E+01 + -0.14420404E+01 -0.11084070E+01 0.88024235E+00 -0.53258371E+01 + 0.19962701E+01 0.75823531E+01 -0.47701126E+02 0.20454956E+02 + 0.31747025E+02 -0.50241875E+02 0.81888828E+01 0.43072933E+00 + 0.17209763E+02 -0.32296553E+01 -0.40862793E+00 -0.11610969E+02 + -0.27689962E+01 -0.20991714E+01 -0.50960860E+01 0.83177357E+01 + 0.55298500E+01 0.15825745E+02 0.13216482E+02 -0.14331722E+01 + 0.36789036E+01 0.29861965E+01 0.41942501E+01 0.21892414E+01 + 0.33499985E+01 -0.10724660E+01 0.32862179E-01 -0.85228500E+01 + 0.73134871E+01 0.61695180E+01 -0.86385641E+01 0.17545179E+02 + -0.52412462E+01 0.18066072E+01 0.71043038E+00 0.29276323E+01 + -0.61344326E-01 0.45447369E+01 -0.35246749E+01 -0.23307097E+01 + -0.14690655E+01 0.35724689E+02 -0.35846252E+02 0.50520844E+02 + 0.23054352E+02 0.21617203E+02 0.42514127E+00 0.79941401E+01 + 0.58302629E+00 0.34610987E+00 -0.60215032E+00 0.39643896E+01 + -0.13188496E+01 -0.92348232E+01 0.30514219E+02 -0.52573853E+01 + -0.22224289E+02 0.36993195E+02 -0.71565065E+01 -0.77821243E+00 + -0.85328360E+01 0.27982292E+01 0.89062178E+00 0.76935654E+01 + 0.13601084E+01 0.11444426E+01 -0.74351370E-01 0.11168009E+00 + -0.12678432E+00 -0.30625785E-01 0.81547022E-01 -0.26790613E+00 + -0.77349359E+00 0.18570650E-01 0.38729448E-01 0.77069062E-02 + 0.12018092E-01 -0.19658064E-01 -0.86077973E-02 0.12409091E+00 + -0.10666506E+00 0.45101713E-01 0.15352033E-01 0.32349154E-01 + 0.78267974E+00 -0.29498762E+00 -0.52898012E-01 0.61348878E-01 + 0.11466917E-01 0.13180026E-02 0.22439856E-01 0.54106633E-02 + 0.23398852E+00 0.64493269E+00 -0.25810570E+00 -0.12363273E+00 + -0.66201258E+00 -0.27819192E+00 -0.30108154E+00 -0.24624991E+00 + 0.83835721E-01 -0.74149817E-02 0.13186115E+00 -0.16377570E-01 + -0.61401576E-02 -0.10936357E+00 -0.29475039E-01 0.53700852E+00 + 0.50398596E-01 -0.11941082E+00 0.84602898E+00 -0.45599908E+00 + -0.29877841E+00 -0.10263896E+00 -0.88044167E-01 -0.85591495E-01 + 0.64158519E-02 0.54729255E-02 0.34892559E+00 0.13616561E-01 + 0.68630129E+00 0.92597771E+00 -0.78667682E+00 0.75528562E+00 + 0.13148088E+01 0.89991741E-01 -0.31526262E+00 0.76205134E-01 + -0.15212274E+00 0.11211586E+00 0.32542080E-01 -0.11553698E+01 + 0.24110079E+01 -0.11516418E+01 0.59397310E+00 -0.87734061E+00 + -0.15284472E+01 0.15883168E+01 0.54522204E+00 -0.40533343E+00 + 0.17719109E-01 -0.13833664E+00 -0.10189563E+00 -0.79786837E-01 + -0.51425886E+00 -0.15127134E+01 0.96630722E+00 0.11464614E+00 + 0.11833754E+01 0.31068289E+00 -0.74194193E-01 0.72967577E+00 + -0.67832701E-01 -0.77846990E-03 -0.20988441E+00 -0.51187862E-01 + 0.38249545E-01 -0.78501165E-01 0.32682669E+00 -0.10028915E+01 + -0.68409109E+00 0.19638067E+00 -0.12582330E+01 0.71608406E+00 + 0.40842828E+00 0.26023895E+00 0.20802370E+00 0.18907779E+00 + -0.95071435E-01 -0.14524132E-01 0.70622325E-01 -0.23873582E-01 + -0.46930575E+00 -0.11361485E+01 0.12044516E+01 -0.13642397E+01 + -0.16782407E+01 -0.27571243E+00 0.62265939E+00 -0.27575922E+00 + 0.26088655E+00 -0.17131168E+00 -0.96791871E-02 0.16397074E+01 + -0.35624075E+01 0.21964979E+01 -0.69169527E+00 0.17876033E+01 + 0.23638010E+01 -0.29829435E+01 -0.65094346E+00 0.50062829E+00 + -0.78845382E-01 0.20135804E+00 0.35707735E-01 0.43332718E-01 + -0.73506464E-02 -0.20373335E-01 -0.59456597E-02 0.47092017E-01 + 0.59794266E-01 -0.22777200E-01 0.34936231E-01 0.28207558E+00 + -0.12549120E+00 0.68888771E-02 0.73659746E-02 -0.16957683E-01 + -0.69591487E-02 0.60889009E-01 0.48170749E-01 0.90240315E-02 + -0.23745387E-02 -0.88016748E-01 0.73502362E-02 -0.11265669E-02 + 0.12217468E+00 0.24448654E+00 -0.23252072E-02 -0.70067826E-02 + -0.43141763E-02 -0.13638791E-01 -0.21918522E-01 0.39478116E-01 + 0.21353064E-01 -0.17231619E+00 -0.24383087E+00 -0.18098044E+00 + 0.78112245E-01 -0.96717000E-01 -0.21291026E+00 -0.78414738E-01 + 0.27862422E-01 0.96148215E-02 0.23770258E-01 -0.13406623E-01 + -0.97504012E-01 -0.22518177E-01 0.13743085E+00 0.13689154E+00 + -0.19897046E-01 -0.10379754E+00 0.18668228E+00 -0.28371492E-01 + -0.66896558E-01 -0.45131464E-01 0.52789491E-01 -0.40041965E-01 + -0.66618264E-01 0.42511921E-01 -0.38794965E-01 -0.10955274E-01 + 0.30871361E-01 0.52086008E-02 0.24081497E-01 -0.67935847E-02 + -0.13217945E-01 0.82531154E-01 0.28200024E+00 -0.76102950E-02 + -0.90683848E-02 0.23629060E-02 -0.10296954E-02 -0.14055241E-01 + -0.31999350E-01 -0.57006437E-01 0.18182568E-01 -0.55214246E-02 + 0.49740784E-02 -0.54625701E-01 -0.27094817E+00 0.51207960E-01 + 0.45274426E-02 0.16952408E-01 0.41054886E-01 -0.54486722E-01 + -0.10627155E-01 -0.28977985E-01 0.76224138E-02 0.58471590E-01 + -0.90225786E-02 0.22696029E-01 -0.16175292E-01 0.21533296E-02 + 0.36474864E-02 -0.14331752E+00 -0.11911415E-01 -0.35727635E-01 + -0.25858896E-01 -0.81544854E-02 0.45217127E-02 0.82371905E-02 + 0.27359467E-01 -0.12122326E-01 -0.90430006E-02 -0.25242612E-01 + -0.10398199E-01 -0.11534833E-01 0.29744118E-01 -0.14588499E+00 + -0.27973067E-01 -0.17960723E-01 -0.72880208E-01 -0.13211421E-01 + 0.74935742E-02 0.40451579E-01 -0.13288229E-02 0.23200870E-01 + -0.21652488E-01 0.10630925E-01 -0.19871011E-01 -0.89811645E-02 + 0.44909422E-02 0.15431918E-01 0.17651660E-01 0.37659161E-01 + 0.40000826E-02 0.67411773E-02 0.39261788E-01 0.64045377E-02 + 0.15160270E-01 0.13118289E-01 -0.23408242E-01 -0.30519590E-02 + -0.95153078E-02 -0.35423130E-01 0.18906863E-01 0.64482582E-02 + -0.96611202E-01 0.15293911E-01 -0.54000061E-01 0.30757934E-01 + 0.59357226E-01 0.36398359E-01 0.25581047E-02 0.11665760E-01 + 0.56256284E-02 0.57567656E-02 0.31496419E-02 -0.46144247E-01 + 0.41687146E-01 -0.34603193E-01 0.53481121E-01 0.11668258E-01 + -0.49698241E-02 0.57190470E-02 0.17202952E-02 -0.39180480E-02 + -0.26724450E-01 -0.32743976E-01 0.17875224E-01 -0.13148280E-01 + 0.97347708E+01 0.80199353E-02 0.88190675E-01 0.34591865E-01 + -0.20683805E-01 0.29348712E-01 -0.21960218E-01 -0.94146095E-02 + 0.15242770E-02 0.18784337E-01 -0.42741895E-02 -0.11803486E-01 + 0.89114830E-02 0.17238567E+01 -0.14606643E+00 -0.23781560E+00 + -0.18891616E+00 -0.83614886E-01 0.48989985E-01 -0.23082244E+00 + -0.45915204E+00 0.52839015E-01 0.65929592E-01 -0.27021211E+00 + 0.59767950E-01 0.45384470E-01 0.26139557E+02 -0.26177340E+01 + -0.18818339E+01 0.28918123E+01 0.26626928E+01 -0.13387194E+01 + 0.35804051E+00 0.61114317E+00 -0.39724249E+00 -0.34554464E+00 + 0.11107710E-01 0.46736580E+00 -0.14963692E+00 -0.14329062E+02 + 0.17789956E+01 0.11053965E+02 0.40939875E+01 0.74688959E+01 + 0.81202614E+00 0.18834096E+01 0.78406534E+01 0.12138882E+01 + -0.18455256E+01 0.44079380E+01 -0.87374473E+00 -0.19130917E+01 + -0.12161188E+03 0.20769333E+02 0.10549553E+02 -0.25936478E+02 + -0.22852903E+02 0.10790630E+02 0.59407198E+00 -0.15447998E+01 + 0.52851820E+01 0.17490315E+00 0.17242507E+01 -0.27120552E+01 + 0.20165932E+00 0.56903172E+01 -0.30547836E+02 -0.53477966E+02 + -0.13067129E+02 -0.37363403E+02 -0.77788730E+01 -0.83473568E+01 + -0.36846283E+02 -0.10496929E+02 0.98110609E+01 -0.20411942E+02 + 0.33325281E+01 0.11927084E+02 0.18244952E+03 -0.48165421E+02 + -0.24666489E+02 0.77004440E+02 0.64335312E+02 -0.29243439E+02 + -0.68443356E+01 -0.68185723E+00 -0.17612900E+02 0.27443235E+01 + -0.67463574E+01 0.52837248E+01 0.84665346E+00 0.83355331E+02 + 0.10590701E+03 0.85216660E+02 0.10837219E+02 0.71135712E+02 + 0.20155457E+02 0.19259609E+02 0.72910690E+02 0.27517426E+02 + -0.19637802E+02 0.41009949E+02 -0.52474484E+01 -0.27441072E+02 + -0.12251461E+03 0.41699886E+02 0.27045622E+02 -0.92491440E+02 + -0.72843262E+02 0.32114166E+02 0.11262262E+02 0.40949612E+01 + 0.22106949E+02 -0.48072939E+01 0.86024685E+01 -0.41298609E+01 + -0.18827733E+01 -0.14486720E+03 -0.13257008E+03 -0.48221802E+02 + 0.35999947E+01 -0.58804535E+02 -0.19716797E+02 -0.20199415E+02 + -0.64824936E+02 -0.29064972E+02 0.16903168E+02 -0.37667236E+02 + 0.34804230E+01 0.26898163E+02 0.30944578E+02 -0.11548169E+02 + -0.11504378E+02 0.38749802E+02 0.28696697E+02 -0.12365783E+02 + -0.53707714E+01 -0.24697113E+01 -0.94244776E+01 0.22111998E+01 + -0.35927391E+01 0.10858068E+01 0.97322190E+00 0.68757813E+02 + 0.55788940E+02 0.54013424E+01 -0.52038832E+01 0.17593613E+02 + 0.63505487E+01 0.76194353E+01 0.21402802E+02 0.10745119E+02 + -0.52722201E+01 0.12947475E+02 -0.74531823E+00 -0.95251160E+01 + -0.11819899E+00 0.16981831E+01 0.17257079E+01 -0.46752770E-01 + 0.31282850E-01 -0.48106872E-02 0.42170651E-01 0.12124907E-01 + -0.19874834E-01 0.12629479E-01 0.39390005E-01 -0.12933316E-01 + -0.14372597E-01 0.10223609E+00 -0.16555766E+01 0.15552588E+01 + -0.12264323E+00 0.65852165E-01 -0.47787791E-03 -0.17770164E-01 + 0.24633724E-01 -0.14257875E-01 -0.19858576E-01 0.25402587E-01 + -0.80514252E-02 0.68274657E-02 -0.99085331E+00 0.17199124E+01 + -0.47460574E+00 -0.74100327E+00 0.10574150E+01 0.11296368E+00 + 0.82022703E+00 -0.18898284E+00 0.36352625E+00 0.80850065E-01 + -0.19919533E+00 -0.40538304E-01 0.16510320E+00 0.11990185E+01 + 0.51340394E-01 0.75055975E+00 -0.12824067E+01 0.86559242E+00 + -0.28388435E-02 0.14062117E-01 0.24629068E+00 0.20781083E+00 + -0.11486781E+00 0.91260597E-02 0.73089242E-01 -0.38038800E-02 + 0.51901360E+01 0.11364081E+02 -0.14781399E+02 0.34115417E+01 + 0.17582844E+01 0.49295741E+00 0.74259001E+00 0.60993052E+00 + 0.43994179E+00 0.49398407E+00 -0.82156599E-01 0.19255292E+00 + 0.72789848E+00 -0.10661777E+02 0.13685345E+02 0.17330503E+02 + 0.17598810E+01 0.15718220E+01 -0.35067129E+00 -0.24391625E+01 + 0.87025601E+00 0.10643626E+01 0.49751109E+00 -0.65840638E+00 + 0.33091986E+00 -0.13313618E+01 0.21538330E+02 -0.17283096E+02 + 0.23691771E+02 0.43560228E+01 -0.13055440E+02 0.54472351E+00 + -0.12533862E+02 0.69577456E+01 -0.59899936E+01 -0.24915972E+01 + 0.48114147E+01 -0.15907496E+00 -0.37714081E+01 -0.12313135E+02 + -0.22617416E+02 0.24490969E+01 0.22901764E+02 -0.17509417E+02 + 0.51498137E+01 0.57923192E+00 -0.68807120E+01 -0.37194929E+01 + 0.33164265E+01 -0.77732426E+00 -0.33252787E-01 -0.22301905E+01 + -0.31336716E+02 0.28626881E+01 0.13524348E+03 -0.29654034E+02 + -0.11670374E+02 -0.11883140E+02 -0.67173586E+01 -0.26616096E+01 + -0.46543760E+01 -0.62572260E+01 -0.36758001E+01 -0.12831593E+00 + -0.83014050E+01 0.10399525E+03 -0.14304044E+03 -0.14625184E+02 + -0.12641206E+02 -0.18179705E+02 0.63950968E+01 0.24394501E+02 + -0.26621685E+01 -0.96777048E+01 -0.36132803E+01 0.60474663E+01 + -0.52178507E+01 0.14800138E+02 -0.13617873E+03 0.98202393E+02 + -0.52166687E+02 0.82724130E+00 0.79597404E+02 -0.97800255E+01 + 0.51829224E+02 -0.55843548E+02 0.30941998E+02 0.15340664E+02 + -0.32310665E+02 0.47805395E+01 0.16678787E+02 0.71018158E+02 + 0.11442222E+03 0.75697632E+01 -0.13351146E+03 0.80042557E+02 + -0.19554029E+02 -0.23364077E+01 0.45533417E+02 0.25092588E+02 + -0.27485870E+02 0.11551980E+02 -0.85284786E+01 0.22155182E+02 + 0.72216705E+02 -0.18108646E+03 -0.35639255E+03 0.91767876E+02 + 0.27649414E+02 0.51445084E+02 0.16393127E+02 0.84795976E+00 + 0.11156778E+02 0.21300430E+02 0.15415002E+02 -0.20493467E+01 + 0.29226500E+02 -0.33076929E+03 0.39775537E+03 -0.19134300E+03 + 0.43584152E+02 0.63088696E+02 -0.25370867E+02 -0.73108444E+02 + 0.75435942E+00 0.30592009E+02 0.11364077E+02 -0.18345688E+02 + 0.19485807E+02 -0.48085079E+02 0.35883057E+03 -0.27099561E+03 + -0.71656769E+02 -0.42929932E+02 -0.21730472E+03 0.31643618E+02 + -0.90837852E+02 0.16265657E+03 -0.70991821E+02 -0.36282787E+02 + 0.85148849E+02 -0.18301117E+02 -0.27730667E+02 -0.21271362E+03 + -0.24034348E+03 -0.90665176E+02 0.33108374E+03 -0.14937883E+03 + 0.15747417E+02 0.58647776E+01 -0.11471977E+03 -0.71360031E+02 + 0.83697266E+02 -0.38742783E+02 0.33933640E+02 -0.68442322E+02 + -0.65536270E+02 0.34354953E+03 0.40484619E+03 -0.11488376E+03 + -0.30950409E+02 -0.81028839E+02 -0.16655777E+02 0.55178194E+01 + -0.82527313E+01 -0.27838104E+02 -0.20135132E+02 0.50235019E+01 + -0.40293747E+02 0.42467825E+03 -0.45499561E+03 0.41682199E+03 + -0.65872879E+02 -0.86527435E+02 0.35884354E+02 0.88252121E+02 + 0.32965231E+01 -0.39156567E+02 -0.14947560E+02 0.21975187E+02 + -0.26912611E+02 0.60366077E+02 -0.41629004E+03 0.33380884E+03 + 0.27333203E+03 0.82169006E+02 0.25991675E+03 -0.40061569E+02 + 0.73255264E+02 -0.19695262E+03 0.74450424E+02 0.36899384E+02 + -0.95648865E+02 0.25082705E+02 0.18237808E+02 0.29320825E+03 + 0.22077356E+03 0.16044160E+03 -0.35729321E+03 0.12526577E+03 + 0.13969834E+02 -0.11527357E+02 0.12376456E+03 0.87678589E+02 + -0.10517470E+03 0.47443069E+02 -0.45187057E+02 0.84595184E+02 + 0.20050934E+02 -0.17802788E+03 -0.16851569E+03 0.49642136E+02 + 0.13681282E+02 0.42664764E+02 0.62386675E+01 -0.44329853E+01 + 0.11935358E+01 0.12374494E+02 0.84155293E+01 -0.32429962E+01 + 0.19101898E+02 -0.19180682E+03 0.18370609E+03 -0.23252711E+03 + 0.34046062E+02 0.40737793E+02 -0.16559662E+02 -0.37816513E+02 + -0.23657229E+01 0.17279066E+02 0.67948842E+01 -0.89706364E+01 + 0.12578117E+02 -0.25909058E+02 0.17511346E+03 -0.14709787E+03 + -0.17955647E+03 -0.46925888E+02 -0.11192870E+03 0.18169205E+02 + -0.22695389E+02 0.84683502E+02 -0.29096588E+02 -0.13504686E+02 + 0.38522064E+02 -0.11487774E+02 -0.34478910E+01 -0.14182307E+03 + -0.71934738E+02 -0.81841080E+02 0.13787189E+03 -0.40718719E+02 + -0.16116913E+02 0.78342295E+01 -0.48472748E+02 -0.38284927E+02 + 0.46472549E+02 -0.19452408E+02 0.19880953E+02 -0.36534103E+02 + 0.72543681E-01 -0.91503091E-01 -0.11593873E+00 -0.89834797E+00 + 0.61833626E+00 0.47313970E-01 0.14711141E-02 0.10285537E-01 + -0.22091963E-02 -0.20506838E-01 0.34120731E-01 -0.22531549E-01 + -0.78072748E-03 -0.96214533E-01 -0.54838859E-01 -0.14777189E+00 + -0.64081067E+00 -0.69528615E+00 -0.30307973E-01 -0.33019178E-01 + 0.77059711E-02 -0.97604245E-02 0.16391927E-02 0.17542891E-02 + 0.45385696E-02 -0.20407381E-01 0.10522871E+01 0.18861836E+00 + -0.25081070E-01 -0.14823074E+01 0.23610926E+00 0.65894437E+00 + -0.24199402E+00 -0.87921262E-01 -0.54795277E+00 -0.14422113E+00 + -0.10366816E+00 -0.18718950E+00 0.21545323E-01 0.42069238E+00 + -0.22901514E+00 -0.91535032E-01 0.25210854E-01 -0.13556508E+01 + 0.37180072E+00 0.70798677E+00 0.22921547E-01 0.14435732E+00 + 0.44424646E-01 -0.13737641E+00 0.19060681E-01 0.10951716E+00 + 0.14380064E+01 -0.18441188E+00 0.46994648E+01 -0.21012440E+01 + 0.58280001E+01 -0.13754472E+01 -0.14721307E+01 0.12456213E+00 + -0.15493172E+00 0.83261234E+00 -0.55525309E+00 -0.44475816E-01 + 0.58509374E+00 0.19653130E+01 -0.75903958E+00 0.46786280E+01 + -0.82793922E+01 -0.22516365E+01 0.15342178E+01 -0.47626296E+00 + 0.35320491E+00 0.90423584E+00 -0.91187477E-01 -0.61380106E+00 + -0.55390352E+00 0.45646805E+00 -0.69860539E+01 -0.81822318E+00 + -0.18467588E+01 0.76645617E+01 0.19130973E+01 -0.54477282E+01 + 0.15927752E+01 0.45357138E+00 0.58195386E+01 0.14146250E+01 + 0.78945208E+00 0.14831170E+01 -0.24750523E+00 -0.21675032E+00 + 0.16968604E+01 -0.38511193E+01 -0.57537827E+01 0.97383308E+01 + -0.13728514E+01 -0.47436857E+01 -0.27548199E+01 -0.15055321E+01 + 0.76347291E-01 0.40537015E+00 -0.25368649E+00 -0.12546911E+01 + -0.13612034E+02 0.10055150E+02 -0.42518860E+02 0.18920914E+02 + -0.25449722E+02 0.61947536E+01 0.10574360E+02 0.17470119E+01 + -0.16524611E+00 -0.48321447E+01 0.26428556E+01 0.16906738E+01 + -0.48421726E+01 -0.15996870E+02 0.18508347E+02 -0.23283052E+02 + 0.35497879E+02 0.12486041E+02 -0.13592185E+02 0.23057766E+01 + -0.33479505E+01 -0.91297178E+01 0.20603869E+01 0.30273180E+01 + 0.47495813E+01 -0.24556150E+01 0.14484992E+02 -0.12824782E+01 + 0.20726955E+01 -0.13500335E+02 -0.13579146E+02 0.12507602E+02 + -0.44871578E+01 -0.13822850E+01 -0.16225632E+02 -0.32869403E+01 + -0.13542660E+01 -0.36956697E+01 0.49570030E+00 -0.28008473E+01 + -0.72233200E+01 0.16578842E+02 0.20905169E+02 -0.18679197E+02 + 0.21797934E+01 0.85508757E+01 0.10466121E+02 0.37626474E+01 + -0.83420098E+00 -0.52542198E+00 0.81247646E+00 0.30173635E+01 + 0.29996323E+02 -0.24423281E+02 0.98381454E+02 -0.40458511E+02 + 0.31081450E+02 -0.10232324E+02 -0.22379593E+02 -0.84146461E+01 + 0.16865023E+01 0.94843407E+01 -0.36858835E+01 -0.51620407E+01 + 0.11019041E+02 0.38974045E+02 -0.47553543E+02 0.32823257E+02 + -0.45407303E+02 -0.18267166E+02 0.32208038E+02 -0.38544321E+01 + 0.74274802E+01 0.22328947E+02 -0.70309238E+01 -0.59846659E+01 + -0.10427267E+02 0.56140108E+01 -0.11142908E+02 0.50988245E+01 + -0.87233222E+00 0.10051833E+02 0.17175934E+02 -0.81438684E+01 + 0.35580685E+01 0.14109000E+01 0.12470690E+02 0.20998695E+01 + 0.89491498E+00 0.26432140E+01 -0.34282875E+00 0.32492125E+01 + 0.95376787E+01 -0.15285567E+02 -0.19982010E+02 0.12006571E+02 + -0.14975014E+01 -0.40201006E+01 -0.91834316E+01 -0.27835939E+01 + 0.51126963E+00 0.23976564E+00 -0.81174558E+00 -0.18622960E+01 + -0.20657654E+02 0.16039459E+02 -0.63869213E+02 0.26869736E+02 + -0.87734652E+01 0.46892033E+01 0.14171227E+02 0.80630875E+01 + -0.16122293E+01 -0.58862238E+01 0.13981990E+01 0.40675755E+01 + -0.73429761E+01 -0.29788897E+02 0.30969648E+02 -0.10377958E+02 + 0.15621192E+02 0.83370752E+01 -0.22060728E+02 0.21002872E+01 + -0.47829394E+01 -0.15391680E+02 0.58026681E+01 0.41257248E+01 + 0.70328174E+01 -0.43682194E+01 -0.13153023E+00 0.52396130E-01 + -0.78708112E-01 -0.31984996E-01 0.66879749E-01 -0.44668856E+00 + -0.11997776E+01 0.44919260E-01 -0.21612016E-01 -0.85290596E-02 + 0.40041875E-01 -0.18274922E-01 -0.12108568E-01 0.68851411E-01 + -0.16586339E+00 0.10567039E+00 -0.35489373E-01 0.10825992E+00 + 0.11110220E+01 -0.48024806E+00 -0.32602344E-01 0.30053170E-01 + 0.14435067E-01 -0.43142173E-01 0.28743999E-01 -0.16354781E-03 + 0.43814236E+00 0.41187564E+00 -0.30113024E+00 0.17926472E+00 + -0.76448739E+00 -0.22111150E-01 -0.31990391E+00 -0.39657485E-01 + 0.26836854E+00 0.31483594E-01 0.17101412E+00 -0.48243791E-01 + 0.58657952E-01 0.29777789E+00 0.70694327E-01 0.46847123E+00 + 0.16531503E+00 -0.68414450E-01 0.86738014E+00 -0.25612128E+00 + -0.27293497E+00 0.91270685E-01 0.98997988E-02 -0.54274175E-01 + 0.55843029E-01 0.87239027E-01 0.14875145E+01 0.18058690E+00 + 0.96503448E+00 0.38504779E-01 -0.81080890E+00 0.23628511E+01 + 0.31373041E+01 0.35168904E+00 0.17957918E+00 0.99717319E-01 + 0.12352604E+00 -0.28581694E-01 0.32931817E+00 -0.18351791E+01 + 0.33663919E+01 -0.17299489E+01 0.30873060E+00 -0.10293865E+01 + -0.27952223E+01 0.29568195E+01 0.23304486E+00 0.48831755E+00 + -0.16388200E-01 0.26351678E+00 -0.23727889E+00 0.21022534E+00 + -0.37114644E+00 -0.61679882E+00 0.70735806E+00 -0.31027347E+00 + 0.14951220E+01 -0.35590681E+00 -0.21566993E-02 0.32540190E+00 + -0.41896868E+00 -0.11011456E+00 -0.22550865E+00 -0.13376594E+00 + -0.11999566E+00 -0.62257117E+00 -0.84297597E-01 -0.13334846E+01 + -0.10768690E+01 0.16588950E+00 -0.11461287E+01 -0.81029363E-01 + 0.43433127E+00 -0.16242848E+00 -0.12601897E-01 0.15622550E+00 + -0.24858956E+00 -0.19455428E+00 -0.25591040E+01 0.25164348E+00 + -0.15365639E+01 -0.79542875E-01 0.11995535E+01 -0.45441875E+01 + -0.45316744E+01 -0.10119162E+01 -0.80300748E-01 -0.52209429E-01 + -0.35192692E+00 0.85065424E-01 -0.56523353E+00 0.30118425E+01 + -0.47145052E+01 0.29010694E+01 -0.36481503E+00 0.11654501E+01 + 0.43329029E+01 -0.52999196E+01 -0.24453492E+00 -0.10941248E+01 + 0.39213531E-01 -0.34023356E+00 0.27661628E+00 -0.51622355E+00 + -0.63605845E-01 0.50896596E-01 0.11700895E-01 0.43969844E-01 + 0.13695908E+00 -0.28410679E-01 -0.93208402E-02 0.34158772E+00 + -0.23341532E+00 0.18170306E-01 0.19188976E-02 -0.67197047E-02 + 0.79181045E-02 0.70990920E-01 0.41841712E-01 0.20218294E-02 + 0.81035674E-01 -0.52733004E-01 -0.91757327E-02 -0.15658231E-01 + 0.20307922E+00 0.37615097E+00 -0.61855088E-02 0.74328673E-02 + 0.91638938E-02 -0.92550591E-02 0.22771759E+00 -0.20004077E-01 + -0.19363020E+00 -0.27965689E-02 0.73775570E-02 -0.16548783E+00 + 0.24623008E-01 0.59029978E-01 -0.32041287E+00 -0.62310666E-01 + -0.22864671E-01 0.68012918E-02 0.41548252E-01 0.16248763E+00 + -0.53943157E-01 -0.10124868E+00 0.88020802E-01 0.84402598E-03 + -0.98183513E-01 -0.16950405E+00 0.16585670E+00 0.22753306E+00 + -0.47868270E-01 -0.62641382E-01 0.39978631E-01 -0.17434880E-01 + -0.12619770E+00 0.46246570E-01 -0.21488875E-01 0.72626054E-01 + 0.24535481E-01 0.37770528E-01 0.66443910E-02 -0.34785960E-01 + 0.48899208E-03 0.11222393E+00 0.31389344E+00 -0.94639622E-02 + 0.29937250E-02 0.18342680E+00 -0.42065293E-01 0.56304703E-02 + -0.50527267E-02 -0.67958534E-01 -0.14655958E-01 0.18668730E-01 + 0.40048440E-02 -0.52483656E-01 -0.29388094E+00 0.83209284E-01 + 0.99197812E-02 0.39488557E-02 0.73701091E-01 -0.11414200E+00 + 0.50474752E-01 0.52794032E-02 0.51152520E-02 0.31500902E-01 + 0.14944742E-01 0.27513611E-02 -0.20441338E-01 -0.17187307E-01 + 0.23239013E-01 -0.15333305E+00 0.10820903E-01 0.10246074E+00 + -0.10813680E-01 -0.28045258E-01 0.85988380E-02 -0.66896558E-01 + 0.20317487E-01 -0.25311204E-01 0.21137523E-01 -0.59515089E-02 + -0.73466599E-02 -0.46075860E-03 -0.14882740E-01 -0.15001261E+00 + -0.62333129E-01 -0.11848943E+00 -0.74348450E-01 -0.13404629E-02 + -0.22817830E-01 -0.10830127E-01 -0.48877969E-02 0.12237121E-01 + -0.30541399E-01 0.57756715E-02 -0.10295756E-01 0.12080543E-01 + -0.14406472E-01 0.41248903E-01 0.44591893E-01 0.36592875E-01 + 0.55447151E-03 0.19915279E-01 -0.63508260E-02 -0.47519129E-01 + 0.28801890E-01 0.77612214E-02 -0.59790276E-02 0.73863971E-02 + 0.16617052E-01 -0.22494163E-01 -0.71962893E-01 -0.41219033E-01 + -0.70982397E-01 0.12210121E-01 -0.87522030E-01 -0.47411237E-01 + 0.57425760E-01 0.45690559E-01 0.26248194E-01 0.28013920E-01 + -0.16828963E-02 0.15796801E-01 0.20284111E-01 -0.47389165E-01 + 0.37087288E-01 -0.58108825E-01 -0.54313838E-02 0.10483098E+00 + 0.13532057E-01 -0.20340554E-01 -0.50312984E-02 -0.42387210E-02 + -0.89632049E-02 -0.32773022E-01 0.21721896E-01 0.11161234E-01 + 0.30495803E+01 0.35076544E-02 0.76724398E-02 0.87806769E-02 + 0.47458559E-02 0.25473761E-02 0.29852837E-02 -0.12277642E-03 + -0.32025622E-03 0.10599102E+00 -0.21536589E-01 0.46008386E-01 + 0.78201413E-01 0.22680623E-01 -0.46905659E-01 -0.96271224E-02 + 0.12562237E-01 0.24986394E-01 0.10458719E+01 -0.25089502E-01 + -0.17962436E+00 -0.17404801E+00 -0.22410804E-01 0.27813714E-01 + -0.18103600E-01 -0.58276366E-01 0.26434986E-02 0.17178220E+00 + -0.15449820E+00 -0.10333896E+00 -0.18914130E+00 -0.13402218E+00 + 0.16679607E+00 0.46815977E-01 -0.91324374E-02 -0.10088241E+00 + -0.18385895E+01 0.77625453E-01 0.55216676E+00 0.35753921E+00 + -0.87231733E-02 -0.51372506E-01 0.34072313E-01 0.17208672E+00 + -0.13502965E-01 -0.32891464E+00 0.15413618E+00 0.46012130E-01 + 0.10862464E+00 0.12537771E+00 -0.12952727E+00 -0.47462337E-01 + -0.35870597E-02 0.86061358E-01 0.89103073E+00 -0.37754767E-01 + -0.38592705E+00 -0.17952418E+00 0.40533394E-01 0.47559445E-02 + -0.18648680E-01 -0.11294575E+00 0.12865890E-01 -0.69007254E-03 + -0.18691146E+00 -0.33661297E+00 0.48614144E-02 0.11631002E-01 + -0.95324073E-03 0.85280649E-02 0.36868374E-02 0.60911477E-02 + 0.32471757E-01 0.35279292E+00 -0.18637425E+00 -0.75623025E-02 + -0.97096674E-02 0.31888073E-02 -0.51301718E-02 -0.62356028E-02 + 0.11819323E-01 -0.84096253E-01 0.25142324E+00 -0.35519764E-01 + 0.26370293E-01 0.97039521E-01 -0.31170717E-01 -0.37270427E-01 + 0.46906829E-01 0.65398109E-02 0.45785110E-01 0.13975871E+00 + 0.26513165E+00 -0.29776648E-01 -0.25009252E-01 0.36971886E-01 + -0.30679654E-01 0.35375290E-01 0.11662495E+00 0.15254176E+00 + 0.67530102E+00 0.15002050E+01 0.58707792E-01 -0.19350795E+00 + 0.69749177E-01 -0.31615753E-01 -0.64090908E-01 -0.20062798E+00 + -0.83293790E+00 -0.15851488E+01 0.79647267E+00 0.14819025E+00 + 0.13229817E+00 -0.22473097E-01 0.55494756E-01 0.13741881E+00 + -0.30662364E+00 0.15882357E+01 -0.10474654E+01 0.56707895E+00 + 0.21353865E+00 -0.70312959E+00 0.67766070E-01 0.13480252E+00 + -0.26861513E+00 0.10558594E+00 0.42528209E+00 -0.81927925E+00 + -0.13487949E+01 -0.28105813E+00 0.56431311E+00 -0.22810180E+00 + 0.15924788E+00 -0.40170726E+00 -0.70476115E+00 -0.50016040E+00 + -0.57117230E+00 -0.95467198E+00 -0.63309115E+00 0.40046287E+00 + -0.30428419E+00 0.42816609E-01 0.86010098E-01 0.67586058E+00 + 0.25389242E+01 0.97007102E+00 -0.13116741E+01 -0.12303473E+00 + -0.53631341E+00 0.64055860E-01 -0.72015226E-01 -0.42832971E+00 + 0.86087793E+00 -0.44755630E+01 0.10564413E+01 -0.66151208E+00 + -0.45737475E+00 0.15295457E+01 0.55482637E-01 -0.10898268E+00 + 0.44265327E+00 -0.39993185E+00 -0.14845781E+01 0.12734603E+01 + 0.23328686E+01 0.94133902E+00 -0.13304433E+01 0.53523225E+00 + -0.28171420E+00 0.10899057E+01 0.11757889E+01 0.43657404E+00 + 0.14657229E+00 0.85669935E-01 0.69275594E+00 -0.22207184E+00 + 0.28957170E+00 0.16122398E-02 0.24003390E-01 -0.55424219E+00 + -0.20080192E+01 0.30063146E+00 0.88270497E+00 -0.69684207E-01 + 0.51002681E+00 -0.63769460E-01 0.87251067E-02 0.35308439E+00 + -0.61427224E+00 0.32225552E+01 -0.25058147E-02 0.50169885E+00 + 0.13464719E+00 -0.10105829E+01 -0.71476698E-01 0.32011800E-01 + -0.21982674E+00 0.30498493E+00 0.11992683E+01 -0.96706665E+00 + -0.11388685E+01 -0.73485714E+00 0.80431402E+00 -0.39570129E+00 + 0.16278827E+00 -0.83236426E+00 -0.58864462E+00 -0.14675557E-01 + -0.23623409E-01 -0.17950740E-01 0.66034079E-01 -0.11922823E+00 + -0.54179132E-02 0.14375947E-01 -0.60841930E-02 -0.26708576E-02 + 0.43763369E-02 -0.10887977E-01 -0.71096830E-02 0.11585611E+00 + 0.90701818E-01 0.55126939E-03 0.56899376E-02 0.31451136E-02 + -0.52986522E-02 0.10125035E+00 0.17959678E+00 0.10625632E+00 + -0.50184567E-01 0.10304493E+00 0.24058525E-01 -0.32390207E-01 + 0.75553022E-02 -0.20764859E-01 -0.11460811E+00 0.79707861E-01 + -0.29399197E-02 -0.67522347E-01 0.13258696E+00 0.49736485E-01 + -0.78869835E-02 -0.39157867E-02 0.24828210E-01 0.10480851E+00 + 0.19343020E+00 0.17289960E+00 -0.31678689E+00 -0.17360760E+00 + 0.37843499E-01 0.62656105E-01 -0.18113920E-02 -0.78926921E-01 + -0.26774192E+00 -0.22751542E-01 -0.13300698E+00 0.24421449E+00 + -0.40151697E+00 -0.44680603E-01 0.90510011E-01 -0.45797311E-01 + -0.19253582E-01 -0.53374839E+00 -0.90245157E+00 -0.14048404E+00 + 0.31762445E+00 -0.75603157E+00 -0.17422201E+00 0.16830651E+00 + -0.67688465E-01 0.83993077E-01 0.92552233E+00 -0.17285004E-01 + 0.26109928E+00 0.74910754E+00 -0.50195228E-01 -0.18097822E+00 + -0.59655149E-01 0.36261842E-01 -0.16167019E+00 -0.18626478E+00 + -0.31044501E+00 -0.34046000E+00 0.30551195E+00 0.83555341E-01 + -0.10926254E+00 -0.14400959E+00 0.99276416E-02 0.17333108E+00 + 0.29973918E+00 -0.38495313E-01 0.25320417E+00 -0.16226834E+00 + 0.34776393E+00 0.68651736E-01 -0.18148480E+00 0.94451785E-01 + 0.44157464E-01 0.68308866E+00 0.12142458E+01 0.23941616E-01 + -0.49178916E+00 0.10317268E+01 0.30297923E+00 -0.16258198E+00 + 0.87277539E-01 -0.87765038E-01 -0.12280102E+01 -0.17898367E+00 + -0.24613488E+00 -0.11506538E+01 -0.37660396E+00 0.14181739E+00 + 0.15465289E+00 -0.45992363E-01 0.17110234E+00 -0.21097979E-01 + 0.60008111E-03 -0.18510207E-02 -0.62552840E-02 -0.93422085E-02 + 0.60288727E-01 -0.40334366E-01 -0.43196455E-02 -0.61084591E-02 + -0.83072297E-02 -0.34225453E-01 -0.11824392E-01 -0.13751617E-02 + -0.17261762E-01 0.43971881E-01 0.76659024E-01 0.33106836E-02 + 0.45388602E-02 0.75911164E-01 0.46962660E-01 0.21635791E-01 + -0.77638447E-01 0.22221390E-01 -0.79871535E-01 -0.12672771E-01 + 0.25498134E-02 0.12646123E-02 0.51471148E-01 0.33606589E-02 + -0.13351038E-01 -0.24537465E-01 -0.35670411E-01 0.14631916E-01 + -0.90372801E-01 0.99615054E-03 0.22813002E-01 0.21750359E-01 + -0.83270609E-01 -0.18755152E-02 0.53586461E-01 0.93389495E-03 + -0.19740278E+00 -0.11719644E+00 0.33343486E-01 0.22319425E-01 + -0.29066566E-02 0.41417845E-01 -0.10801822E-01 0.28476704E-01 + 0.10270040E-01 0.15855376E+00 -0.24726029E+00 0.14735274E-01 + -0.27862186E-01 -0.23555484E-01 -0.40901415E-02 0.60059428E-02 + 0.97556561E-02 0.91812015E-02 -0.14488044E-02 0.16592182E-02 + 0.36357131E-01 0.13751268E-01 -0.29764043E-01 0.92727989E-02 + -0.86509585E-02 -0.18609468E-01 -0.27944660E-03 0.31448000E-02 + 0.75850119E-02 -0.18039661E-01 0.38740944E-01 0.79681993E-01 + 0.48902296E-02 0.57677589E-02 -0.33417840E-01 -0.68668872E-02 + 0.22215866E-02 -0.40455721E-02 0.36775912E-02 -0.22278043E-01 + 0.10155324E-01 -0.54381907E-01 0.22469953E-01 0.53363740E-01 + -0.10555823E-01 -0.46219714E-02 -0.16068282E-02 0.35136200E-01 + 0.11071407E-01 0.18289034E-02 -0.75299372E-02 -0.14482980E-03 + 0.35247689E-02 0.42061885E-02 0.51727854E-02 0.17811508E-02 + -0.10641966E-01 0.48779808E-02 0.15797321E-01 0.18416286E-01 + 0.16457360E-05 -0.16946378E-02 -0.99487118E-02 0.13055208E-01 + -0.14801213E-02 -0.56088269E-02 -0.40782355E-02 -0.35834806E-02 + 0.71111391E-02 0.12105495E-01 -0.45448774E-03 0.62631629E-02 + 0.36953592E-02 -0.28422424E-02 -0.19898398E-02 0.48590712E-02 + 0.11628111E-01 0.28534024E-03 -0.12218227E-01 0.24151376E-02 + -0.16151644E-03 0.75605242E-02 0.45826547E-02 -0.46821274E-02 + 0.12317483E-02 0.26966267E+01 -0.14578773E-05 0.50493293E-02 + 0.65831314E-02 0.43787733E-02 0.39015976E-02 0.89700258E-03 + 0.85402263E-03 -0.68476162E-03 0.11744529E+00 0.12448851E-01 + 0.51003765E-01 0.40138353E-01 0.26125019E-01 -0.16533555E-01 + -0.29090958E-01 -0.17052057E-02 0.80826618E-02 0.11973115E+01 + -0.65078020E-01 -0.99028289E-01 -0.81597328E-01 -0.32280181E-01 + -0.22603730E-01 -0.10447552E-01 -0.41825704E-01 0.23424164E-02 + 0.84804952E-01 -0.19440408E+00 -0.12508392E+00 -0.10045743E+00 + -0.13333432E+00 0.45456056E-01 0.10219765E+00 0.23704873E-01 + -0.32805733E-01 -0.18993034E+01 0.22647890E+00 0.26471585E+00 + 0.15323693E+00 0.31060224E-01 0.91907263E-01 0.40878780E-01 + 0.95126569E-01 0.45649107E-02 -0.19986723E+00 0.13906372E+00 + 0.85632384E-01 0.60318701E-01 0.11465533E+00 -0.33805624E-01 + -0.83187342E-01 -0.24020080E-01 0.27057445E-01 0.82170755E+00 + -0.12471491E+00 -0.17876774E+00 -0.71481466E-01 0.27813890E-02 + -0.87954462E-01 -0.34027167E-01 -0.52087925E-01 -0.90684928E-02 + 0.43652612E-02 -0.33954412E+00 -0.28059763E+00 -0.48793940E-03 + 0.57276785E-02 -0.32016949E-02 0.50360453E-02 0.29207736E-02 + 0.43764631E-02 0.85188970E-02 0.30349517E+00 -0.33877456E+00 + -0.28169502E-02 -0.11583041E-01 0.14881251E-02 -0.76294243E-02 + -0.18964120E-02 0.11345063E-01 -0.12247943E-01 0.17714764E+00 + -0.34096591E-01 -0.22695521E-01 0.67024946E-01 -0.39165456E-01 + -0.30592240E-01 0.23541644E-01 0.10291561E-01 0.50195772E-01 + 0.15112162E+00 0.20722289E+00 0.34769017E-01 -0.29959410E-01 + 0.41639198E-01 -0.29532194E-01 0.25578802E-01 0.78463852E-01 + -0.60606830E-01 0.10363140E+01 0.86959022E+00 0.15487760E+00 + -0.99790514E-01 0.41185062E-01 0.15034963E-01 -0.47623415E-01 + -0.14509767E+00 -0.57434636E+00 -0.97933841E+00 0.12581738E+01 + 0.25207505E-01 0.18004078E+00 -0.21284508E-01 0.77311523E-01 + 0.64989805E-01 -0.20855136E+00 0.47468439E+00 -0.10885420E+01 + 0.38821119E+00 0.23283724E+00 -0.50951570E+00 0.23506916E+00 + 0.35243027E-01 -0.17403509E+00 -0.23718674E-01 0.26270485E+00 + -0.70497757E+00 -0.13304205E+01 -0.53473514E+00 0.28150737E+00 + -0.26304519E+00 0.18870258E+00 -0.23507074E+00 -0.43555260E+00 + 0.11272908E+00 -0.99514478E+00 -0.34449831E+00 -0.71797234E+00 + 0.18339764E+00 -0.18274480E+00 -0.63537359E-01 0.10146952E+00 + 0.48926973E+00 0.20371647E+01 0.22109608E+00 -0.20750751E+01 + 0.11111617E+00 -0.56142098E+00 0.42209644E-01 -0.19956110E+00 + -0.19299474E+00 0.54810613E+00 -0.14952497E+01 0.17684420E+01 + -0.49218816E+00 -0.28709847E+00 0.11091633E+01 -0.42815655E+00 + 0.12084532E+00 0.37503195E+00 -0.81880510E-01 -0.14637736E+01 + 0.10478173E+01 0.26719482E+01 0.13296671E+01 -0.46114391E+00 + 0.65784061E+00 -0.44182307E+00 0.56460422E+00 0.67381424E+00 + -0.28567558E-01 0.46754569E+00 0.17383932E+00 0.67441458E+00 + -0.10554821E+00 0.19837099E+00 0.47730748E-01 -0.50233286E-01 + -0.40128088E+00 -0.17196780E+01 0.35429364E+00 0.14362478E+01 + -0.16386370E+00 0.45979801E+00 -0.21841004E-01 0.13400900E+00 + 0.14516471E+00 -0.39125723E+00 0.10732861E+01 -0.75785559E+00 + 0.52866328E+00 0.71640015E-01 -0.73546070E+00 0.24522775E+00 + -0.13535357E+00 -0.22979882E+00 0.11654175E+00 0.15114307E+01 + -0.77876270E+00 -0.15880040E+01 -0.89949375E+00 0.22964896E+00 + -0.49463129E+00 0.30698770E+00 -0.40895748E+00 -0.29977864E+00 + -0.79477392E-02 -0.18472306E-01 -0.12967196E-01 0.94843686E-01 + -0.88151097E-01 -0.51070820E-02 0.13504691E-01 -0.41395505E-02 + 0.24751082E-03 -0.44946186E-02 -0.16740741E-01 -0.41124821E-02 + 0.76202445E-01 0.10344875E+00 -0.22537799E-02 0.43183677E-02 + 0.64705717E-04 -0.59640518E-03 0.95618188E-01 0.92954643E-01 + 0.61767258E-01 -0.79024971E-01 0.11346288E+00 0.15616628E-01 + -0.56508444E-02 0.42031710E-02 0.24400151E-02 0.96911378E-02 + 0.29432038E-01 -0.46471480E-01 -0.12849206E+00 0.22337720E-01 + 0.15172202E-01 0.14756575E-01 -0.10275276E-01 0.32632597E-01 + 0.90240724E-02 0.98447263E-01 0.13910586E+00 -0.49684674E+00 + 0.73422432E-01 0.23828601E-02 0.33573527E-02 -0.72285314E-02 + -0.70686333E-01 -0.16957556E+00 0.50366662E-01 -0.11485599E+00 + -0.34002475E-01 -0.50488788E+00 -0.42284265E-01 0.40896662E-01 + -0.22395281E-02 -0.41483179E-01 -0.39100447E+00 -0.52364653E+00 + 0.81161149E-02 0.23826461E+00 -0.69935983E+00 -0.49828894E-01 + 0.58817081E-01 -0.30699247E-01 0.18457999E-02 0.18260168E+00 + 0.12305916E-01 0.35234401E+00 0.78882331E+00 0.17531560E+00 + 0.12401869E-01 -0.94772577E-01 0.70517533E-01 -0.18616916E+00 + -0.20249624E-01 -0.18173020E+00 -0.28802204E+00 0.27763468E+00 + -0.33017457E+00 -0.40717524E-01 -0.36766961E-01 0.36675006E-01 + 0.13604657E+00 0.24803014E+00 -0.15678066E+00 0.20198596E+00 + 0.30329382E+00 0.25746179E+00 0.61767373E-01 -0.93926676E-01 + 0.18352004E-01 0.62546611E-01 0.35427305E+00 0.75491345E+00 + -0.11663890E+00 -0.31980485E+00 0.90525955E+00 0.89059651E-01 + -0.78885198E-01 0.31197920E-01 -0.51024291E-02 -0.33548266E+00 + 0.36326097E-03 -0.39684543E+00 -0.10250444E+01 -0.45261121E+00 + -0.34287624E-01 0.12944756E+00 -0.95721245E-01 0.19820654E+00 + -0.17688448E-01 0.15564424E-02 0.39224285E-02 -0.38294392E-02 + -0.75140484E-02 0.59528701E-01 -0.48654277E-01 -0.22800365E-02 + -0.31075822E-02 -0.96650571E-02 -0.21461817E-01 0.77744684E-03 + 0.16463974E-02 -0.11097819E-01 0.51459324E-01 0.68256915E-01 + 0.39644502E-02 -0.15337553E-02 0.34351688E-01 0.43128196E-01 + 0.19956019E-01 -0.36301591E-01 0.99364556E-02 -0.61444480E-01 + -0.24400519E-01 0.44092606E-03 0.13028904E-02 0.22622351E-01 + 0.11014454E-01 -0.81500672E-02 -0.17104018E-01 -0.29482946E-01 + 0.26210615E-01 -0.75117707E-01 -0.28545759E-03 0.11840698E-01 + 0.17646829E-01 -0.77693105E-01 0.38775124E-02 0.28927619E-01 + 0.27532191E-02 -0.16366033E+00 -0.96197546E-01 0.21273760E-01 + 0.86615868E-02 0.72159092E-02 0.12788318E-01 -0.31918742E-01 + 0.10852542E-01 0.17516691E-01 0.12468153E+00 -0.17470153E+00 + -0.41061863E-02 -0.12752777E-02 -0.18442728E-01 -0.91943741E-02 + 0.67788698E-02 0.14435091E-03 0.78480057E-02 0.98523393E-04 + 0.22894251E-02 0.25241951E-01 0.15407711E-01 -0.16817288E-01 + 0.31028625E-02 -0.10441542E-01 -0.79444088E-02 -0.17821642E-02 + 0.52367500E-03 0.82076304E-02 -0.18905921E-01 0.29213514E-01 + 0.44744343E-01 -0.13247139E-02 -0.37604000E-02 -0.16222805E-01 + -0.89065693E-02 -0.51037152E-02 -0.28314355E-02 0.18366750E-01 + -0.27277078E-01 0.19684860E-01 -0.35009183E-01 0.23218997E-01 + 0.28978944E-01 -0.10054998E-01 -0.95502064E-02 -0.97779632E-02 + 0.31590559E-01 0.18811367E-01 0.27152249E-02 -0.10953412E-01 + 0.43081823E-02 0.26744683E-02 0.12518663E-02 0.79071671E-02 + -0.18357652E-02 -0.90767108E-02 0.21241112E-02 0.64085424E-02 + 0.12395337E-01 -0.43195114E-02 0.27304080E-02 -0.55480227E-02 + 0.65472908E-02 0.11660622E-02 -0.26218849E-02 -0.10962780E-02 + 0.18541917E-03 0.11536263E-01 0.10362317E-01 0.24194026E-02 + -0.11380969E-02 0.27860261E-02 0.36632174E-03 -0.13429243E-02 + 0.37920708E-02 0.48007779E-02 0.10027206E-02 -0.10543190E-01 + 0.72369953E-02 -0.16516770E-02 0.35164722E-02 0.81353867E-03 + -0.30095526E-02 0.13707986E-02 diff --git a/src/test/resources/nequick/ccir21.asc b/src/test/resources/nequick/ccir21.asc new file mode 100644 index 000000000..6579ca610 --- /dev/null +++ b/src/test/resources/nequick/ccir21.asc @@ -0,0 +1,715 @@ + 0.63694153E+01 -0.34792226E-01 -0.74101150E-01 0.35132647E-01 + 0.24849804E-01 0.11001031E-01 -0.19688884E-01 0.26043866E-01 + 0.10386005E-01 -0.32306509E-02 0.13962946E-01 -0.10103379E-01 + 0.18723549E-01 0.21955318E+01 -0.39681271E-02 0.18197682E+00 + 0.11352259E+00 -0.31861097E+00 -0.15868060E-02 0.39689049E-01 + 0.17209748E-01 0.19868957E+00 -0.80792844E-01 -0.11767739E+00 + 0.12445183E+00 -0.55129856E-01 0.97781315E+01 0.63362420E-01 + -0.53614479E+00 -0.49567857E+00 0.11741467E+01 -0.63698137E+00 + 0.52839708E+00 -0.11437671E+00 -0.15261203E+00 -0.13389719E+00 + -0.36991829E+00 0.11427349E+00 -0.65866756E+00 -0.32809158E+02 + -0.52905566E+00 0.56250453E+00 0.25619733E+00 0.76901016E+01 + -0.76617765E+00 0.13428245E+00 -0.12091904E+01 -0.15285414E+01 + 0.67826205E+00 0.23068149E+01 -0.12790623E+01 -0.21327353E+00 + -0.58018158E+02 0.77569704E+01 0.58701000E+01 -0.37597201E+01 + -0.11486584E+02 0.50069208E+01 -0.19475279E+01 -0.26410751E+01 + 0.11135998E+01 0.12512261E+00 0.17224884E+01 -0.64933646E+00 + 0.42313728E+01 0.81844147E+02 -0.18177504E+02 -0.10697339E+02 + 0.40396547E+01 -0.31275724E+02 0.73205338E+01 -0.39177847E+01 + 0.58170767E+01 0.57865572E+01 -0.22364533E+01 -0.11624065E+02 + 0.43845692E+01 0.30469100E+01 0.10854137E+03 -0.30877764E+02 + -0.10837448E+02 0.22226166E+02 0.34705902E+02 -0.13085100E+02 + 0.15620651E+01 0.11406906E+02 -0.31094885E+01 0.85883933E+00 + -0.26042700E+01 0.11922541E+01 -0.10150282E+02 -0.44580307E+02 + 0.79383827E+02 0.24413511E+02 -0.21338623E+02 0.50065231E+02 + -0.21513107E+02 0.15347664E+02 -0.10429509E+02 -0.11754140E+02 + 0.34370356E+01 0.24936628E+02 -0.73416338E+01 -0.82282839E+01 + -0.10028138E+03 0.37588978E+02 0.43946161E+01 -0.33876648E+02 + -0.40892406E+02 0.13890780E+02 0.78339022E+00 -0.14895036E+02 + 0.35314481E+01 -0.15978297E+01 0.11808844E+01 -0.71185207E+00 + 0.10538705E+02 -0.50124065E+02 -0.10354133E+03 -0.18342451E+02 + 0.30102615E+02 -0.34501984E+02 0.25331207E+02 -0.20694260E+02 + 0.83078852E+01 0.11584895E+02 -0.26216393E+01 -0.24104065E+02 + 0.61813402E+01 0.85840073E+01 0.37392715E+02 -0.14476902E+02 + 0.99496174E+00 0.15965063E+02 0.16501511E+02 -0.52093725E+01 + -0.93629730E+00 0.62317781E+01 -0.14138384E+01 0.73162246E+00 + 0.71325302E-01 0.48246253E-01 -0.39943352E+01 0.43037415E+02 + 0.42916580E+02 0.38246315E+01 -0.13166987E+02 0.83462524E+01 + -0.10465691E+02 0.90876627E+01 -0.24948664E+01 -0.43121128E+01 + 0.83627832E+00 0.86244040E+01 -0.20590620E+01 -0.31272593E+01 + -0.40967345E-01 0.18442563E+01 0.17633561E+01 -0.41515935E-01 + 0.14598439E-01 0.52640401E-02 0.33678550E-01 0.18317278E-01 + -0.30224020E-01 -0.20597538E-01 0.24734344E-01 -0.10589097E-01 + 0.24328355E-01 -0.22360490E+00 -0.19206476E+01 0.18999892E+01 + -0.99210799E-01 0.13044930E-01 0.23915390E-01 0.10539089E-01 + 0.34584552E-02 0.12267413E-01 0.57058185E-02 0.42165183E-02 + 0.10772910E-01 -0.26614875E-01 -0.84906542E+00 0.15865498E+01 + 0.22927694E+01 -0.33673313E+00 0.19166988E+00 0.64818418E+00 + 0.42091948E+00 -0.16618840E+00 0.78511834E-01 -0.64768136E-01 + -0.39221168E-01 -0.89224160E-01 0.13744980E+00 -0.14338664E+01 + -0.13094720E+01 0.17051716E+01 -0.10853502E+01 0.19608438E+00 + 0.16197298E+00 0.21957266E+00 -0.31434268E+00 0.37495285E+00 + 0.34630172E-01 -0.90445817E-01 0.12040329E+00 0.17347546E-01 + 0.52947841E+01 0.10844605E+02 0.37868404E+01 -0.10532484E+01 + 0.36165705E+01 -0.88409209E+00 0.49687561E+00 -0.61486650E+00 + 0.60421681E+00 0.21092276E+00 -0.32828128E+00 -0.47752506E+00 + -0.94027746E+00 -0.25222616E+01 -0.46317272E+01 0.80145836E+01 + 0.24095898E+01 0.39263372E+01 0.25864679E+00 -0.13400964E+01 + 0.52035743E+00 0.38246593E+00 -0.92407823E+00 -0.74844413E-01 + -0.70236462E+00 0.10894668E+00 0.22070524E+02 -0.17723101E+02 + -0.98362646E+01 0.23332727E+01 0.64828501E+01 -0.10151886E+02 + -0.41051788E+01 0.79824430E+00 -0.15293570E+01 -0.26827991E+01 + 0.52764028E+00 0.14580544E+01 -0.35977666E+01 0.25647629E+02 + -0.80371380E+01 -0.18844772E+02 0.13793572E+02 0.82348639E+00 + 0.21338463E+01 -0.32136981E+01 0.57288918E+01 -0.49189863E+01 + 0.13956451E+01 0.25248592E+01 -0.16098523E+00 -0.32238257E+01 + -0.37831741E+02 -0.82785980E+02 0.40492920E+02 0.49759912E+01 + -0.32693497E+02 0.38788464E+01 -0.55101299E+01 0.52948971E+01 + -0.33069551E+01 -0.27049427E+01 0.15614634E+01 0.44462080E+01 + 0.58480530E+01 0.43074551E+02 -0.35585449E+02 -0.63008469E+02 + -0.10148061E+02 -0.38213268E+02 -0.12484531E+01 0.11518610E+02 + -0.16986063E+01 -0.44723072E+01 0.66183815E+01 0.27471107E+00 + 0.51703405E+01 0.16862419E+01 -0.12163273E+03 0.35768082E+02 + 0.79624344E+02 -0.42255276E+00 -0.29189651E+02 0.46464645E+02 + 0.11797403E+02 -0.35026553E+01 0.71749530E+01 0.28277510E+02 + 0.89573681E-01 -0.11701195E+02 0.20683777E+02 -0.14859583E+03 + 0.73930832E+02 0.46461655E+02 -0.73587769E+02 -0.38935532E+02 + -0.21367310E+02 0.22717575E+02 -0.38625607E+02 0.22611206E+02 + -0.13838291E+02 -0.19563034E+02 -0.54408703E+01 0.22669935E+02 + 0.96786774E+02 0.19943216E+03 -0.22654291E+03 -0.25076120E+01 + 0.99311035E+02 -0.32880907E+01 0.18322617E+02 -0.17872755E+02 + 0.32761438E+01 0.10708525E+02 -0.29951105E+01 -0.12494044E+02 + -0.13923940E+02 -0.15908409E+03 0.22274886E+03 0.14706615E+03 + 0.20086594E+02 0.12031584E+03 -0.89654094E+00 -0.32396164E+02 + -0.99818581E+00 0.18598757E+02 -0.17126846E+02 0.17582542E+00 + -0.13738127E+02 -0.75380640E+01 0.28013403E+03 -0.26947161E+02 + -0.30688672E+03 -0.24610764E+02 0.25527039E+02 -0.90596802E+02 + -0.53650866E+01 0.11050000E+02 -0.16220322E+02 -0.88406464E+02 + -0.52042227E+01 0.37062027E+02 -0.48078003E+02 0.34042725E+03 + -0.20572092E+03 -0.69570496E+02 0.17793367E+03 0.15674860E+03 + 0.55941879E+02 -0.64308517E+02 0.11241122E+03 -0.44273407E+02 + 0.41367416E+02 0.56130981E+02 0.22120148E+02 -0.57441711E+02 + -0.10435166E+03 -0.22239348E+03 0.35573291E+03 -0.10317238E+02 + -0.12436948E+03 -0.36222420E+01 -0.26919477E+02 0.25896912E+02 + 0.43949404E+01 -0.15245828E+02 0.24285517E+01 0.14503663E+02 + 0.14726945E+02 0.22333340E+03 -0.35747263E+03 -0.15495206E+03 + -0.19590118E+02 -0.15038438E+03 0.54151440E+01 0.37789570E+02 + 0.71866355E+01 -0.28933882E+02 0.18707537E+02 -0.73916203E+00 + 0.14262703E+02 0.99755716E+01 -0.29553101E+03 0.18611116E+02 + 0.45680981E+03 0.50157089E+02 0.23859192E+02 0.80800888E+02 + -0.16151367E+02 -0.16563156E+02 0.17871490E+02 0.11023318E+03 + 0.84442797E+01 -0.48368694E+02 0.49598923E+02 -0.32021777E+03 + 0.24028612E+03 0.77732681E+02 -0.19011116E+03 -0.21534547E+03 + -0.59049301E+02 0.76389923E+02 -0.14133389E+03 0.37059875E+02 + -0.50378235E+02 -0.66598373E+02 -0.30074064E+02 0.62589401E+02 + 0.41164993E+02 0.96164978E+02 -0.17758121E+03 0.96721039E+01 + 0.54648762E+02 0.41163750E+01 0.14427827E+02 -0.13174431E+02 + -0.55630002E+01 0.72903714E+01 -0.63024837E+00 -0.61418171E+01 + -0.56469116E+01 -0.10944717E+03 0.17815540E+03 0.63606419E+02 + 0.73619614E+01 0.64106522E+02 -0.35921400E+01 -0.15911516E+02 + -0.52352409E+01 0.14696767E+02 -0.72762303E+01 0.22202390E+00 + -0.47575579E+01 -0.41712532E+01 0.11644560E+03 -0.11094306E+02 + -0.22673260E+03 -0.28864288E+02 -0.28778976E+02 -0.27439205E+02 + 0.14110432E+02 0.86871843E+01 -0.75935078E+01 -0.47815201E+02 + -0.36480932E+01 0.22022614E+02 -0.18813353E+02 0.10188475E+03 + -0.10228133E+03 -0.39122410E+02 0.73224976E+02 0.96420273E+02 + 0.22319059E+02 -0.32373444E+02 0.63122814E+02 -0.10419508E+02 + 0.21842422E+02 0.27861082E+02 0.13659898E+02 -0.24893921E+02 + 0.17436195E-01 -0.93482256E-01 -0.10793443E+00 -0.82785118E+00 + -0.84534407E-01 -0.26766164E-03 0.16654752E-01 -0.30994600E-01 + -0.11604786E-01 0.13113018E-01 -0.68038760E-03 0.19080635E-02 + 0.26341381E-01 0.13251557E-01 -0.39075937E-01 0.66035569E-01 + 0.18244596E-01 -0.78173649E+00 -0.11768350E-01 -0.53608525E-02 + -0.28954308E-01 0.22645094E-01 0.34665680E-02 0.17233105E-01 + 0.14634844E-01 -0.29612660E-01 0.50487894E+00 0.22164826E+00 + -0.24378800E+00 -0.20211709E+00 0.94408870E-01 0.48972869E+00 + -0.23864595E-01 -0.27299476E+00 -0.34467149E+00 -0.14131469E+00 + -0.20775776E+00 -0.61760705E-01 -0.61581098E-01 0.99109298E+00 + 0.17821749E+00 0.82714498E+00 -0.94977480E+00 -0.61216384E+00 + 0.36868057E+00 0.22957663E+00 -0.12434894E+00 0.49470671E-01 + -0.90065971E-02 -0.12500755E+00 0.15639450E-01 -0.57548750E-01 + 0.26369982E+01 0.56819504E+00 0.27612619E+01 0.47631836E+01 + 0.26233940E+01 -0.35643741E+00 -0.49008378E+00 0.86467230E+00 + 0.32177621E+00 -0.11061667E+00 0.54952288E+00 0.32997727E-01 + -0.70062482E+00 0.11445436E+01 -0.10629311E+01 0.18839436E+01 + -0.18157120E+01 0.57845402E+01 -0.11576204E+00 0.76202613E+00 + 0.12073851E+01 0.22669693E-01 -0.58742684E+00 -0.53316754E+00 + -0.86090750E+00 0.12829594E+00 -0.12164212E+00 -0.11267495E+00 + 0.39087937E+01 0.14429274E+01 0.49848490E+01 -0.38739052E+01 + 0.32264167E+00 0.28122406E+01 0.33922615E+01 0.10338421E+01 + 0.14853581E+01 0.56888652E+00 0.14110202E+00 -0.83919153E+01 + -0.36753814E+01 -0.42955170E+01 0.33921528E+01 0.80299025E+01 + -0.31461637E+01 -0.15146474E+01 0.62426537E+00 0.49127713E+00 + 0.91559422E+00 0.12294980E+01 -0.11871796E+01 -0.17221963E+00 + -0.10749142E+02 0.90448103E+01 -0.22625641E+02 -0.52351303E+01 + 0.13716089E+02 0.13832466E+00 0.71097839E+00 -0.13742867E+01 + -0.29770534E+01 -0.49114960E+00 -0.18319702E+01 0.83288515E+00 + 0.42117643E+01 -0.74518118E+01 0.20720306E+02 -0.12630376E+02 + -0.16478210E+02 -0.81918631E+01 -0.70487118E+00 -0.88454475E+01 + -0.63079481E+01 -0.16885538E+01 0.26288919E+01 0.37352054E+01 + 0.57972155E+01 0.16058006E+01 -0.51203442E+01 -0.25459335E+01 + -0.16263306E+02 -0.22843132E+01 -0.19856339E+02 0.82789288E+01 + -0.49226767E+00 -0.64728532E+01 -0.86539011E+01 -0.22938890E+01 + -0.35961864E+01 -0.14950494E+01 0.24064369E+00 0.16074705E+02 + 0.12596721E+02 0.77019687E+01 -0.36065147E+01 -0.19908417E+02 + 0.71198816E+01 0.27998273E+01 -0.71557939E-01 -0.21365404E+01 + -0.29742060E+01 -0.35151472E+01 0.40621052E+01 0.22940130E+01 + 0.13587054E+02 -0.25019396E+02 0.54193542E+02 -0.97644224E+01 + -0.52721291E+02 0.34096537E+01 0.70795673E+00 -0.32761898E+01 + 0.75477505E+01 0.20922935E+01 0.12183954E+01 -0.31462877E+01 + -0.88257313E+01 0.19144424E+02 -0.55912868E+02 0.20548431E+02 + 0.58517227E+02 -0.10258887E+02 0.43046951E+01 0.22909636E+02 + 0.11171077E+02 0.56796513E+01 -0.34555607E+01 -0.77860570E+01 + -0.11080913E+02 -0.49921551E+01 0.50711031E+01 0.36411524E+01 + 0.15481095E+02 0.27508345E+01 0.21559464E+02 -0.52467356E+01 + -0.18340141E+00 0.42208872E+01 0.59293566E+01 0.12054520E+01 + 0.28709698E+01 0.10667135E+01 -0.38529623E+00 -0.73677702E+01 + -0.12092901E+02 -0.48593473E+01 -0.27885952E+01 0.14997449E+02 + -0.45441275E+01 -0.15541581E+01 -0.77496177E+00 0.20404882E+01 + 0.22645693E+01 0.28346663E+01 -0.32707062E+01 -0.27267532E+01 + -0.64316149E+01 0.16303360E+02 -0.38149586E+02 0.12910196E+02 + 0.42223907E+02 -0.46120901E+01 -0.76996183E+00 0.53413091E+01 + -0.56315403E+01 -0.12916851E+01 0.31741202E+00 0.23768797E+01 + 0.58335037E+01 -0.17753614E+02 0.41826599E+02 -0.77663784E+01 + -0.46996098E+02 0.16903776E+02 -0.39931259E+01 -0.17180529E+02 + -0.67168841E+01 -0.45003734E+01 0.13160982E+01 0.48622332E+01 + 0.64542894E+01 0.36038082E+01 -0.22608569E+00 0.22383174E-01 + -0.21983469E+00 0.38383201E-01 0.10683269E+00 -0.27958041E+00 + -0.72073120E+00 -0.13659808E-01 -0.94429441E-02 -0.40688924E-02 + 0.14465627E-01 -0.12307436E-01 0.84743910E-02 0.77261627E-01 + 0.52328426E-01 -0.33979189E-01 0.24548585E-01 0.15614873E+00 + 0.68249083E+00 -0.32020849E+00 -0.23883097E-01 0.48189063E-01 + -0.71453033E-02 0.65714084E-02 -0.42875463E-03 -0.49787797E-02 + 0.16318838E+00 0.40782076E+00 -0.13131219E+00 -0.78088105E-01 + -0.43878070E+00 -0.45414305E+00 -0.18014473E+00 0.51335119E-01 + 0.92360318E-01 0.70260227E-01 0.40587511E-01 0.57136439E-01 + -0.38172573E-01 -0.32295978E+00 -0.36206935E-01 0.54615408E+00 + 0.15255278E+00 0.10668568E-02 0.59954655E+00 -0.58115119E+00 + -0.14064191E+00 -0.59324689E-02 0.17862685E-02 -0.16501711E+00 + -0.68641961E-01 0.14574031E-01 0.22033205E+01 -0.42505044E+00 + 0.14705458E+01 0.99113517E-01 -0.91881233E+00 0.16044205E+01 + 0.17543229E+01 0.45916408E+00 0.27655857E-02 -0.15211324E+00 + 0.62531829E-01 0.22174662E+00 -0.89840293E-01 -0.98237640E+00 + 0.61098063E+00 -0.93203485E-01 0.24999487E+00 -0.16881294E+01 + -0.12344170E+01 0.17829294E+01 0.27928627E+00 -0.16599247E-01 + 0.71338475E-01 -0.15047699E+00 0.21899360E+00 0.51836599E-01 + 0.34149855E-01 -0.11778059E+01 0.41532451E+00 0.15049253E+00 + 0.86920917E+00 0.51964009E+00 -0.20884302E+00 0.89135766E-01 + -0.16401219E+00 -0.20817278E+00 -0.11379713E+00 -0.21582046E+00 + 0.54201890E-01 0.65804678E+00 0.50968669E-01 -0.83104891E+00 + -0.68715566E+00 0.75480461E-01 -0.84142131E+00 0.86892831E+00 + 0.25009823E+00 -0.44691864E-01 0.41970614E-01 0.42782468E+00 + 0.50102547E-02 -0.18369292E+00 -0.30072832E+01 0.10538675E+01 + -0.18198308E+01 0.25968856E+00 0.99997920E+00 -0.23609505E+01 + -0.17743444E+01 -0.73138213E+00 0.11850430E+00 0.35192615E+00 + -0.23847862E+00 -0.57276577E+00 0.14691013E+00 0.11595039E+01 + -0.71592593E+00 0.47009271E+00 0.22766800E+00 0.25950401E+01 + 0.12390490E+01 -0.26281445E+01 -0.37698337E+00 -0.21818753E+00 + -0.15531532E+00 0.19898310E+00 -0.42630187E+00 -0.24251966E+00 + 0.75564623E-01 -0.15819145E-02 -0.17070130E-01 0.62731862E-01 + 0.80122411E-01 -0.19053897E-01 -0.75502833E-03 0.20281675E+00 + -0.16062939E+00 -0.61040521E-02 0.32858416E-01 -0.53751804E-02 + 0.11075355E-01 0.84059775E-01 -0.26932992E-02 0.44004384E-01 + -0.30800801E-01 0.69791377E-02 0.19021638E-01 -0.30156031E-01 + 0.18149000E+00 0.21475331E+00 -0.98471157E-02 -0.55861105E-02 + 0.48251487E-02 -0.33545548E-02 0.15172923E+00 -0.10189055E+00 + 0.25645059E-01 -0.52431297E-01 -0.31783830E-01 -0.11050272E+00 + 0.11658211E-01 -0.22356764E-02 -0.46832776E+00 -0.37870400E-01 + -0.47675371E-02 -0.38657393E-01 0.74187763E-01 0.38575072E-01 + -0.21887577E+00 0.43412637E-01 0.79081833E-01 0.39201993E-01 + 0.11154533E-01 -0.64383924E-01 0.39611337E+00 -0.98804720E-02 + 0.39850544E-01 -0.27133226E-01 0.39764389E-01 -0.42043131E-01 + -0.27693447E-02 0.97743094E-01 -0.95391095E-01 0.11043072E-01 + 0.31084711E-01 -0.40372317E-02 0.13213969E-01 -0.24805332E-01 + 0.15137903E-01 0.56641243E-01 0.22465749E+00 -0.23782956E-02 + 0.96832961E-03 0.56767873E-02 0.27197037E-01 0.41327935E-01 + -0.92214346E-01 -0.47889192E-01 -0.41702390E-02 -0.81137717E-02 + 0.41315705E-01 -0.75267494E-01 -0.20449100E+00 0.59991557E-01 + -0.68433136E-02 0.14528460E-01 0.14191374E-01 -0.28540866E-01 + 0.25324687E-01 -0.79455256E-01 -0.23113195E-01 0.44245176E-01 + 0.34820780E-01 -0.90411380E-02 -0.25287878E-01 0.31344432E-02 + 0.10355320E-01 -0.10612029E+00 0.21018287E-01 -0.77975765E-02 + -0.76840562E-02 0.15142567E-01 -0.22948677E-01 -0.47588389E-01 + 0.11881717E-01 -0.63865602E-01 0.30425685E-01 -0.82677789E-02 + 0.21936269E-01 0.12532286E-01 -0.44801794E-02 -0.13164043E+00 + -0.46902079E-01 -0.13513892E-01 0.16624620E-03 -0.26316926E-01 + -0.12186966E-02 0.28734948E-01 -0.22959081E-02 0.10504898E-01 + -0.78018634E-02 0.84232539E-02 -0.90076961E-02 -0.66834763E-02 + 0.13984973E-01 -0.61138690E-01 0.11805170E-01 0.78700721E-01 + 0.18015916E-01 0.28624050E-01 -0.76267421E-02 -0.46754621E-01 + -0.22486155E-02 0.15880585E-01 0.64636171E-02 0.14192481E-01 + -0.67947758E-03 -0.35506718E-01 -0.25783082E-01 0.39371260E-01 + -0.79181977E-02 -0.47959830E-02 -0.34519915E-01 -0.25952056E-01 + -0.92375092E-02 0.23945644E-01 -0.36872244E-02 0.38071223E-01 + 0.14242783E-01 0.10948618E-01 0.21540880E-01 -0.42456158E-01 + 0.11031416E-01 0.34051064E-01 0.57469569E-01 0.45886554E-01 + 0.13773272E-01 -0.64351410E-03 -0.16607650E-01 0.18327732E-01 + -0.26219755E-02 -0.77091185E-02 0.13056586E-01 -0.54514222E-02 + 0.94509640E+01 0.10107970E+00 0.95546126E-01 0.34959659E-01 + -0.25399696E-01 0.18447228E-01 -0.18753281E-01 -0.21336963E-01 + 0.20273574E-01 -0.74352026E-02 0.86263977E-02 -0.19587196E-01 + -0.25863368E-02 0.17576998E+01 -0.20958440E+00 0.20107353E+00 + 0.26883548E+00 -0.69596463E+00 0.10864496E+00 -0.57094645E-01 + -0.11880034E+00 0.32511491E+00 -0.73278010E-01 -0.19179016E+00 + 0.55194341E-01 -0.48167195E-01 0.29966232E+02 -0.28514748E+01 + -0.27479420E+01 0.16417269E+00 0.23762665E+01 -0.24790712E+00 + 0.38372584E-01 0.68017262E+00 -0.64208418E+00 0.19077408E+00 + -0.19376384E+00 0.37586832E+00 0.30274451E+00 -0.79763241E+01 + 0.40185118E+01 0.27582932E+01 -0.44167328E+01 0.16556213E+02 + -0.10127516E+01 -0.14381729E-01 0.10526123E+01 -0.36751299E+01 + 0.16371241E+01 0.41598482E+01 -0.55727178E+00 0.25336438E+00 + -0.15115536E+03 0.20107758E+02 0.16070602E+02 -0.69206400E+01 + -0.15509940E+02 -0.65745473E-01 0.61048579E+00 -0.44110274E+01 + 0.59234343E+01 -0.19652244E+01 0.83969170E+00 -0.19654932E+01 + -0.22424841E+01 -0.51554672E+02 -0.49286880E+02 -0.15149562E+02 + 0.23192856E+02 -0.80976883E+02 0.17976044E+01 0.31771953E+01 + -0.22073927E+01 0.17565582E+02 -0.79421039E+01 -0.22982224E+02 + 0.20799627E+01 0.11556673E+01 0.26708887E+03 -0.49775467E+02 + -0.31839905E+02 0.28108732E+02 0.37422562E+02 0.36079817E+01 + -0.32567406E+01 0.10001911E+02 -0.17851255E+02 0.60564766E+01 + -0.76352984E+00 0.37349443E+01 0.60045547E+01 0.22564853E+03 + 0.16248386E+03 0.12195728E+02 -0.51379276E+02 0.16426907E+03 + 0.24047842E+01 -0.12291704E+02 -0.43176430E+00 -0.39148830E+02 + 0.16007690E+02 0.51836739E+02 -0.38026705E+01 -0.54714451E+01 + -0.22505077E+03 0.46291016E+02 0.24638092E+02 -0.39034760E+02 + -0.37432156E+02 -0.72609529E+01 0.49040074E+01 -0.89484730E+01 + 0.20959167E+02 -0.69502687E+01 -0.58399475E+00 -0.28382366E+01 + -0.64945631E+01 -0.28448120E+03 -0.19788374E+03 0.13808953E+02 + 0.50430798E+02 -0.14956322E+03 -0.69601135E+01 0.16451904E+02 + 0.45007582E+01 0.39577290E+02 -0.14559423E+02 -0.51503662E+02 + 0.33227444E+01 0.67428274E+01 0.75200882E+02 -0.13670173E+02 + -0.64882298E+01 0.17861343E+02 0.13128086E+02 0.39957590E+01 + -0.23009710E+01 0.26648014E+01 -0.84337873E+01 0.26480331E+01 + 0.69651747E+00 0.70226914E+00 0.24378767E+01 0.11641260E+03 + 0.81135361E+02 -0.14079867E+02 -0.17968307E+02 0.50422321E+02 + 0.35681407E+01 -0.73284216E+01 -0.27828979E+01 -0.14672048E+02 + 0.49403858E+01 0.18719208E+02 -0.10883951E+01 -0.26159143E+01 + -0.12469147E-01 0.13936480E+01 0.20418575E+01 -0.22939935E-01 + 0.33805314E-01 0.10366075E-01 0.52215002E-01 -0.36718503E-01 + -0.45215521E-01 0.20861067E-02 0.31817250E-01 -0.47385283E-02 + -0.63512921E-02 -0.79864681E-01 -0.21967115E+01 0.13169785E+01 + -0.49137101E-01 0.79261839E-01 0.56432489E-01 -0.11213575E-01 + 0.39652810E-01 -0.29792653E-01 0.64580180E-02 -0.23676369E-02 + 0.21759907E-01 -0.17042236E-01 -0.10706549E+01 0.23217793E+01 + 0.22575026E+01 -0.52305859E+00 0.33758909E+00 0.40237913E+00 + 0.70796603E+00 -0.25653309E+00 0.18688984E+00 -0.25361737E-01 + 0.87322176E-01 0.24367888E+00 0.40593687E-01 -0.15108150E+00 + -0.16911288E+01 0.46142989E+00 -0.10303917E+01 0.93612778E+00 + -0.41574053E-02 0.11723829E+00 -0.15480375E+00 0.25974425E-01 + -0.10854244E+00 -0.14955419E+00 0.20788646E+00 0.12922180E+00 + 0.45731859E+01 0.24417906E+02 -0.21377106E+02 -0.15830410E+00 + 0.28918283E+01 -0.90342098E+00 -0.10628958E+01 0.70779806E+00 + 0.28248233E+00 0.51816136E+00 -0.36014697E+00 -0.21408522E+00 + 0.44734201E+00 -0.10066270E+02 0.24201612E+02 0.22228239E+02 + 0.18787279E+01 0.35598916E+00 -0.81920511E+00 -0.45490569E+00 + 0.21012616E+00 0.17021559E+01 -0.23625430E+00 -0.15785760E+00 + -0.44948348E+00 -0.50422311E+00 0.25363050E+02 -0.22388350E+02 + -0.88549417E+00 -0.22121561E+00 0.23813438E+01 -0.34516563E+01 + -0.12210044E+02 0.55636535E+01 -0.32453887E+01 0.19233572E+00 + -0.14384516E+01 -0.48079548E+01 -0.13344593E+01 0.43639555E+01 + -0.82982798E+01 0.11524791E+02 0.18317823E+02 -0.13572061E+02 + 0.43871193E+01 -0.21051333E+01 0.19665154E+01 -0.18783904E+01 + 0.23498125E+01 0.49273577E+01 -0.22936010E+01 -0.35927689E+01 + -0.33341888E+02 -0.11396943E+03 0.19362666E+03 0.21216764E+01 + -0.21863724E+02 0.87932034E+01 0.66870279E+01 -0.20778828E+01 + 0.39056785E+01 -0.55137281E+01 0.73257333E+00 0.10095549E+01 + -0.58631859E+01 0.10840974E+03 -0.21727190E+03 -0.68914215E+02 + -0.21362244E+02 -0.86977644E+01 0.82116756E+01 0.49080105E+01 + 0.17874564E+00 -0.12050730E+02 0.51833916E+00 0.31218393E+01 + 0.36935797E+01 0.80403614E+01 -0.15367142E+03 0.11878263E+03 + 0.51804722E+02 0.41489380E+02 -0.92071486E+01 0.51096482E+01 + 0.64470383E+02 -0.44764999E+02 0.16702759E+02 0.28305548E+00 + 0.86546431E+01 0.29645948E+02 0.80854740E+01 -0.86085339E+01 + 0.41116165E+02 -0.47850403E+02 -0.11364082E+03 0.49419266E+02 + -0.27409760E+02 0.12218876E+02 -0.15123550E+02 0.17315872E+02 + -0.15716615E+02 -0.34133499E+02 0.81285315E+01 0.23876572E+02 + 0.82036057E+02 0.18187782E+03 -0.55807098E+03 -0.10879263E+02 + 0.61412323E+02 -0.27611141E+02 -0.19147324E+02 -0.71760738E+00 + -0.27551132E+02 0.17640093E+02 -0.56628738E-01 -0.14020642E+01 + 0.21747437E+02 -0.34376416E+03 0.61911011E+03 0.88020509E+00 + 0.80663330E+02 0.33479355E+02 -0.29412020E+02 -0.12201405E+02 + -0.44523087E+01 0.36756104E+02 0.16952410E+01 -0.14172467E+02 + -0.11445618E+02 -0.29532715E+02 0.39695703E+03 -0.31497388E+03 + -0.28771411E+03 -0.17258986E+03 -0.86242542E+01 0.11642607E+02 + -0.14586749E+03 0.13591986E+03 -0.39550262E+02 -0.15524071E+01 + -0.22016006E+02 -0.76522232E+02 -0.19635254E+02 -0.40375992E+02 + -0.67061462E+02 0.28259430E+02 0.29492310E+03 -0.67607613E+02 + 0.62555237E+02 -0.28627243E+02 0.50263229E+02 -0.52197628E+02 + 0.39175507E+02 0.90898712E+02 -0.12516281E+02 -0.61318783E+02 + -0.77070190E+02 -0.11974760E+03 0.69099878E+03 0.18479019E+02 + -0.77280106E+02 0.33186859E+02 0.23168577E+02 0.75805960E+01 + 0.50765305E+02 -0.22174517E+02 -0.21018501E+00 0.45265007E+00 + -0.30652084E+02 0.42491208E+03 -0.73491577E+03 0.15072490E+03 + -0.11781620E+03 -0.46392899E+02 0.41384521E+02 0.10866575E+02 + 0.84837999E+01 -0.48217789E+02 -0.58226833E+01 0.23120070E+02 + 0.13756743E+02 0.40079514E+02 -0.45912549E+03 0.38094431E+03 + 0.50466556E+03 0.24710139E+03 0.43194183E+02 -0.31068724E+02 + 0.14789594E+03 -0.17133977E+03 0.43186550E+02 0.93547165E+00 + 0.24350431E+02 0.87021637E+02 0.20689636E+02 0.12518957E+03 + 0.21702744E+02 0.59070377E+02 -0.33266943E+03 0.31520338E+02 + -0.63018494E+02 0.29843796E+02 -0.66842255E+02 0.62429546E+02 + -0.40911575E+02 -0.10445174E+03 0.77937250E+01 0.66863708E+02 + 0.23716265E+02 0.26841921E+02 -0.31155273E+03 -0.99036102E+01 + 0.36229218E+02 -0.13366702E+02 -0.94885092E+01 -0.60028811E+01 + -0.28343122E+02 0.97320232E+01 -0.21416096E+00 0.32326192E+00 + 0.14711192E+02 -0.18264752E+03 0.31139917E+03 -0.10778705E+03 + 0.57750397E+02 0.20604431E+02 -0.19741058E+02 -0.31399975E+01 + -0.45069761E+01 0.22200363E+02 0.40623951E+01 -0.12418813E+02 + -0.53976030E+01 -0.18255384E+02 0.19313272E+03 -0.16603587E+03 + -0.27830493E+03 -0.11844003E+03 -0.29174131E+02 0.17652529E+02 + -0.55044983E+02 0.75791016E+02 -0.17480881E+02 0.37095243E+00 + -0.96177435E+01 -0.35863876E+02 -0.79011207E+01 -0.83767059E+02 + 0.14769974E+02 -0.53073029E+02 0.13477792E+03 -0.10499870E+01 + 0.24099760E+02 -0.11736702E+02 0.30020020E+02 -0.25523895E+02 + 0.15339496E+02 0.43580654E+02 -0.11596680E+01 -0.26010191E+02 + -0.24157926E-01 -0.34682441E+00 -0.18939766E+00 -0.64226556E+00 + 0.55502748E+00 -0.18019244E-02 0.22090345E-02 -0.17449287E-02 + -0.28906872E-01 0.43518979E-01 -0.22777419E-02 0.19499293E-01 + 0.26698967E-01 -0.66926360E-01 -0.13376319E+00 -0.66897392E-01 + -0.60208142E+00 -0.70029998E+00 -0.11302372E-01 0.22896847E-01 + 0.18626206E-01 0.16040899E-01 0.18582191E-01 -0.50697476E-02 + 0.14439798E-01 -0.25851399E-01 0.14338861E+00 -0.20765395E+00 + 0.20112066E-01 -0.19753712E+01 0.36831617E+00 0.33009917E+00 + -0.17354339E+00 0.28955997E-02 -0.41839552E+00 -0.34900643E-02 + -0.25787419E+00 0.39183501E-01 0.11534755E+00 0.57123256E+00 + 0.13649094E+00 0.26264958E-01 -0.47044325E+00 -0.22277887E+01 + 0.34276772E+00 0.26841480E+00 -0.31208169E+00 0.21924429E+00 + -0.73497228E-01 -0.54401506E-01 0.14796602E-01 -0.10233094E-01 + 0.26954260E+01 0.43012781E+01 0.75683289E+01 -0.86731205E+01 + 0.55410347E+01 -0.34549928E+00 -0.13151922E+01 0.79660070E+00 + 0.91225117E+00 -0.41482767E+00 0.31972158E+00 -0.65595812E+00 + -0.98114915E-01 0.17693300E+01 0.10319414E+01 0.57046089E+01 + -0.44164991E+01 -0.76197062E+01 0.69258058E+00 -0.58791077E+00 + -0.44445020E+00 0.10734797E+01 -0.10839005E+01 0.18576832E+00 + -0.56307358E+00 -0.81509650E-01 0.19725925E+00 0.28090065E+01 + 0.29866954E-01 0.65746832E+01 -0.11214924E+01 -0.20306816E+01 + 0.75946403E+00 0.37662435E+00 0.41457520E+01 0.45575309E+00 + 0.18497028E+01 -0.14746183E+00 -0.16188049E+01 -0.33737962E+01 + -0.32643390E+00 0.13863983E+01 0.35408859E+01 0.94330416E+01 + -0.89115310E+00 -0.36629057E+00 0.16838446E+01 -0.21706350E+01 + 0.13435287E+01 0.55284905E+00 -0.85979074E+00 -0.11613750E+01 + -0.12316349E+02 -0.62260933E+01 -0.65586029E+02 0.51939072E+02 + -0.18281096E+02 0.18273878E+00 0.63747215E+01 -0.31539526E+01 + -0.72625122E+01 -0.33774593E+00 -0.64533216E+00 0.45377502E+01 + -0.94161624E+00 -0.12553593E+02 0.13752453E+02 -0.35581818E+02 + 0.14409950E+02 0.47376877E+02 -0.34375095E+01 0.25728254E+01 + 0.43016977E+01 -0.10728866E+02 0.57186842E+01 -0.11502295E+01 + 0.40079651E+01 0.17250156E+01 -0.35611401E+01 -0.97855148E+01 + -0.59383330E+01 -0.11810491E+02 -0.76464233E+01 0.37008057E+01 + -0.16280937E+01 -0.65146512E+00 -0.10992207E+02 -0.11756468E+01 + -0.40906601E+01 -0.35428905E+00 0.46568985E+01 0.40749521E+01 + -0.54280490E+00 -0.29149284E+01 -0.16286659E+01 -0.16713776E+02 + 0.47613055E+00 -0.20696535E+01 -0.19630736E+01 0.53624783E+01 + -0.44261818E+01 -0.13592386E+01 0.33461599E+01 0.42439528E+01 + 0.19575256E+02 -0.26728249E+01 0.15306609E+03 -0.97623322E+02 + 0.11181700E+02 0.33377399E+01 -0.11486931E+02 0.41499348E+01 + 0.16440628E+02 0.37850552E+01 -0.18400376E+00 -0.10662282E+02 + 0.31876295E+01 0.31439283E+02 -0.47513306E+02 0.64092300E+02 + -0.10152737E+02 -0.89982895E+02 0.79072337E+01 -0.60005236E+01 + -0.98099117E+01 0.26642687E+02 -0.94802322E+01 0.32628336E+01 + -0.80624027E+01 -0.41372290E+01 0.24437635E+01 0.10388881E+02 + 0.68885050E+01 0.12287474E+02 0.17508669E+02 -0.15349627E+01 + 0.13399676E+01 0.89213789E-01 0.77907591E+01 0.79130787E+00 + 0.28016548E+01 0.53495371E+00 -0.36855667E+01 0.68383670E+00 + 0.14101259E+00 0.12219143E+01 -0.87792892E+01 0.14048577E+02 + -0.40416885E-01 0.34328499E+01 0.43522063E+00 -0.37442033E+01 + 0.36730545E+01 0.10144063E+01 -0.31850069E+01 -0.35276754E+01 + -0.11864492E+02 0.65092659E+01 -0.10362081E+03 0.60457382E+02 + 0.88302031E+01 -0.48034697E+01 0.68933554E+01 -0.17215776E+01 + -0.11243499E+02 -0.31618347E+01 0.66602868E+00 0.76481519E+01 + -0.22676840E+01 -0.26041992E+02 0.39193069E+02 -0.33144817E+02 + -0.53187160E+01 0.56564880E+02 -0.62643847E+01 0.45099564E+01 + 0.61439462E+01 -0.18840759E+02 0.46164675E+01 -0.28137388E+01 + 0.49374666E+01 0.28067627E+01 -0.25802642E+00 -0.10362917E+00 + -0.14398944E+00 0.58753002E-01 0.12338716E+00 -0.46615657E+00 + -0.90974391E+00 0.48583630E-01 -0.38379826E-01 0.27855974E-01 + 0.10477467E-02 -0.31467215E-02 0.46931058E-02 0.13942067E+00 + 0.12052407E-01 0.13556784E+00 -0.54092322E-01 0.15451413E+00 + 0.88882434E+00 -0.48357457E+00 -0.32771014E-01 0.11079021E-01 + -0.23551973E-01 -0.56003849E-02 -0.15953735E-01 0.25094347E-02 + 0.20348471E+00 0.49829680E+00 -0.55318736E-01 -0.92830181E-01 + -0.18149966E+00 -0.54599792E+00 -0.81165326E+00 0.41849393E-01 + 0.22468762E+00 0.12768606E-01 -0.45675810E-01 0.34527794E-01 + 0.90832710E-01 0.19808036E+00 0.24423763E-01 0.55058855E+00 + 0.96684515E-01 0.14878929E+00 0.10547438E+01 -0.62313187E+00 + -0.34745371E+00 0.50657772E-01 -0.10458726E+00 -0.26829258E-01 + -0.22105070E-01 0.96443832E-01 0.31103611E+01 0.71752518E+00 + 0.43198234E+00 -0.83313757E+00 -0.53591406E+00 0.21094112E+01 + 0.14961643E+01 0.52341461E+00 0.56767017E+00 -0.88358939E-01 + -0.25685966E-01 -0.62316987E-02 0.82329929E-01 -0.23380404E+01 + 0.12645092E+01 -0.13486710E+01 0.41103086E+00 -0.19716948E+01 + -0.13170985E+01 0.23266771E+01 0.89183152E-01 0.99011421E+00 + 0.14776289E+00 -0.96008062E-01 0.22073546E+00 0.14917376E-01 + 0.83357573E-01 -0.13930922E+01 0.16632777E+00 0.31476659E+00 + 0.29862195E+00 -0.63334584E-01 0.78159118E+00 -0.13982971E-01 + -0.37854111E+00 -0.40592089E-01 0.14077955E+00 -0.17048196E+00 + -0.20473444E+00 -0.39951533E+00 0.38091745E-01 -0.17263716E+01 + -0.53047776E+00 -0.42756040E-01 -0.14003086E+01 0.27357012E+00 + 0.70787126E+00 -0.17673522E+00 0.21879540E+00 0.80344677E-01 + -0.11453545E+00 -0.28751439E+00 -0.55554628E+01 0.63528180E-01 + 0.22511272E+00 0.16389217E+01 0.68950057E-01 -0.38856039E+01 + -0.18219575E+01 -0.12218170E+01 -0.72119129E+00 0.12372472E-01 + 0.60922839E-01 -0.13905820E-01 -0.64103067E-01 0.34650528E+01 + -0.16690044E+01 0.22416811E+01 -0.33316332E+00 0.29141891E+01 + 0.15945005E+01 -0.39390173E+01 0.14417326E+00 -0.18604946E+01 + -0.11784470E+00 -0.16993750E-01 -0.41759604E+00 -0.18586282E+00 + 0.81547573E-02 0.49226336E-01 0.81611395E-01 0.27063416E-01 + 0.56695234E-01 0.29357160E-02 0.14539907E-01 0.30828518E+00 + -0.25350040E+00 0.32837331E-01 0.15210059E-01 -0.29200681E-02 + 0.44837706E-02 0.63956797E-01 0.18061157E-01 0.10958801E-01 + -0.12470477E-01 0.35997182E-02 -0.25639519E-01 -0.23812981E-01 + 0.26933241E+00 0.31840920E+00 -0.11766966E-02 -0.27984949E-02 + -0.12501192E-02 -0.80634840E-02 0.14839774E+00 -0.10045363E+00 + 0.11778341E-01 0.67010581E-01 0.10346639E+00 -0.71791530E-01 + 0.17526032E-01 0.13578546E+00 -0.68693256E+00 -0.82893729E-01 + 0.53929277E-02 0.23169662E-02 0.82021415E-01 0.72574563E-01 + -0.60684312E-01 -0.86023450E-01 0.90452909E-01 0.34990817E-01 + -0.15001754E+00 -0.22994665E-01 0.55149466E+00 0.16523848E+00 + -0.21080256E-01 -0.10785419E-01 0.24345180E-01 -0.54076158E-01 + -0.14327257E-01 0.63852847E-01 -0.25183152E-01 0.29911580E-01 + 0.37023772E-01 0.14488783E-01 -0.15269485E-01 -0.60717765E-01 + 0.13028532E-01 0.14004099E+00 0.26168507E+00 -0.16771071E-01 + 0.91431141E-02 0.12888259E+00 0.18391636E-02 -0.29771950E-01 + -0.61108530E-01 0.42996113E-02 -0.14745309E-01 -0.18162554E-01 + 0.26890339E-01 -0.88421285E-01 -0.26770896E+00 0.11803228E+00 + -0.93428344E-02 0.73491605E-02 0.42300075E-01 -0.45630772E-01 + 0.12768688E-01 -0.31926125E-01 0.13576030E-01 0.21456007E-01 + 0.21313628E-01 -0.25462056E-01 -0.38112123E-01 -0.38594943E-02 + 0.38873561E-01 -0.10141933E+00 0.36759213E-01 0.96034110E-01 + 0.24284812E-01 -0.10095996E+00 -0.96809156E-02 -0.16556034E-01 + 0.69916956E-02 -0.73311746E-01 0.47385041E-01 -0.22124330E-01 + -0.81969164E-02 0.11834413E-01 -0.44802792E-01 -0.12607551E+00 + -0.29452965E-01 -0.18742384E-01 -0.76822221E-01 0.27353520E-01 + 0.59363921E-02 0.14614473E-01 -0.26352968E-01 -0.18402828E-02 + -0.14121164E-01 -0.11845142E-01 -0.38414609E-02 -0.61304048E-02 + -0.21523267E-02 0.61670173E-01 0.75453222E-01 0.65484564E-02 + -0.33840731E-01 0.21260997E-01 -0.11356533E-01 -0.17962536E-02 + 0.23999993E-01 0.22581512E-01 -0.91374591E-02 -0.62641106E-03 + -0.11860893E-01 -0.49161036E-01 -0.25092568E-01 0.65070152E-01 + -0.17101344E-01 -0.30995656E-01 -0.48828226E-01 -0.25985176E-01 + 0.12641996E-01 0.94131008E-02 0.50771046E-01 0.10564290E-01 + -0.72512329E-02 -0.25239273E-02 0.16289363E-01 -0.34294993E-01 + -0.21341735E-01 -0.14802244E-01 0.52205998E-01 0.39956391E-01 + 0.15908465E-01 0.47674957E-02 0.53186310E-02 0.79527162E-02 + -0.18043902E-01 0.74231247E-02 0.87468550E-02 -0.46856813E-02 + 0.30515983E+01 0.18279374E-01 0.17321775E-01 0.13490529E-02 + 0.54005980E-02 -0.12811268E-02 -0.19620713E-02 0.16095779E-02 + 0.14036378E-02 0.36024821E+00 -0.26675239E-01 0.60383163E-01 + 0.85761607E-01 0.32015789E-01 -0.64746402E-02 -0.23822609E-01 + 0.12654252E-02 0.19042157E-01 0.84638625E+00 -0.16989470E+00 + -0.25357139E+00 -0.44812653E-01 -0.90480037E-02 0.13199284E-01 + -0.49734195E-02 -0.90144098E-01 -0.46962071E-01 -0.31312108E+00 + -0.13555598E+00 -0.11967963E+00 -0.20256715E+00 -0.13136695E+00 + 0.48089348E-01 0.87422669E-01 0.93227997E-02 -0.46409301E-01 + -0.11959352E+01 0.43471065E+00 0.63000107E+00 0.10890937E+00 + -0.57202522E-01 -0.42029072E-01 0.43181811E-01 0.22912057E+00 + 0.13201463E+00 -0.73961437E-01 0.12270622E+00 0.51998913E-01 + 0.10816616E+00 0.11332871E+00 -0.50417315E-01 -0.68393290E-01 + -0.12005516E-01 0.23018697E-01 0.42550963E+00 -0.27673948E+00 + -0.39599013E+00 -0.66320181E-01 0.74589610E-01 0.29583042E-01 + -0.38249172E-01 -0.14549863E+00 -0.96091688E-01 -0.81040598E-02 + -0.14526182E+00 -0.32619148E+00 0.83900504E-02 0.61066784E-02 + -0.79448335E-02 0.88535771E-02 0.61606467E-02 0.44978708E-02 + 0.34204829E-01 0.34175068E+00 -0.15657049E+00 -0.35750014E-02 + 0.16515721E-02 0.34812365E-02 -0.10691710E-01 -0.10663674E-01 + 0.23136516E-02 -0.77340782E-01 0.29641938E+00 0.46389960E-02 + 0.60751550E-01 0.13668638E+00 0.73995516E-02 0.36284514E-01 + 0.43617327E-01 -0.78822463E-03 -0.23608712E-01 0.67810309E-02 + 0.38915449E+00 -0.11137575E+00 -0.67211330E-01 0.10261584E+00 + -0.20004436E-01 -0.96985576E-03 0.74450910E-01 0.24482937E+00 + 0.68339109E+00 0.12487193E+01 -0.17763802E+00 -0.11472328E+00 + 0.13915652E+00 -0.96532464E-01 -0.11791183E+00 -0.16605745E+00 + -0.76662290E+00 -0.14496020E+01 0.84100413E+00 0.16240078E+00 + 0.76123059E-01 -0.33510587E-04 0.83549917E-01 0.23060144E+00 + -0.16083211E+00 0.14090070E+01 -0.13704489E+01 0.82855475E+00 + 0.23537932E+00 -0.70777297E+00 -0.28288740E+00 -0.19857667E+00 + -0.45078415E+00 -0.24828870E-01 0.88282007E+00 -0.41681415E+00 + -0.20059462E+01 0.15218280E+00 0.75277686E+00 -0.67411071E+00 + 0.11159575E+00 -0.46602711E-01 -0.56245166E+00 -0.76950705E+00 + -0.10647526E+01 -0.34677619E+00 0.63541669E+00 0.15894818E+00 + -0.45485392E+00 0.20325267E+00 0.27888203E+00 0.53756195E+00 + 0.23074837E+01 0.57445264E+00 -0.17256486E+01 -0.20322418E+00 + -0.25591570E+00 -0.21160701E-01 -0.19882099E+00 -0.64506978E+00 + 0.51714456E+00 -0.38324993E+01 0.20495994E+01 -0.12175713E+01 + -0.10217859E+01 0.12773294E+01 0.99618143E+00 0.27631152E+00 + 0.99627531E+00 0.13893231E-01 -0.26958101E+01 0.34171975E+00 + 0.34515674E+01 0.34862801E+00 -0.16408195E+01 0.13690853E+01 + -0.63893914E-01 0.18333472E+00 0.11947594E+01 0.52510667E+00 + 0.79661417E+00 -0.27414489E+00 -0.59034503E+00 -0.29286742E-01 + 0.33197421E+00 -0.11383862E+00 -0.16956960E+00 -0.43929476E+00 + -0.18387928E+01 0.63808429E+00 0.13265419E+01 -0.18234238E-01 + 0.18122619E+00 0.92859901E-02 0.90937912E-01 0.46281737E+00 + -0.37837011E+00 0.27536211E+01 -0.96891510E+00 0.93679023E+00 + 0.81044078E+00 -0.73057920E+00 -0.86545914E+00 -0.13849419E+00 + -0.62656611E+00 0.88995732E-02 0.20475006E+01 -0.35984868E+00 + -0.18440654E+01 -0.44248238E+00 0.98484981E+00 -0.84341449E+00 + -0.35579182E-01 -0.14597040E+00 -0.76683801E+00 -0.10489092E-01 + -0.39877072E-01 -0.26295235E-01 0.73930919E-01 -0.10012758E+00 + -0.76692924E-02 0.43066703E-02 -0.10926161E-01 -0.48446804E-02 + 0.18568035E-01 -0.17637935E-01 -0.15594787E-01 0.10350186E+00 + 0.84533393E-01 -0.65629520E-02 -0.97999512E-03 0.40845196E-02 + -0.18347695E-02 0.30939206E-01 0.14365977E+00 0.14420241E+00 + -0.77935576E-01 0.16382051E+00 -0.65682977E-02 -0.39891735E-01 + 0.59632142E-02 -0.52234370E-01 -0.16920578E+00 0.51358782E-01 + 0.32620181E-02 -0.74220717E-01 0.15272125E-01 0.58219016E-01 + 0.18921616E-01 0.17532920E-01 0.32072235E-01 0.11713438E-01 + 0.24454077E+00 0.22597697E+00 -0.16024733E+00 -0.13617694E+00 + 0.23809746E-01 0.65214157E-01 0.66272616E-01 -0.77504396E-01 + -0.36200452E+00 0.25575504E-01 -0.46344455E-01 0.24129638E+00 + -0.14844865E+00 -0.63827991E-01 0.11078906E+00 -0.16530165E-01 + -0.12369107E-01 -0.18463314E+00 -0.74005991E+00 -0.46722335E+00 + 0.24123140E+00 -0.84606242E+00 0.38615707E-01 0.21995306E+00 + -0.47678851E-01 0.23793843E+00 0.10495081E+01 0.73820174E-01 + 0.17725095E-01 0.56766880E+00 0.60886065E-02 -0.12156433E+00 + -0.15492922E+00 -0.12488944E+00 -0.24417046E+00 0.22861373E-01 + -0.35652453E+00 -0.40377611E+00 0.73468506E-01 0.20436759E+00 + -0.63278258E-01 -0.14106607E+00 -0.82917631E-01 0.15102738E+00 + 0.48683444E+00 -0.13043690E+00 0.14397168E+00 -0.34078664E+00 + 0.98404586E-02 0.12281657E+00 -0.21639533E+00 0.21982009E-01 + 0.36892843E-01 0.22279334E+00 0.97342873E+00 0.53715861E+00 + -0.29357713E+00 0.11556520E+01 0.34201700E-01 -0.19304840E+00 + 0.81136636E-01 -0.24921560E+00 -0.13376598E+01 -0.14052004E+00 + 0.35047200E-01 -0.92397118E+00 -0.17662609E+00 -0.17981410E-01 + 0.24125862E+00 0.16264921E+00 0.29551035E+00 -0.21483744E-01 + -0.36245289E-02 -0.66329092E-02 0.25388640E-02 0.10015320E-01 + 0.40678956E-01 -0.17979134E-01 -0.35519523E-02 -0.52801110E-02 + 0.23592531E-02 -0.10888861E-01 -0.72885007E-02 -0.15401221E-01 + -0.82034282E-02 0.22992520E-01 0.55773426E-01 0.39712228E-02 + 0.38829450E-02 0.69172211E-01 0.48700005E-01 0.27636137E-01 + -0.61428368E-01 -0.52963905E-02 -0.12855160E+00 -0.45400564E-01 + 0.16215643E-02 -0.12359414E-01 0.48297945E-01 -0.49748868E-02 + -0.98275091E-03 -0.19215353E-01 -0.17720040E-01 0.45080952E-01 + -0.12306381E+00 0.50776452E-02 0.61110142E-02 0.41643444E-01 + -0.11696458E+00 0.58375958E-01 0.44971623E-01 -0.28971106E-01 + -0.11677377E+00 -0.12909585E+00 0.26876839E-01 -0.87210014E-02 + -0.27737666E-01 -0.31307798E-01 -0.67466125E-02 0.54379951E-01 + -0.14625589E-02 0.13169986E+00 -0.15068078E+00 0.17126871E-01 + -0.85981041E-02 -0.20431226E-01 -0.40790252E-02 0.63434653E-02 + 0.17711803E-01 0.10949640E-01 -0.42260364E-02 0.21843894E-02 + 0.74000177E-02 0.10929641E-01 -0.27122835E-01 0.13527165E-01 + -0.41228533E-02 -0.12625434E-01 -0.37137333E-02 -0.90636835E-02 + 0.47530006E-02 -0.73364223E-02 0.13638128E-01 0.87972760E-01 + 0.10461539E-01 -0.20852068E-01 -0.11302184E-01 -0.18262222E-01 + -0.84132291E-02 -0.51975134E-02 0.13170410E-02 -0.52717347E-01 + 0.91586038E-02 -0.67112327E-01 0.20436227E-01 0.37548587E-01 + -0.96599311E-02 0.67724623E-02 -0.25683215E-02 0.61321177E-01 + 0.49731396E-02 0.30659323E-03 -0.44321306E-02 0.46804585E-02 + -0.64085302E-03 0.67579332E-02 0.63220300E-02 -0.32938600E-02 + -0.14760735E-01 0.72151315E-02 0.10289572E-01 0.13664788E-01 + -0.10606595E-01 -0.77491552E-02 -0.10887925E-01 0.14865423E-01 + 0.28957615E-02 -0.37721090E-02 -0.77854283E-02 -0.13292245E-01 + 0.18373657E-02 0.13984729E-01 0.48237406E-02 -0.23889195E-03 + 0.75594462E-05 -0.27488933E-02 -0.73596169E-02 0.46203360E-02 + 0.75970143E-02 -0.96835792E-02 -0.18875450E-01 -0.29838532E-02 + -0.54170117E-02 0.12925677E-01 0.10607131E-02 -0.30239653E-02 + -0.59676538E-02 0.26920490E+01 0.11389978E-01 0.98317824E-02 + 0.31620425E-02 0.71236412E-02 0.11406110E-02 -0.56722085E-02 + -0.48866015E-04 0.11990915E-03 0.32997811E+00 0.15148185E-01 + 0.51400606E-01 0.34719396E-01 0.39471131E-01 0.79672039E-02 + -0.34432355E-01 -0.70640765E-03 0.12702998E-01 0.10057878E+01 + -0.11234319E+00 -0.14979780E+00 -0.79824477E-02 -0.41622274E-01 + 0.64391494E-02 0.55315364E-01 -0.57274163E-01 -0.10790601E-01 + -0.18790220E+00 -0.25727236E+00 -0.12212503E+00 -0.53840321E-01 + -0.13131247E+00 -0.32435574E-01 0.12784509E+00 0.15400990E-01 + -0.22077978E-01 -0.11739054E+01 0.24142881E+00 0.30385274E+00 + 0.25107425E-02 0.12746825E-01 -0.26694339E-01 -0.99654555E-01 + 0.15097807E+00 0.38390014E-01 -0.10511709E+00 0.20301552E+00 + 0.83070338E-01 0.77093919E-02 0.10205883E+00 0.23708316E-01 + -0.99959791E-01 -0.15592850E-01 0.25066223E-02 0.24683733E+00 + -0.11758250E+00 -0.16027445E+00 0.14066705E-02 0.35752703E-01 + 0.23185333E-01 0.48781998E-01 -0.95009811E-01 -0.37437104E-01 + 0.88183925E-03 -0.30879879E+00 -0.27182156E+00 0.20393899E-02 + 0.69514811E-02 -0.93122534E-02 0.51981993E-02 0.39402060E-02 + 0.44796318E-02 0.87271482E-02 0.28625375E+00 -0.31935704E+00 + 0.52287392E-02 -0.67754062E-02 0.86630248E-02 -0.77996170E-02 + -0.60802847E-02 0.78002359E-02 -0.49862538E-01 0.26634568E+00 + 0.43451969E-01 -0.30126229E-01 0.80953479E-01 -0.31576782E-01 + 0.30366639E-01 0.42546976E-01 0.15590324E-01 -0.92389211E-02 + 0.49252588E-01 0.31745583E+00 -0.11614789E-01 -0.22583405E-01 + 0.92642069E-01 -0.35509118E-02 0.13614684E-01 0.56305062E-01 + 0.99343173E-02 0.11374702E+01 0.70455754E+00 0.17588671E-01 + -0.75575411E-01 0.13827311E+00 -0.49321633E-01 -0.75004637E-01 + -0.13349944E+00 -0.42829424E+00 -0.84019768E+00 0.13067007E+01 + 0.34150388E-03 0.15719561E+00 -0.40955953E-01 0.75470269E-01 + 0.13132016E+00 -0.17925549E+00 0.84138429E+00 -0.15912493E+01 + 0.10511798E+00 0.54206944E+00 -0.38688600E+00 0.17358600E+00 + -0.36708105E+00 -0.45672679E+00 -0.17131352E+00 0.51538002E+00 + -0.22939312E+00 -0.19646254E+01 -0.31394237E+00 0.19157244E+00 + -0.59996867E+00 -0.45292720E-01 -0.13538665E+00 -0.45756459E+00 + -0.15232114E+00 -0.15745955E+01 0.19509156E+00 0.83998501E-01 + 0.52878521E-01 -0.39462087E+00 0.11502755E+00 0.21379741E+00 + 0.39088184E+00 0.13416328E+01 -0.28084821E+00 -0.21697862E+01 + 0.53006250E-01 -0.35013479E+00 0.56974590E-02 -0.25478339E+00 + -0.39096361E+00 0.53477621E+00 -0.23757496E+01 0.26613855E+01 + 0.50327104E-01 -0.13042612E+01 0.67580843E+00 -0.25880229E+00 + 0.89902419E+00 0.10861779E+01 0.29366976E+00 -0.18501281E+01 + 0.81386864E-01 0.37214673E+01 0.11096134E+01 -0.27120560E+00 + 0.12532758E+01 0.18778533E+00 0.33471352E+00 0.96769458E+00 + 0.14908598E+00 0.10968637E+01 -0.32124096E+00 -0.12884712E+00 + 0.20785199E-01 0.26191479E+00 -0.83107591E-01 -0.16051684E+00 + -0.30176711E+00 -0.10500851E+01 0.92894047E+00 0.14747008E+01 + -0.54342680E-01 0.21156454E+00 0.44004072E-01 0.19760656E+00 + 0.30182552E+00 -0.39921567E+00 0.17400056E+01 -0.12493544E+01 + 0.42433244E+00 0.91900015E+00 -0.38044804E+00 0.54337405E-01 + -0.64055741E+00 -0.72182894E+00 -0.13823682E+00 0.16223974E+01 + -0.39147201E+00 -0.21358538E+01 -0.86738008E+00 0.11883758E+00 + -0.81355983E+00 -0.14370237E+00 -0.23106740E+00 -0.60141891E+00 + -0.41002706E-02 -0.36998648E-01 -0.17324734E-01 0.11522980E+00 + -0.77249408E-01 -0.40560444E-02 0.70232488E-02 -0.66030957E-02 + -0.17369712E-02 0.50536208E-02 -0.27059954E-01 -0.90134069E-02 + 0.70231616E-01 0.11070347E+00 -0.50629824E-02 0.32779330E-02 + -0.49949065E-03 0.14835852E-02 0.78637183E-01 0.81079356E-01 + 0.11170680E+00 -0.13736878E+00 0.11822003E+00 -0.20365615E-02 + 0.56556164E-03 0.83278008E-02 -0.18613596E-01 -0.28584436E-01 + -0.58529191E-02 -0.46521258E-01 -0.11188853E+00 -0.86472213E-01 + 0.11980530E-01 0.47342204E-01 0.28845018E-02 0.28383439E-01 + 0.11538814E-01 0.23314317E+00 0.19854648E+00 -0.54327118E+00 + 0.38741905E-01 0.24814063E-02 -0.65545547E-02 0.54088686E-01 + -0.54012049E-01 -0.19324924E+00 0.67288883E-01 -0.59418738E-01 + -0.33771221E-02 -0.44705471E+00 -0.62183537E-01 0.37801318E-01 + 0.20709287E-01 -0.37422135E-01 -0.37016499E+00 -0.48482886E+00 + -0.33297902E+00 0.26727724E+00 -0.59645998E+00 0.24300689E-01 + -0.60210191E-03 -0.69528699E-01 0.92760623E-01 0.19207674E+00 + 0.27005577E+00 0.30531996E+00 0.62059212E+00 0.20099735E+00 + 0.89472950E-01 -0.26362389E+00 -0.48994768E-01 -0.22086474E+00 + 0.96757933E-02 -0.35891137E+00 -0.41006809E+00 0.39764428E+00 + -0.12385340E+00 -0.45176540E-01 -0.23520410E-01 -0.71112037E-01 + 0.90213299E-01 0.28137875E+00 -0.18450230E+00 0.15791112E+00 + 0.12017472E+00 0.28672832E+00 0.10803044E+00 -0.11098099E+00 + -0.24466729E-01 0.60332596E-01 0.31297666E+00 0.70864713E+00 + 0.34029233E+00 -0.29005635E+00 0.79561400E+00 0.39008938E-01 + 0.32641567E-01 0.97112477E-01 -0.11558539E+00 -0.27881753E+00 + -0.29964471E+00 -0.33964044E+00 -0.84683919E+00 -0.30862880E+00 + -0.19399051E+00 0.30272609E+00 0.92557371E-01 0.24453788E+00 + -0.15125609E-01 -0.41656345E-02 -0.18647785E-03 0.33162653E-02 + 0.50839223E-02 0.39834607E-01 -0.29238205E-01 -0.27017528E-03 + -0.12010454E-02 -0.41408949E-02 -0.13943053E-02 0.43188073E-02 + -0.89726970E-02 -0.38272680E-02 0.31500988E-01 0.41226037E-01 + 0.43756254E-02 -0.18315912E-03 0.28158754E-01 0.54722499E-01 + 0.17690172E-01 -0.28583931E-01 -0.11942320E-01 -0.10031210E+00 + -0.44474874E-01 0.96164370E-03 -0.99050328E-02 0.20313948E-01 + 0.83643049E-02 0.24804203E-02 -0.18918398E-02 -0.15124846E-01 + 0.43693502E-01 -0.10090126E+00 0.51212204E-02 0.10049676E-02 + 0.44255391E-01 -0.71331441E-01 0.36873393E-01 0.20218041E-01 + -0.17782995E-01 -0.11550904E+00 -0.89868903E-01 0.13469199E-01 + -0.11585846E-01 -0.35603975E-02 -0.43277524E-01 -0.30855780E-01 + 0.36533549E-01 0.49907379E-02 0.10209155E+00 -0.10187620E+00 + 0.46443976E-02 0.65317191E-02 -0.13696849E-01 -0.11126056E-01 + 0.41133650E-02 0.43337829E-02 0.92311017E-02 -0.39588846E-02 + 0.16066917E-02 0.65573347E-02 0.13953521E-01 -0.12618544E-01 + 0.56935060E-02 -0.90064071E-02 -0.48857480E-02 -0.64519127E-02 + -0.68315417E-02 0.63782968E-02 -0.12648813E-01 0.11987504E-01 + 0.40514909E-01 0.76482450E-02 -0.16679958E-01 -0.22868705E-02 + -0.15372104E-01 -0.84379911E-02 0.35069734E-02 0.13873800E-01 + -0.56473475E-01 0.20609394E-01 -0.42281467E-01 0.22169940E-01 + 0.14798194E-01 -0.78803375E-02 -0.38305377E-02 0.14281858E-02 + 0.57916552E-01 0.14591149E-01 0.25254386E-02 -0.38154575E-02 + 0.52015889E-02 -0.14573344E-02 0.38699112E-02 0.55529508E-02 + -0.52860044E-02 -0.12854255E-01 0.48506595E-02 0.82307905E-02 + 0.14202736E-01 -0.94194561E-02 0.12523372E-02 -0.89414306E-02 + 0.87305941E-02 0.66426764E-02 -0.21206427E-02 -0.49932902E-02 + -0.50855689E-02 0.87064505E-02 0.80340132E-02 0.87542385E-02 + -0.17597807E-02 0.23883770E-03 0.21871652E-03 -0.43078698E-02 + 0.17831495E-02 0.10356434E-01 -0.30754986E-02 -0.14237602E-01 + 0.38996681E-02 -0.63463412E-02 0.10078620E-01 0.10248973E-02 + 0.13287502E-04 -0.20263768E-02 diff --git a/src/test/resources/nequick/ccir22.asc b/src/test/resources/nequick/ccir22.asc new file mode 100644 index 000000000..6ba58e472 --- /dev/null +++ b/src/test/resources/nequick/ccir22.asc @@ -0,0 +1,715 @@ + 0.58184547E+01 0.57026278E-01 -0.92279553E-01 0.19769210E-02 + -0.63549983E-02 0.41342457E-03 -0.16677530E-01 0.29840271E-02 + 0.19395284E-01 -0.31526906E-02 0.83086155E-02 -0.21525295E-01 + -0.12466763E-02 0.10098133E+01 -0.13401216E+00 -0.33394372E+00 + 0.53832471E+00 -0.33256578E+00 -0.14199048E+00 0.17917544E+00 + 0.53553917E-01 0.36476403E+00 -0.17950524E+00 0.83029047E-02 + 0.52691005E-01 -0.10528487E+00 0.10512217E+02 -0.11169873E+01 + 0.69445848E-01 -0.11768399E+01 0.15896692E+01 -0.46408105E+00 + 0.20050450E+00 -0.11498709E+00 -0.57279086E+00 -0.55499066E-01 + -0.22052054E+00 0.46984807E+00 -0.40550120E-02 -0.88619490E+01 + 0.20526533E+01 0.73109612E+01 -0.79561610E+01 0.10884787E+02 + 0.16878910E+01 -0.36661749E+01 -0.14041632E+01 -0.40023384E+01 + 0.28041878E+01 0.11619292E+01 -0.47040588E+00 0.75334054E+00 + -0.62287872E+02 0.10522942E+02 0.70986331E+00 0.65067167E+01 + -0.11479046E+02 0.16810987E+01 0.92432690E+00 -0.25512183E+00 + 0.36646881E+01 -0.23676343E+00 0.22571782E-01 -0.15189877E+01 + 0.11747857E+01 -0.51741154E+02 -0.26478224E+02 -0.41005920E+02 + 0.41161316E+02 -0.59304092E+02 -0.69479566E+01 0.18469709E+02 + 0.71893797E+01 0.17059673E+02 -0.13025753E+02 -0.89780140E+01 + 0.14681501E+01 0.57374662E+00 0.13726007E+03 -0.30932434E+02 + 0.32160759E+01 -0.12439871E+02 0.30461212E+02 -0.47828904E+00 + -0.68936381E+01 0.25059500E+01 -0.91692266E+01 0.18327304E+01 + 0.26999156E+01 0.10919600E+01 -0.47839508E+01 0.24011166E+03 + 0.88412567E+02 0.86547073E+02 -0.93710800E+02 0.12796276E+03 + 0.12891209E+02 -0.38673935E+02 -0.13718104E+02 -0.34361610E+02 + 0.25967360E+02 0.23587969E+02 -0.25956812E+01 -0.78749738E+01 + -0.15224947E+03 0.34043213E+02 -0.10899737E+02 0.94556570E+01 + -0.33112152E+02 -0.28386929E+01 0.11093059E+02 -0.39166229E+01 + 0.96845121E+01 -0.29332972E+01 -0.52627831E+01 0.10346909E+01 + 0.64608560E+01 -0.31515063E+03 -0.10496171E+03 -0.78569519E+02 + 0.95572739E+02 -0.12133441E+03 -0.10754656E+02 0.36431686E+02 + 0.10801248E+02 0.32190323E+02 -0.23463760E+02 -0.25738008E+02 + 0.27011602E+01 0.12155418E+02 0.65124084E+02 -0.12487495E+02 + 0.69259710E+01 -0.23780632E+01 0.12499528E+02 0.21069336E+01 + -0.53715773E+01 0.17919512E+01 -0.36225002E+01 0.14143246E+01 + 0.27828605E+01 -0.10895596E+01 -0.28614464E+01 0.13440363E+03 + 0.41123302E+02 0.26135241E+02 -0.35684418E+02 0.42126480E+02 + 0.32188385E+01 -0.12763023E+02 -0.28629272E+01 -0.11248033E+02 + 0.79024081E+01 0.99840336E+01 -0.11786461E+01 -0.55230818E+01 + 0.46197318E-01 0.18396910E+01 0.18488532E+01 -0.72137296E-01 + -0.22965061E-01 0.49167208E-01 -0.88025220E-02 -0.14172700E-02 + 0.23798386E-02 0.10697533E-01 -0.86828211E-03 -0.11820205E-01 + -0.45507960E-02 -0.34407905E+00 -0.19840240E+01 0.18451529E+01 + -0.71499109E-01 -0.29341158E-01 -0.38065256E-02 0.12800082E-02 + 0.35247199E-01 -0.29336328E-01 -0.28935508E-02 0.34494631E-01 + 0.21810072E-01 -0.35707127E-01 -0.14954213E+01 0.16685065E+01 + 0.26021440E+01 -0.25061375E-01 -0.11775346E+00 0.18140525E+00 + 0.39146900E+00 -0.52104045E-01 0.17152113E+00 -0.24431723E+00 + 0.83082139E-01 0.10321480E+00 -0.50523303E-01 -0.29371033E+01 + -0.11318465E+01 0.17996330E+01 -0.12266656E+01 0.44546548E+00 + -0.17469049E-01 0.10839577E+00 0.13065223E+00 -0.14671957E+00 + -0.17891817E-01 0.82936771E-01 -0.53874254E-01 0.32858133E-01 + 0.35966065E+01 0.80477695E+01 0.35369377E+01 -0.24907688E-01 + 0.49452467E+01 -0.24985828E+01 0.10750399E+01 0.63011825E-01 + -0.19682702E+00 0.48551191E-01 -0.24114862E+00 0.44627547E-01 + 0.18766768E+00 -0.88128072E+00 -0.42972250E+01 0.32859545E+01 + 0.79657030E+00 0.30905216E+01 0.28533408E-01 -0.50964916E+00 + -0.72284162E+00 0.72344583E+00 -0.41555968E+00 -0.27640814E+00 + -0.11061144E+01 -0.24223340E+00 0.26371168E+02 -0.15519335E+02 + -0.16091354E+02 -0.61467061E+01 0.11827185E+02 -0.18683290E+01 + -0.10109256E+02 -0.41066775E+00 -0.26999035E+01 0.11567603E+01 + -0.66600841E+00 -0.19529314E+01 0.17002130E+00 0.52747940E+02 + -0.59905577E+01 -0.19065031E+02 0.19325468E+02 -0.37808800E+01 + 0.25225878E+01 -0.50770384E+00 -0.24967108E+01 0.18975935E+01 + 0.15414753E+01 0.46599284E+00 0.26762016E+01 -0.23129797E+01 + -0.29581636E+02 -0.67340530E+02 0.28578779E+02 -0.18400337E+01 + -0.45590836E+02 0.19642668E+02 -0.11388482E+02 -0.14384050E+01 + 0.23746014E+01 -0.25869806E+01 0.12232533E+01 -0.22738206E+00 + -0.13948898E+01 0.25422516E+02 -0.24761141E+02 -0.18647614E+02 + -0.35908461E+01 -0.27576841E+02 0.63180453E+00 0.12264185E+01 + 0.73593292E+01 -0.56782942E+01 0.42023592E+01 0.94908339E+00 + 0.99610100E+01 0.74102950E+01 -0.13301099E+03 0.29004532E+02 + 0.96729050E+02 0.52969925E+02 -0.57015472E+02 0.43563184E+00 + 0.61022587E+02 -0.60143489E-01 0.14871104E+02 0.36482077E+01 + 0.28649282E+01 0.86638842E+01 -0.38194208E+01 -0.28812793E+03 + 0.46469360E+02 0.46227020E+02 -0.10875104E+03 -0.70202541E+00 + -0.15389409E+02 0.14878043E+01 0.11239145E+02 -0.60284505E+01 + -0.76406479E+01 -0.82917614E+01 -0.18456881E+02 0.17502775E+02 + 0.90780685E+02 0.17434750E+03 -0.17242982E+03 0.74431643E+01 + 0.14255405E+03 -0.58141235E+02 0.39145477E+02 0.34620705E+01 + -0.12430976E+02 0.10840865E+02 -0.43649893E-01 0.59502614E+00 + 0.22078133E+01 -0.10493084E+03 0.18064040E+03 0.12570059E+02 + 0.93478651E+01 0.80625305E+02 -0.71573347E+00 0.36804311E+01 + -0.22530624E+02 0.18506760E+02 -0.12973786E+02 -0.15200814E+01 + -0.31336437E+02 -0.28821775E+02 0.29102222E+03 -0.17519775E+02 + -0.29855054E+03 -0.15717355E+03 0.88891266E+02 0.25252762E+02 + -0.15087781E+03 0.76023393E+01 -0.37483150E+02 -0.23462996E+02 + -0.69535489E+01 -0.14723260E+02 0.18481215E+02 0.65221851E+03 + -0.11774995E+03 -0.61445255E+02 0.26809058E+03 0.39994282E+02 + 0.31199492E+02 -0.64933023E+01 -0.18023026E+02 0.64583664E+01 + 0.12623926E+02 0.27021164E+02 0.45272430E+02 -0.46571915E+02 + -0.11661732E+03 -0.21271246E+03 0.27106592E+03 -0.73082743E+01 + -0.18257878E+03 0.73000687E+02 -0.54757523E+02 -0.16007289E+01 + 0.22605637E+02 -0.14365944E+02 -0.50904427E+01 -0.98563862E+00 + 0.61151135E+00 0.15628786E+03 -0.29974243E+03 0.10640743E+02 + -0.10775610E+02 -0.95066605E+02 -0.36515398E+01 -0.11473594E+02 + 0.27438047E+02 -0.24867659E+02 0.15603788E+02 0.12937164E+01 + 0.39795895E+02 0.39510040E+02 -0.29016138E+03 0.28823547E+01 + 0.39856247E+03 0.19402602E+03 -0.45091351E+02 -0.53616596E+02 + 0.16660764E+03 -0.15165431E+02 0.42398972E+02 0.36244064E+02 + 0.75232463E+01 0.95507259E+01 -0.28676893E+02 -0.64159644E+03 + 0.12781444E+03 0.57046246E+02 -0.29240649E+03 -0.71489220E+02 + -0.24908297E+02 0.13778470E+02 0.10944452E+02 -0.66494685E+00 + -0.74688768E+01 -0.32826691E+02 -0.46453720E+02 0.50829021E+02 + 0.52968674E+02 0.99466309E+02 -0.13427261E+03 0.10737038E+01 + 0.81903275E+02 -0.32730850E+02 0.26825424E+02 -0.69327599E+00 + -0.12845870E+02 0.59912968E+01 0.45008116E+01 0.76359069E+00 + -0.18522652E+01 -0.80060036E+02 0.15137988E+03 -0.81274099E+01 + 0.41646919E+01 0.38812271E+02 0.42529478E+01 0.73921490E+01 + -0.11849991E+02 0.11516631E+02 -0.64914274E+01 -0.51537508E+00 + -0.17529144E+02 -0.18062864E+02 0.10677108E+03 0.52536047E+00 + -0.18758054E+03 -0.85391647E+02 0.35786375E+00 0.30250122E+02 + -0.67851501E+02 0.84298773E+01 -0.17312012E+02 -0.17777067E+02 + -0.27602575E+01 -0.14503183E+01 0.14062240E+02 0.22694662E+03 + -0.50785786E+02 -0.25865496E+02 0.11572224E+03 0.35236389E+02 + 0.62496061E+01 -0.90702009E+01 -0.16877421E+01 -0.16750355E+01 + 0.10357895E+01 0.13722245E+02 0.17021439E+02 -0.19445269E+02 + -0.39433222E-01 -0.21142438E+00 -0.90724342E-02 -0.83350813E+00 + -0.50699193E-01 0.27291071E-01 -0.22223894E-01 -0.42128101E-01 + 0.17714038E-01 0.50699495E-01 -0.18712536E-01 -0.25406673E-02 + 0.20049294E-01 -0.49931604E-01 -0.20490993E-01 0.89790583E-01 + 0.51811717E-01 -0.87662053E+00 -0.31257950E-01 0.40552099E-02 + -0.14721374E-01 -0.69894157E-02 -0.72437227E-02 0.23188518E-01 + 0.26874656E-01 -0.39877024E-01 -0.24794407E+00 -0.22231765E+00 + 0.30068851E+00 0.26426488E+00 0.85828662E+00 0.70318043E-01 + -0.19365218E+00 -0.67670643E-01 -0.44199413E+00 -0.11491102E+00 + -0.18138404E+00 0.90832114E-02 0.69318712E-02 0.56248826E+00 + 0.47823495E+00 0.41573852E+00 -0.15119504E+01 0.67963123E-01 + -0.13004094E+00 0.64840436E-01 -0.91815054E-01 -0.15601903E+00 + -0.78684449E-01 -0.90477407E-01 0.76826751E-01 -0.65387964E-01 + 0.36128533E+01 0.25138474E+01 0.35854375E+00 0.26517675E+01 + 0.23037329E+01 -0.11147919E+01 -0.63770419E+00 0.86852974E+00 + -0.41232473E+00 -0.61307818E+00 0.48212728E+00 -0.85765898E-01 + -0.57749569E+00 0.26269417E+01 -0.84287786E+00 0.11433278E+01 + -0.36928182E+01 0.54051332E+01 0.74675167E+00 -0.73716521E+00 + -0.66338837E-01 0.11560965E+01 -0.29391348E+00 0.12733983E+00 + -0.10972691E+01 0.59222382E+00 0.34999063E+01 0.44444332E+01 + -0.94481927E+00 -0.35326796E+01 -0.27436819E+01 0.56982708E+00 + 0.76956093E-01 0.31902784E+00 0.52106791E+01 0.92866045E+00 + 0.87636429E+00 -0.33926576E+00 -0.11445961E+01 -0.32386551E+01 + -0.44973116E+01 -0.15676622E+01 0.10158686E+02 0.16184866E+00 + 0.16182851E+01 -0.21049383E+00 -0.28675807E+00 0.18338079E+01 + 0.79065192E+00 0.12128630E+01 -0.13835087E+01 -0.13644751E-01 + -0.20781830E+02 0.17002144E+01 -0.11406075E+02 0.90912104E+01 + 0.13688050E+02 0.40151911E+01 0.44199944E+01 -0.25502863E+01 + 0.19699677E+01 0.12705001E+01 -0.20803690E+01 0.20040417E+01 + 0.38943081E+01 -0.19840210E+02 0.19784559E+02 -0.86485300E+01 + -0.49333057E+01 -0.39710071E+01 -0.40674076E+01 0.28137224E+01 + 0.38876524E+01 -0.90402203E+01 0.19475240E+01 -0.10716801E+01 + 0.62051377E+01 -0.18414354E+01 -0.83312187E+01 -0.13289579E+02 + -0.21736002E+01 0.84501009E+01 0.49111623E+00 -0.37395916E+01 + 0.19115798E+01 -0.31825442E-01 -0.13818623E+02 -0.18343800E+01 + -0.11181917E+01 0.80240744E+00 0.43642979E+01 0.33570623E+01 + 0.12437586E+02 0.45811825E+01 -0.16603790E+02 0.22749799E+00 + -0.40944519E+01 -0.53237623E+00 0.23649321E+01 -0.41487675E+01 + -0.17448483E+01 -0.36165752E+01 0.43271370E+01 0.10559273E+01 + 0.39056717E+02 -0.16090925E+02 0.33891582E+02 -0.35210052E+02 + -0.50438084E+02 -0.49294519E+01 -0.90522985E+01 0.19701452E+01 + -0.41518726E+01 -0.19429386E+00 0.29413278E+01 -0.64302464E+01 + -0.75884624E+01 0.49585617E+02 -0.54486115E+02 0.14613009E+02 + 0.31883024E+02 -0.19175352E+02 0.78750353E+01 -0.41738634E+01 + -0.11004766E+02 0.19877581E+02 -0.26470735E+01 0.21634009E+01 + -0.10771996E+02 0.26160250E+01 0.42416420E+01 0.10615758E+02 + 0.38284781E+01 -0.26582878E+01 0.61848516E+01 0.39846961E+01 + -0.23324947E+01 -0.27493328E+00 0.98930330E+01 0.91430855E+00 + 0.42881784E+00 -0.45336175E+00 -0.38754072E+01 0.24860697E+01 + -0.11103156E+02 -0.55986366E+01 0.30626106E+01 0.12912282E+01 + 0.31475737E+01 0.94185495E+00 -0.24471550E+01 0.26365433E+01 + 0.11146899E+01 0.30409727E+01 -0.34792864E+01 -0.11173525E+01 + -0.24813004E+02 0.12293332E+02 -0.24448641E+02 0.25972626E+02 + 0.41211086E+02 0.13715390E+01 0.59663386E+01 -0.71985543E-01 + 0.29825640E+01 -0.41931191E+00 -0.13509988E+01 0.51593590E+01 + 0.43710918E+01 -0.40055679E+02 0.40998569E+02 -0.62064981E+01 + -0.28469559E+02 0.22959061E+02 -0.49932976E+01 0.19243964E+01 + 0.76674232E+01 -0.12809522E+02 0.61497426E+00 -0.14364127E+01 + 0.57304020E+01 -0.13400354E+01 -0.21295027E+00 -0.11400111E+00 + -0.14825791E+00 0.73622167E-01 0.64809799E-01 -0.29826677E+00 + -0.60644531E+00 -0.13423301E-01 0.10754850E-01 0.98052919E-02 + -0.27152034E-02 -0.18311009E-01 0.64233541E-02 -0.17358117E-01 + 0.90460539E-01 -0.55983935E-01 -0.37680585E-02 0.10464078E+00 + 0.60645211E+00 -0.32411683E+00 -0.19527394E-01 0.57433564E-01 + -0.14313876E-01 0.14264598E-01 -0.12788295E-01 0.12462892E-01 + 0.72629392E-01 0.26425886E+00 -0.72310209E-01 0.14027590E+00 + -0.22800758E+00 -0.82698578E+00 -0.59944493E+00 0.41647561E-01 + 0.10132379E+00 0.10920781E+00 -0.92539191E-01 0.54342560E-01 + 0.23273787E-01 -0.79490066E-01 -0.41849073E-01 0.11703408E+00 + 0.22500436E+00 0.79865992E-01 0.79547960E+00 -0.68940187E+00 + -0.91365695E-01 0.26474411E-01 0.18633839E-01 -0.69830723E-01 + 0.42015348E-01 0.70129670E-02 0.20651808E+01 0.10757017E+01 + 0.79591483E+00 -0.10709343E+01 -0.39959529E+00 0.12449456E+01 + 0.65018201E+00 0.57454801E+00 -0.10787250E+00 -0.11827229E+00 + 0.89393549E-01 0.38926965E+00 0.20278770E-01 -0.84885854E+00 + 0.50201148E-01 0.41724557E+00 0.10930062E+00 -0.19860848E+01 + -0.40959153E+00 0.14579868E+01 0.10777472E+00 0.18702918E+00 + 0.58261953E-01 -0.15377998E+00 0.27000564E+00 -0.32803480E-01 + 0.41750297E+00 -0.89985055E+00 0.11675126E+00 0.33188917E-01 + 0.56400406E+00 0.12467127E+01 0.11199265E+01 -0.13293042E-01 + -0.56087691E-01 -0.28695667E+00 0.14087246E+00 -0.16224992E+00 + -0.25811439E-01 0.51898807E+00 0.17738798E+00 -0.20662890E+00 + -0.74402368E+00 -0.51481463E-02 -0.16159161E+01 0.10972347E+01 + 0.44918299E-01 -0.20699678E+00 -0.11631240E-01 0.20945828E+00 + -0.16005200E+00 -0.11305243E+00 -0.41412516E+01 -0.14561824E+01 + -0.11091290E+01 0.17685612E+01 0.66921711E-01 -0.16768464E+01 + 0.23649099E+00 -0.10593185E+01 0.12860221E+00 0.10053812E+00 + -0.29987156E+00 -0.75887215E+00 0.55327028E-01 0.18062496E+01 + 0.15113787E+00 -0.36903124E-01 0.28656238E+00 0.33028460E+01 + -0.43000469E+00 -0.17351263E+01 -0.96321523E-01 -0.62929440E+00 + -0.54888733E-01 0.19858766E+00 -0.39517489E+00 -0.23517720E-01 + 0.74075341E-01 0.55286419E-01 0.37950136E-01 0.51930588E-01 + 0.40860217E-01 -0.80779605E-02 -0.85725710E-02 0.18911600E+00 + -0.20170496E+00 0.79165362E-02 0.14078500E-01 -0.48967567E-03 + 0.23352634E-01 0.89454830E-01 0.45219739E-02 0.19925095E-01 + -0.36571357E-01 0.47071725E-02 -0.22226088E-01 0.12251129E-01 + 0.23481011E+00 0.19869670E+00 -0.52124937E-02 -0.27196895E-01 + 0.11811547E-01 0.11335121E-01 0.20631571E+00 -0.40896397E-01 + -0.66134036E-01 -0.51769245E-01 0.11315650E+00 -0.29828817E-01 + -0.70822775E-01 -0.71775675E-01 -0.42620286E+00 -0.58472641E-01 + -0.11232208E-01 -0.11249759E-01 0.20316772E-01 0.17420188E-01 + -0.14574116E+00 -0.10202885E+00 0.72233789E-01 0.11322711E-01 + -0.20416331E-01 -0.24119224E-02 0.33355665E+00 -0.65747321E-01 + -0.34695773E-02 -0.40769737E-01 0.66911578E-01 -0.37780602E-01 + 0.43868117E-01 0.14381091E+00 -0.61921757E-01 -0.12998655E-01 + 0.31560201E-01 0.31114614E-02 0.38460433E-03 -0.28693315E-01 + 0.34101970E-01 0.90243518E-01 0.18531388E+00 -0.13973087E-01 + 0.10807763E-01 0.87856054E-01 0.35964798E-01 0.23326818E-01 + -0.84922135E-01 -0.19689236E-01 0.94046257E-02 0.14910233E-02 + 0.26861504E-01 -0.73656917E-01 -0.17092834E+00 0.78958333E-01 + 0.87024570E-02 0.12014929E-01 0.82137808E-02 -0.21466319E-01 + 0.53214632E-01 -0.74789703E-01 0.19152006E-01 0.21119364E-01 + 0.25541725E-01 0.88134204E-03 -0.14540545E-01 0.78659169E-02 + 0.15383034E-01 -0.64573228E-01 0.21328628E-01 0.28671172E-01 + 0.20090416E-01 -0.94851203E-01 -0.24305642E-01 -0.72831869E-01 + -0.18191809E-01 -0.27933950E-01 0.21245508E-01 -0.38015399E-01 + 0.13354954E-01 0.61733276E-02 0.53486861E-02 -0.67182183E-01 + 0.49329065E-02 0.14485020E-01 -0.57947926E-01 -0.16713042E-01 + 0.52156746E-02 0.26821878E-01 -0.57450016E-02 -0.63059926E-02 + -0.14616559E-01 -0.94541977E-03 -0.15653398E-01 -0.63756146E-02 + 0.19463092E-02 0.91823868E-01 0.34876380E-01 -0.81078410E-02 + 0.40082078E-01 0.11814688E-01 -0.21329772E-01 0.22458939E-01 + 0.65466762E-02 0.32364109E-02 -0.13744369E-01 0.66302340E-02 + 0.16155705E-01 -0.14738604E-01 0.45109168E-01 0.52861501E-01 + -0.88001661E-01 0.24178792E-01 -0.26224429E-01 -0.27569726E-01 + 0.28009564E-02 -0.12213376E-01 -0.14918842E-02 0.38230043E-01 + -0.10143310E-01 0.97960308E-02 0.72819591E-02 -0.12117779E+00 + 0.23717243E-01 -0.16449519E-01 0.21570390E-01 -0.11265769E-02 + 0.23510953E-01 0.17620742E-01 -0.14561802E-01 0.44145957E-02 + -0.19181984E-01 0.15150579E-01 0.23060733E-01 -0.34930815E-02 + 0.85668230E+01 0.58971167E-01 -0.37359368E-01 0.98172948E-02 + 0.60634506E-02 -0.19980330E-01 -0.32437317E-01 0.73017143E-02 + 0.21622822E-01 -0.31204394E-02 0.86839311E-02 -0.15189710E-01 + 0.15739938E-02 0.15422639E+01 -0.45887977E+00 -0.63496363E+00 + 0.17954224E+00 -0.36354399E+00 -0.81500530E-01 0.53280364E-02 + 0.13243175E+00 0.38387775E+00 -0.11102081E+00 -0.78610063E-01 + 0.94472528E-01 -0.58259506E-01 0.24310486E+02 -0.11059132E+01 + -0.73916429E+00 -0.92551416E+00 0.17832870E+01 0.35105863E+00 + 0.37704727E+00 -0.31123799E+00 -0.53970361E+00 0.86808130E-02 + -0.72665691E-01 0.46467739E+00 -0.98924160E-01 0.20755554E+02 + 0.67352266E+01 0.14065328E+02 -0.25990703E+01 0.10409377E+02 + 0.16016331E+01 -0.47564012E+00 -0.34755878E+01 -0.49684534E+01 + 0.15748023E+01 0.26321306E+01 -0.12655039E+01 0.15727633E+00 + -0.12931139E+03 0.12252738E+02 0.60598216E+01 0.50476084E+01 + -0.11773267E+02 -0.44770451E+01 0.58385706E+00 0.23724537E+01 + 0.37232213E+01 -0.10170099E+01 -0.81260867E-01 -0.29869394E+01 + 0.22409637E+01 -0.23669112E+03 -0.51905823E+02 -0.72058388E+02 + 0.12511719E+02 -0.56770981E+02 -0.10931894E+02 0.33293867E+01 + 0.20718519E+02 0.24317991E+02 -0.57881889E+01 -0.15459871E+02 + 0.46247511E+01 0.34875410E+01 0.24901990E+03 -0.39882584E+02 + -0.83957405E+01 -0.10404232E+02 0.27809797E+02 0.16726303E+02 + -0.68507929E+01 -0.69119287E+01 -0.97388630E+01 0.47765846E+01 + 0.10716476E+01 0.72030778E+01 -0.82405844E+01 0.65161255E+03 + 0.14923308E+03 0.14101414E+03 -0.29154615E+02 0.12519636E+03 + 0.29351564E+02 -0.84194260E+01 -0.48260620E+02 -0.53140240E+02 + 0.90673313E+01 0.35299225E+02 -0.72856526E+01 -0.14410470E+02 + -0.23240266E+03 0.45167831E+02 -0.96814609E+00 0.99426565E+01 + -0.26336681E+02 -0.23381851E+02 0.11163599E+02 0.86249838E+01 + 0.10363331E+02 -0.69799466E+01 -0.19014367E+01 -0.71312881E+01 + 0.10706991E+02 -0.70311963E+03 -0.17120168E+03 -0.11967139E+03 + 0.32664337E+02 -0.12050853E+03 -0.33125168E+02 0.86441698E+01 + 0.48691647E+02 0.51921906E+02 -0.65182600E+01 -0.34950241E+02 + 0.55114870E+01 0.18803881E+02 0.85038696E+02 -0.16290754E+02 + 0.40023508E+01 -0.37510369E+01 0.83846464E+01 0.10919796E+02 + -0.52057095E+01 -0.38280964E+01 -0.38365116E+01 0.32329712E+01 + 0.99229783E+00 0.24394760E+01 -0.46375208E+01 0.26612109E+03 + 0.67721451E+02 0.37346924E+02 -0.13712145E+02 0.41968536E+02 + 0.13200320E+02 -0.30124369E+01 -0.17847168E+02 -0.18521820E+02 + 0.17858782E+01 0.12569484E+02 -0.17031459E+01 -0.80002708E+01 + -0.13380323E+00 0.13366909E+01 0.19891348E+01 -0.10753993E-01 + 0.60303461E-01 0.12918174E-01 0.21262078E-01 -0.86736679E-02 + -0.13964106E-01 0.11481033E-01 0.10142982E-01 0.72076619E-02 + -0.85019991E-02 -0.14243265E-01 -0.21352167E+01 0.13255062E+01 + -0.50178140E-01 -0.54384332E-01 0.46576776E-01 0.34636784E-01 + 0.48959590E-02 -0.16821535E-01 0.46431459E-02 0.12051068E-01 + 0.19954726E-01 -0.32330859E-01 -0.12649831E+01 0.14815664E+01 + 0.32681105E+01 -0.28774256E+00 0.42832845E+00 0.53366369E+00 + 0.69917518E+00 -0.12640500E+00 0.27914149E+00 -0.86231768E-01 + 0.41828956E-01 0.22610454E+00 -0.11857754E+00 -0.59289956E+00 + -0.26590745E+01 0.71710646E+00 -0.80467069E+00 0.91069090E+00 + 0.17542487E+00 0.10409194E+00 -0.57189096E-01 0.43423325E-01 + -0.84960878E-01 -0.95633030E-01 0.33903424E-01 -0.36507253E-01 + 0.83079939E+01 0.22010695E+02 -0.11524427E+02 -0.11183745E+00 + 0.25016727E+01 -0.13266134E+01 0.22817476E+00 0.46875328E+00 + 0.34386235E+00 0.40068370E+00 -0.31280607E+00 -0.36988360E+00 + 0.16799916E+00 -0.83424854E+01 0.11889293E+02 0.16917753E+02 + 0.39813343E+00 0.21293640E+01 -0.16580629E+00 -0.91171312E+00 + -0.19491870E-01 0.62579691E+00 -0.31269866E+00 -0.14522403E+00 + -0.69244885E+00 -0.35517263E+00 0.23320496E+02 0.19454935E+01 + -0.32308594E+02 -0.22719014E+00 -0.26350050E+01 -0.75710702E+01 + -0.13849431E+02 0.13357114E+01 -0.52987833E+01 -0.12208443E+01 + 0.56600362E+00 -0.38908498E+01 0.15157394E+01 0.16239502E+02 + 0.26882660E+02 0.11697211E+02 0.13142451E+02 -0.13128712E+02 + 0.12815475E+01 -0.26485262E+01 0.10252705E+01 -0.71769845E+00 + 0.26684380E+01 0.33325870E+01 0.19368444E+00 -0.84864259E+00 + -0.65441605E+02 -0.12118098E+03 0.10928063E+03 -0.38240664E+01 + -0.23437609E+02 0.10801532E+02 -0.57041912E+01 -0.27291288E+01 + -0.15678358E+01 -0.73939705E+01 0.37768623E+00 0.33962661E+00 + -0.93000346E+00 0.93348358E+02 -0.10296486E+03 -0.70953468E+02 + -0.35590756E+00 -0.17237806E+02 0.94308913E-01 0.38772571E+01 + 0.26037457E+01 -0.46013031E+01 0.14253416E+01 0.20683479E+01 + 0.66785059E+01 0.57986803E+01 -0.11509791E+03 -0.40946976E+02 + 0.20788942E+03 0.28071583E+02 0.24814013E+02 0.32777496E+02 + 0.80104477E+02 -0.11489333E+02 0.29405245E+02 0.16883726E+02 + -0.67208633E+01 0.20167173E+02 -0.86552134E+01 -0.99561401E+02 + -0.15522028E+03 -0.83673126E+02 -0.80494247E+02 0.58310268E+02 + -0.12448786E+02 0.17183472E+02 -0.89103432E+01 0.53705997E+01 + -0.13733029E+02 -0.22880341E+02 -0.23245771E+01 0.86334391E+01 + 0.17955624E+03 0.24499541E+03 -0.33905200E+03 0.16499298E+02 + 0.74469528E+02 -0.33439667E+02 0.23443146E+02 0.36955309E+01 + -0.19126467E+00 0.27561247E+02 0.56984262E+01 0.44640989E+01 + 0.42115945E+00 -0.30066260E+03 0.29662671E+03 0.81036789E+02 + -0.27805751E-01 0.43939407E+02 0.27983513E+01 -0.60298953E+01 + -0.10772778E+02 0.15233603E+02 -0.58941257E+00 -0.87549534E+01 + -0.21512070E+02 -0.19019287E+02 0.25668503E+03 0.95829285E+02 + -0.60892993E+03 -0.11896391E+03 -0.95018211E+02 -0.59214664E+02 + -0.19752924E+03 0.38122330E+02 -0.69384659E+02 -0.56728775E+02 + 0.22776093E+02 -0.43739380E+02 0.22105665E+02 0.22645403E+03 + 0.37045313E+03 0.17037305E+03 0.21269354E+03 -0.11409074E+03 + 0.32559402E+02 -0.47628784E+02 0.30940628E+02 -0.16595901E+02 + 0.25164564E+02 0.59392147E+02 0.48828716E+01 -0.25786682E+02 + -0.19930544E+03 -0.22929100E+03 0.46098508E+03 -0.23051147E+02 + -0.99358978E+02 0.43438583E+02 -0.36220840E+02 0.10952330E+01 + 0.52028379E+01 -0.36286865E+02 -0.15389332E+02 -0.10731898E+02 + 0.32523792E+01 0.36962793E+03 -0.36779367E+03 -0.39542663E+01 + -0.51138026E+00 -0.43776108E+02 -0.79711537E+01 0.35742664E+01 + 0.16140488E+02 -0.21209717E+02 -0.38114672E+01 0.13219822E+02 + 0.27240128E+02 0.23259232E+02 -0.26610742E+03 -0.69780014E+02 + 0.81476440E+03 0.17288277E+03 0.13693071E+03 0.46457748E+02 + 0.21848390E+03 -0.50798950E+02 0.72315247E+02 0.74823502E+02 + -0.31317856E+02 0.41232723E+02 -0.24342669E+02 -0.20460794E+03 + -0.41652856E+03 -0.12226570E+03 -0.24583488E+03 0.10287257E+03 + -0.36260223E+02 0.59697346E+02 -0.42112244E+02 0.20332169E+02 + -0.18127945E+02 -0.65813660E+02 -0.29394608E+01 0.30914228E+02 + 0.77954071E+02 0.84637451E+02 -0.22712355E+03 0.10199259E+02 + 0.47287094E+02 -0.19806791E+02 0.19231522E+02 -0.30108087E+01 + -0.38124542E+01 0.15798556E+02 0.10139494E+02 0.67266970E+01 + -0.32354670E+01 -0.15642979E+03 0.16548746E+03 -0.24017456E+02 + 0.17524616E+00 0.14203983E+02 0.56363974E+01 -0.46004730E+00 + -0.83661394E+01 0.10115620E+02 0.35576584E+01 -0.64790506E+01 + -0.11826178E+02 -0.96805029E+01 0.10178647E+03 0.11225665E+02 + -0.39543845E+03 -0.84101151E+02 -0.65480942E+02 -0.12942044E+02 + -0.88712402E+02 0.23320221E+02 -0.27256409E+02 -0.34397598E+02 + 0.15014293E+02 -0.13734140E+02 0.94665308E+01 0.60337917E+02 + 0.17995731E+03 0.21066160E+02 0.10197302E+03 -0.35869064E+02 + 0.15114551E+02 -0.27445206E+02 0.19399139E+02 -0.83749247E+01 + 0.40309706E+01 0.26498032E+02 -0.13782136E-01 -0.13060989E+02 + -0.10923449E-01 -0.34306777E+00 -0.50401580E-01 -0.53487873E+00 + 0.29230738E+00 0.21476945E-01 0.15144963E-01 -0.43948863E-01 + -0.17394179E-01 0.35130534E-01 -0.16292401E-01 0.19373260E-01 + -0.59662829E-03 -0.71579278E-01 -0.52842975E-01 -0.63118003E-02 + -0.39636707E+00 -0.73986322E+00 0.37425831E-02 0.59765220E-01 + -0.49655996E-02 -0.27551942E-02 -0.15596608E-01 0.61703692E-02 + 0.14522820E-01 -0.32979958E-01 -0.84795356E-02 0.16810315E-02 + -0.11047077E+00 -0.18073320E+01 0.75538784E+00 0.17500804E+00 + -0.17733020E+00 -0.16572928E+00 -0.33800668E+00 -0.15694118E+00 + -0.16335551E+00 0.71416795E-01 -0.57195533E-01 0.38296199E+00 + 0.77749258E+00 -0.32756321E-01 -0.16789722E+01 -0.18577414E+01 + 0.17541359E+00 -0.14601539E-01 0.33322370E-02 0.29737126E-01 + -0.87182283E-01 -0.31497914E-01 0.12684082E-01 -0.11295189E-01 + 0.23203261E+01 0.53199558E+01 0.16164664E+01 -0.67294288E+01 + 0.70609217E+01 -0.22695799E+00 -0.15492887E+01 0.11764528E+01 + 0.21189196E+00 -0.77632385E+00 0.94330907E-01 -0.52504992E+00 + 0.80921412E-01 0.32638376E+01 -0.18616734E+00 0.25722711E+01 + -0.63221359E+01 -0.21414375E+01 0.87206262E+00 -0.12179785E+01 + 0.13763861E+00 0.67562330E+00 -0.19984256E+00 0.40309739E+00 + -0.78906333E+00 0.50545210E+00 0.94253534E+00 0.12683753E+01 + 0.62755954E+00 0.30156040E+01 0.10006475E+01 0.20007718E+00 + 0.20150831E+00 0.14695405E+01 0.41846933E+01 0.12572117E+01 + 0.65958399E+00 -0.71903503E+00 -0.69292152E+00 -0.96949643E+00 + -0.45164165E+01 0.29109013E+01 0.85274162E+01 0.41857910E+01 + -0.27851808E+00 0.91058570E+00 -0.63607663E+00 -0.55645529E-01 + 0.10949479E+01 0.38305825E+00 -0.72221696E+00 -0.53886342E+00 + -0.11483660E+02 -0.18448809E+02 -0.25420227E+02 0.41966873E+02 + -0.18985962E+02 -0.14435633E+01 0.80026455E+01 -0.42318764E+01 + -0.10838451E+01 0.28619411E+01 0.61609662E+00 0.37960069E+01 + -0.52905315E+00 -0.17035339E+02 0.18621325E+02 -0.21966002E+02 + 0.18735840E+02 0.16747009E+02 -0.54307671E+01 0.46619482E+01 + 0.13719673E+01 -0.60610518E+01 0.19186600E+01 -0.33431864E+01 + 0.48622255E+01 -0.19352444E+01 -0.21383028E+01 -0.43643160E+01 + -0.42401295E+01 -0.24073772E+01 -0.16128113E+02 -0.27644100E+01 + 0.22688615E+00 -0.28903911E+01 -0.11218067E+02 -0.23697214E+01 + -0.47793251E+00 0.14431591E+01 0.33283548E+01 -0.29100380E+01 + 0.97868328E+01 -0.62205763E+01 -0.72675920E+01 -0.31473618E+01 + 0.19133314E+00 -0.38154783E+01 0.26445303E+01 -0.82178062E+00 + -0.30948789E+01 -0.84836000E+00 0.25783031E+01 0.23090551E+01 + 0.19434113E+02 0.30117949E+02 0.67169952E+02 -0.83444626E+02 + 0.97705097E+01 0.59132814E+01 -0.15886704E+02 0.57373362E+01 + 0.21024208E+01 -0.35821979E+01 -0.25029049E+01 -0.88817778E+01 + 0.14393606E+01 0.31481155E+02 -0.55233746E+02 0.44615509E+02 + -0.14347219E+02 -0.38026093E+02 0.13057509E+02 -0.83902416E+01 + -0.42683010E+01 0.14140668E+02 -0.35403109E+01 0.79202223E+01 + -0.92711287E+01 0.31921394E+01 -0.40178013E+00 0.42423429E+01 + 0.44495773E+01 0.65041456E+01 0.24042873E+02 0.30938349E+01 + -0.44691342E+00 0.15059994E+01 0.77578292E+01 0.13139609E+01 + -0.14930588E+00 -0.67745125E+00 -0.30641334E+01 0.71513066E+01 + -0.80155258E+01 0.27227869E+01 -0.77887850E+01 0.47823057E+01 + -0.47966767E-01 0.38374760E+01 -0.23107653E+01 0.14483805E+01 + 0.24450035E+01 0.82637250E+00 -0.23080864E+01 -0.19962348E+01 + -0.12261737E+02 -0.18203461E+02 -0.47682369E+02 0.55126308E+02 + 0.94886637E+01 -0.50771365E+01 0.10601326E+02 -0.30876780E+01 + -0.16409187E+01 0.16010160E+01 0.18693399E+01 0.63582640E+01 + -0.12191840E+01 -0.22224457E+02 0.43476685E+02 -0.25098251E+02 + -0.41798449E+01 0.30020355E+02 -0.10327442E+02 0.55453873E+01 + 0.28609171E+01 -0.91859646E+01 0.17712344E+01 -0.55576057E+01 + 0.54289846E+01 -0.16860571E+01 -0.18644656E+00 -0.13026766E+00 + -0.51389337E-01 0.13972402E+00 0.26259441E-01 -0.48280841E+00 + -0.59422374E+00 -0.21665381E-01 -0.14493398E-01 0.15758835E-01 + -0.17352703E-02 -0.41003264E-02 0.18915858E-02 0.57341754E-01 + 0.42945147E-01 0.96227340E-01 -0.34298085E-01 0.13546824E+00 + 0.63187897E+00 -0.47779456E+00 0.20380679E-02 0.22282995E-01 + -0.25250018E-01 0.17265648E-01 -0.25108820E-01 0.94693340E-02 + -0.25878793E+00 0.28488117E+00 -0.16580705E+00 0.12818597E+00 + 0.35997484E-01 -0.64699262E+00 -0.10717688E+01 0.10131289E+00 + 0.16753370E+00 0.32581441E-01 -0.11407858E+00 0.59960645E-01 + -0.77041020E-02 -0.41792631E-01 0.13099883E+00 0.21938296E+00 + -0.11784482E+00 0.17003256E+00 0.11506062E+01 -0.71615911E+00 + -0.11056096E+00 0.15374935E+00 0.68769455E-01 0.45401081E-01 + 0.56390651E-01 0.55900358E-01 0.28251829E+01 0.44229245E+00 + -0.81067187E+00 -0.12398359E+01 -0.28553765E-01 0.22159548E+01 + -0.54317737E+00 0.75851673E+00 0.27122670E+00 -0.17409933E+00 + 0.50550707E-01 0.21512508E+00 0.78091852E-01 -0.14035777E+01 + 0.84380841E+00 -0.64104086E+00 0.46829492E-01 -0.14327688E+01 + 0.25394756E+00 0.19480609E+01 -0.91148973E-01 0.78488469E+00 + 0.22460082E+00 -0.24968465E+00 0.46386966E+00 -0.64009475E-03 + 0.98801070E+00 -0.11307431E+01 0.52810138E+00 0.87130725E-01 + 0.50161202E-01 -0.13517044E+00 0.17106218E+01 -0.20004056E+00 + -0.23602612E+00 -0.27457481E-01 0.24470349E+00 -0.14111976E+00 + 0.38745444E-01 0.47567672E+00 -0.22344863E+00 -0.75762653E+00 + -0.57572667E-01 0.84235661E-01 -0.19831992E+01 0.25760263E+00 + 0.19424836E+00 -0.48381361E+00 -0.13142876E+00 -0.88607311E-01 + -0.23240805E+00 -0.17395240E+00 -0.52569551E+01 0.56680167E+00 + 0.16630801E+01 0.17917032E+01 -0.68722159E+00 -0.39917281E+01 + 0.18925160E+01 -0.13140192E+01 -0.42374140E+00 0.26679027E+00 + -0.19116408E+00 -0.40941292E+00 -0.66891670E-01 0.19922808E+01 + -0.13392372E+01 0.13449211E+01 0.34894937E+00 0.20699842E+01 + -0.15274906E+01 -0.31885910E+01 0.30454439E+00 -0.15603628E+01 + -0.34676233E+00 0.25211805E+00 -0.71817303E+00 -0.18247534E-01 + 0.26140710E-01 0.61536264E-01 0.58766454E-01 0.60080975E-01 + 0.25750726E-01 -0.20359198E-01 0.31155761E-01 0.21450184E+00 + -0.28345245E+00 0.30602595E-01 0.73734485E-02 -0.73152754E-04 + 0.24243208E-01 0.19760437E-01 0.36050619E-02 0.31682935E-01 + -0.42440861E-01 0.21866068E-01 -0.36474708E-01 -0.28035506E-02 + 0.29943240E+00 0.22910596E+00 0.11597272E-01 -0.11098399E-01 + 0.64757057E-02 0.79353563E-02 0.14553241E+00 -0.74297071E-01 + -0.25932562E-01 -0.46754815E-02 0.16648775E+00 -0.20828385E-01 + -0.15960755E-02 -0.84260628E-02 -0.61570007E+00 -0.76635063E-01 + 0.38172159E-01 -0.21436464E-02 0.33362638E-01 0.16782242E+00 + -0.23373502E+00 -0.76538682E-01 -0.46066754E-01 0.44487555E-01 + -0.98707616E-01 -0.62737954E-02 0.47552580E+00 0.33932380E-01 + -0.10383100E-01 0.54402575E-02 0.42593043E-01 -0.40717158E-01 + -0.34468144E-01 0.99032044E-01 -0.15680047E-01 0.16594913E-01 + 0.60266785E-01 -0.96315406E-02 -0.12239870E-01 -0.44720203E-01 + 0.24779208E-01 0.17988122E+00 0.16323382E+00 -0.13639979E-01 + 0.24354510E-01 0.13295418E+00 0.36607604E-01 0.11295782E-01 + -0.85317552E-01 0.23435000E-01 -0.11025270E-01 -0.20789802E-01 + 0.22085600E-01 -0.84365666E-01 -0.16373871E+00 0.14517105E+00 + -0.26270184E-02 0.10327830E-01 0.39756168E-01 -0.21894038E-01 + 0.32299142E-01 -0.25709147E-01 0.46975818E-01 0.91380738E-02 + 0.45137778E-02 -0.18453874E-01 -0.16742311E-01 0.62881191E-02 + 0.31858388E-01 -0.52852482E-01 0.64126670E-01 0.70708215E-01 + 0.26414242E-01 -0.95734000E-01 -0.51715512E-01 -0.61222427E-01 + 0.32585312E-02 -0.72614193E-01 0.29171482E-01 -0.30535296E-01 + -0.62957479E-05 0.48962273E-02 -0.69674499E-01 -0.63961029E-01 + 0.24603058E-02 0.32394648E-01 -0.59477240E-01 -0.60001016E-02 + -0.37934535E-03 0.28015230E-01 -0.36198471E-01 0.15542212E-01 + -0.82169734E-02 -0.18009149E-01 -0.15005710E-01 -0.68974863E-02 + -0.44691046E-02 0.16535791E-01 0.56647848E-01 -0.21545600E-01 + -0.41591849E-01 -0.52183717E-02 -0.25275355E-01 0.10705412E-01 + 0.35601024E-01 0.87656379E-02 -0.97603872E-02 0.26778041E-02 + 0.52771997E-03 -0.49273409E-02 -0.10546015E-02 0.60169499E-01 + -0.38740799E-01 -0.21469520E-01 0.29543182E-02 -0.40258940E-01 + -0.13036973E-01 0.18623425E-01 0.90010501E-02 0.14114744E-01 + -0.19131180E-01 -0.65653445E-03 0.10507871E-01 0.22839565E-01 + -0.56603737E-02 0.63457787E-01 0.13852384E-01 0.19432075E-01 + 0.25225326E-01 0.21424845E-01 -0.25062202E-02 0.82456246E-02 + -0.16133001E-01 0.12762874E-01 0.22965319E-01 0.56073926E-02 + 0.30660007E+01 0.84245279E-02 0.10416746E-01 -0.79152808E-02 + 0.97902566E-02 0.27440810E-02 -0.18010708E-02 -0.44805668E-02 + 0.44099689E-02 0.47937575E+00 -0.73863347E-02 0.62492251E-01 + 0.71070671E-01 0.24661032E-01 -0.76728286E-02 -0.34576587E-01 + -0.55801379E-02 0.24911577E-01 0.72640646E+00 -0.13610826E+00 + -0.92151821E-01 0.57366919E-01 -0.79799712E-01 0.15536817E-01 + 0.29552162E-01 -0.23152212E-01 -0.71591358E-02 -0.52047467E+00 + -0.18002428E+00 -0.14835779E+00 -0.15261012E+00 -0.84134936E-01 + 0.74266493E-01 0.12540764E+00 0.69134533E-02 -0.10695435E+00 + -0.78587294E+00 0.42692184E+00 0.14050613E+00 -0.10526544E+00 + 0.16430841E+00 -0.38810808E-01 -0.95510423E-01 0.89601815E-01 + 0.10011222E-01 -0.18745262E-01 0.15723652E+00 0.10078381E+00 + 0.68045855E-01 0.75673699E-01 -0.72365344E-01 -0.91716707E-01 + -0.11222346E-02 0.89619219E-01 0.83576024E-01 -0.30042052E+00 + -0.12336441E-01 0.59537541E-01 -0.84578097E-01 0.17366191E-01 + 0.79637997E-01 -0.66486597E-01 -0.10213454E-01 -0.24552050E-02 + -0.10713035E+00 -0.34063545E+00 0.15499521E-03 0.16007204E-01 + -0.43798909E-02 0.56936443E-02 0.65028891E-02 0.10104385E-01 + 0.11042718E-01 0.37260795E+00 -0.10771589E+00 0.56015584E-02 + -0.42281896E-02 -0.25236965E-02 -0.11927215E-02 -0.10831781E-01 + 0.66218306E-02 -0.12299377E+00 0.37923908E+00 0.25219774E+00 + 0.50730992E-01 0.70875049E-01 -0.12099680E-01 0.36568888E-01 + 0.57058942E-01 -0.18947594E-01 -0.35674047E-01 -0.31694239E+00 + 0.45843521E+00 -0.12794101E+00 -0.69748282E-01 0.42822126E-01 + 0.30879771E-01 -0.51876176E-01 0.43667898E-01 0.11940229E+00 + 0.61209160E+00 0.10119877E+01 -0.12578768E+00 -0.23280194E+00 + 0.84285975E-01 -0.31325568E-01 -0.14911860E+00 -0.10552527E+00 + -0.42771012E+00 -0.15437869E+01 0.72490805E+00 -0.41361243E-01 + 0.11341512E+00 0.58602653E-02 -0.10867082E-01 0.23384988E+00 + -0.18132640E+00 0.14408731E+01 -0.15181103E+01 -0.70733809E+00 + 0.22425799E+00 -0.20626906E+00 -0.23165996E+00 -0.24311602E+00 + -0.75157177E+00 0.32163310E+00 0.11034918E+01 0.19018679E+01 + -0.25283422E+01 0.54272127E+00 0.81747144E+00 -0.33536398E+00 + -0.28131473E+00 0.44513664E+00 -0.38100833E+00 -0.49559727E+00 + -0.76724958E+00 0.64328122E+00 0.37971288E+00 0.38863847E+00 + -0.20415752E+00 -0.27450984E-01 0.35379425E+00 0.24708346E+00 + 0.15503998E+01 0.70807010E+00 -0.15437078E+01 0.22590759E+00 + -0.22412081E+00 0.70388377E-01 0.28750271E-01 -0.59116590E+00 + 0.65819973E+00 -0.31314049E+01 0.15656356E+01 0.18508844E+01 + -0.10490456E+01 0.13597284E+00 0.96911991E+00 0.34504092E+00 + 0.18334628E+01 -0.94316882E+00 -0.32625730E+01 -0.48891926E+01 + 0.43436413E+01 -0.89692706E+00 -0.22180891E+01 0.81275958E+00 + 0.57701594E+00 -0.92923886E+00 0.10023088E+01 0.46660012E+00 + 0.33790904E+00 -0.12450562E+01 -0.27982509E+00 -0.11594564E+00 + 0.78048646E-01 0.53353403E-01 -0.21656556E+00 -0.16291539E+00 + -0.14640073E+01 0.67885810E+00 0.12005759E+01 -0.24355865E+00 + 0.63787460E-01 -0.11045194E+00 -0.53045403E-01 0.37856793E+00 + -0.54621220E+00 0.18558360E+01 -0.15444052E+00 -0.95597845E+00 + 0.83078742E+00 0.86885989E-01 -0.86581159E+00 -0.98496735E-01 + -0.12377062E+01 0.71731114E+00 0.23264561E+01 0.32293897E+01 + -0.22380531E+01 0.50838184E+00 0.16552075E+01 -0.55498064E+00 + -0.29978299E+00 0.58354074E+00 -0.75011015E+00 -0.18672659E-02 + -0.25456157E-01 0.60223155E-02 0.49720477E-01 -0.96478701E-01 + -0.38978409E-02 -0.22143550E-03 -0.35477504E-02 -0.55410177E-03 + -0.34474751E-02 -0.11412908E-01 -0.14703929E-01 0.10629821E+00 + 0.38479727E-01 -0.11775077E-01 0.24791460E-02 -0.13214643E-04 + 0.54156147E-02 0.17747484E-01 0.85842311E-01 0.12783460E-01 + -0.80395043E-02 0.82914710E-01 0.52115154E-01 -0.59585273E-02 + -0.34316640E-01 -0.31203479E-01 -0.15008710E+00 0.13022914E-01 + -0.13114069E+00 -0.98083436E-01 0.43264873E-01 0.23754107E-01 + 0.40249381E-01 -0.25870554E-01 0.10604725E-01 -0.11669767E+00 + 0.18879849E+00 0.85860312E-01 -0.80694497E-01 -0.14608113E+00 + -0.38452525E-01 0.11943400E+00 0.36737785E-01 -0.83100677E-01 + -0.98170817E-01 -0.25824534E-01 -0.13470169E-01 0.16278110E+00 + 0.14445359E+00 -0.37913609E-01 0.26959054E-01 0.54383241E-01 + -0.33156373E-01 -0.69396198E-01 -0.29353243E+00 0.12254417E+00 + -0.11734210E-01 -0.65991062E+00 -0.22865219E+00 -0.37296601E-01 + 0.19098967E+00 0.12578195E+00 0.10914135E+01 0.47314721E+00 + 0.71602601E+00 0.67154002E+00 -0.39010671E+00 0.86237669E-01 + -0.38608789E+00 0.10881895E+00 -0.13271819E-01 0.24741706E+00 + -0.29912937E+00 -0.27786803E+00 0.58144860E-01 0.35581681E+00 + 0.53345066E-01 -0.22732739E+00 -0.30918675E-01 0.11908953E+00 + 0.87417543E-01 -0.19209104E-02 0.12066233E+00 -0.37097231E+00 + -0.29199541E+00 0.99688835E-01 -0.63901901E-01 -0.95861495E-01 + 0.24224214E-01 -0.14814957E-01 0.35126495E+00 -0.10779123E+00 + -0.37479263E-01 0.10758762E+01 0.33757871E+00 0.12894207E+00 + -0.21282887E+00 -0.11465585E+00 -0.14006575E+01 -0.77323842E+00 + -0.76969254E+00 -0.10458289E+01 0.45393544E+00 -0.20995064E+00 + 0.51989406E+00 -0.76540709E-01 -0.34076910E-01 -0.14458182E-01 + 0.55377376E-02 0.10118626E-01 0.43726042E-02 0.30203220E-02 + 0.26917916E-01 -0.27824065E-01 0.38614003E-02 -0.23288135E-02 + 0.97673871E-02 -0.12221952E-01 -0.20525286E-02 -0.16824724E-01 + 0.66913562E-04 0.29891020E-01 0.39633665E-01 0.86441599E-02 + 0.57085603E-02 0.60076389E-01 0.44391785E-01 0.75440109E-02 + -0.47574192E-01 -0.25747169E-01 -0.13596807E+00 -0.25348425E-01 + -0.39103720E-03 -0.79124048E-02 0.47816981E-01 -0.12213376E-01 + -0.60907346E-02 -0.16249452E-01 -0.81891678E-02 0.20783218E-01 + -0.12515885E+00 -0.63580871E-02 -0.93365349E-02 0.35757355E-01 + -0.11628063E+00 0.23941847E-01 0.39817769E-01 0.22874355E-01 + -0.14632469E+00 -0.48552621E-01 0.21140071E-01 -0.29413916E-01 + -0.10383630E+00 -0.25948141E-01 -0.37469424E-01 0.13439357E-01 + -0.65478273E-02 0.93140125E-01 -0.17407706E+00 -0.22653144E-01 + 0.20707194E-01 -0.12050122E-01 -0.76118793E-03 0.14033114E-02 + 0.10667692E-01 0.31927917E-02 -0.39311573E-02 0.34947081E-02 + 0.25789491E-02 0.31379892E-02 -0.14100998E-01 0.78286082E-02 + -0.55754264E-02 -0.79506785E-02 0.20916834E-02 0.22414434E-02 + 0.73174648E-02 -0.58244867E-03 0.37509061E-02 0.89371920E-01 + 0.39174829E-01 -0.15044763E-01 -0.11416791E-02 -0.28407648E-01 + -0.12282238E-01 0.21022290E-02 0.14036148E-01 -0.10413605E+00 + -0.34115105E-02 -0.33254713E-01 0.22143330E-01 0.35554640E-01 + -0.46583931E-02 0.82491376E-02 0.43415092E-02 0.11600925E+00 + 0.77101216E-02 -0.15329776E-02 -0.16291803E-02 -0.26436497E-02 + -0.49016397E-02 0.12201113E-02 0.16907736E-02 0.32629375E-03 + -0.15686177E-01 0.86215138E-02 0.87878667E-02 0.13618469E-01 + -0.13227126E-01 -0.82996041E-02 -0.15946571E-01 0.71573965E-02 + 0.56405216E-02 -0.54664947E-02 -0.11713527E-01 -0.12917928E-02 + 0.49148053E-02 0.13711534E-01 0.31793681E-02 0.66184960E-02 + 0.20440642E-02 -0.92955935E-03 -0.69237840E-02 -0.55623800E-03 + 0.28278935E-03 -0.72326218E-02 -0.10317587E-01 0.10494899E-03 + -0.11032541E-01 0.24561610E-02 0.84329061E-02 -0.13802494E-02 + -0.10716312E-01 0.26969769E+01 0.32681655E-02 0.43882988E-02 + -0.27695219E-02 0.10836556E-01 -0.36222464E-03 -0.40186793E-02 + -0.25219589E-02 -0.58713162E-04 0.43824396E+00 0.19661854E-02 + 0.37536159E-01 0.40424865E-01 0.34500241E-01 -0.12376063E-01 + -0.37711073E-01 -0.25790087E-02 0.21678761E-01 0.90846717E+00 + -0.32327816E-01 -0.90745449E-01 0.30759603E-01 -0.99251986E-01 + 0.25366193E-01 0.51679712E-01 -0.10518883E-01 0.47520380E-01 + -0.36741737E+00 -0.22690704E+00 -0.80392957E-01 -0.10627038E+00 + -0.96276939E-01 0.56504995E-01 0.13875306E+00 -0.96518261E-03 + -0.10057622E+00 -0.98529118E+00 0.91059327E-01 0.14998364E+00 + -0.79339802E-01 0.17853464E+00 -0.37562925E-01 -0.12783724E+00 + 0.34081671E-01 -0.13274521E+00 -0.14129069E-01 0.19939512E+00 + 0.66745520E-01 0.63963890E-01 0.75332046E-01 -0.48900589E-01 + -0.10383719E+00 0.38989400E-02 0.86292446E-01 0.10910988E+00 + -0.51262558E-01 -0.39895140E-01 0.59805352E-01 -0.85471392E-01 + 0.12946113E-01 0.86364150E-01 -0.23241360E-01 0.85489273E-01 + 0.68126299E-03 -0.26906115E+00 -0.25801980E+00 -0.36406657E-03 + 0.15821833E-01 -0.58499654E-02 0.49455762E-02 0.19876708E-02 + 0.70102806E-02 0.10385458E-01 0.28189832E+00 -0.27379465E+00 + 0.99617578E-02 -0.94898157E-02 0.23341463E-02 -0.17798021E-02 + -0.35258993E-02 0.95521472E-02 -0.59638534E-01 0.22104719E+00 + 0.11115754E+00 0.36462769E-02 0.68865597E-01 -0.22449013E-01 + 0.57117860E-02 0.45325380E-01 0.41912277E-02 -0.27711060E-01 + -0.10434670E+00 0.26874310E+00 -0.27662920E-01 -0.48578795E-01 + 0.34111127E-01 0.36623154E-01 -0.33080464E-02 0.34407131E-01 + -0.86527243E-02 0.10166693E+01 0.33211762E+00 -0.69901407E-01 + -0.18758865E+00 0.96067429E-01 -0.20856792E-01 -0.89351058E-01 + -0.11115277E+00 -0.27616102E+00 -0.77658606E+00 0.11817398E+01 + -0.40753499E-01 0.15753448E+00 -0.38351923E-01 0.15354546E-01 + 0.11337687E+00 -0.17565703E+00 0.70202410E+00 -0.12175159E+01 + -0.54803377E+00 0.31004715E+00 -0.24121670E+00 0.54169372E-02 + -0.16837782E+00 -0.57409132E+00 -0.40699039E-01 0.73859042E+00 + 0.11418142E+01 -0.18006943E+01 -0.92229664E-01 0.44709340E+00 + -0.23921192E+00 -0.38646668E+00 0.41334980E-03 -0.26683545E+00 + -0.14896899E+00 -0.11365070E+01 0.14847136E+01 0.33789396E+00 + 0.27518690E+00 -0.24134617E+00 -0.20836782E-01 0.24304214E+00 + 0.32803184E+00 0.98338109E+00 -0.47739935E+00 -0.19460964E+01 + 0.17087240E-01 -0.25491273E+00 0.74909985E-01 -0.80111437E-01 + -0.28729576E+00 0.55402631E+00 -0.14751052E+01 0.17943172E+01 + 0.17780761E+01 -0.91258281E+00 0.23318028E+00 0.18268085E+00 + 0.40549916E+00 0.14381837E+01 0.42043664E-01 -0.24171762E+01 + -0.34031205E+01 0.33957863E+01 0.46847907E+00 -0.11220570E+01 + 0.62169796E+00 0.88092864E+00 0.88447571E-01 0.57009745E+00 + 0.19369578E+00 0.60008752E+00 -0.14411573E+01 -0.28396809E+00 + -0.81249475E-01 0.11603205E+00 0.37423868E-01 -0.16771764E+00 + -0.25206983E+00 -0.87629104E+00 0.11575413E+01 0.13158293E+01 + 0.61591063E-01 0.67997456E-01 -0.37556443E-01 0.51347751E-01 + 0.18010110E+00 -0.45261532E+00 0.80545521E+00 -0.58170271E+00 + -0.83205843E+00 0.67988551E+00 -0.48437752E-02 -0.24384318E+00 + -0.24711604E+00 -0.99533570E+00 -0.74051530E-03 0.19566716E+01 + 0.21233406E+01 -0.18595179E+01 -0.41028827E+00 0.87477672E+00 + -0.47322932E+00 -0.53535783E+00 -0.10144443E+00 -0.34023517E+00 + 0.19387044E-02 -0.24992784E-01 0.41351989E-02 0.82355022E-01 + -0.10060744E+00 0.10565566E-02 0.61386190E-02 -0.56847967E-02 + 0.28516681E-03 0.18765300E-02 -0.18433958E-01 -0.57170093E-02 + 0.96418202E-01 0.74403822E-01 -0.49711913E-02 0.73961462E-02 + -0.26749184E-02 0.35287789E-02 0.44248570E-01 0.44711579E-01 + 0.35021901E-01 -0.10435295E+00 0.12232721E+00 0.40250488E-01 + 0.19099291E-01 0.10738103E-02 -0.69058016E-02 -0.51917084E-01 + -0.27201002E-01 -0.10501927E+00 -0.16478807E+00 -0.83345890E-01 + -0.19203558E-02 0.45351200E-01 -0.21076348E-01 0.86140931E-02 + -0.10319303E+00 0.13298593E+00 0.73425949E-01 -0.46246284E+00 + 0.13967548E+00 -0.45703523E-01 0.76875174E-02 0.67371547E-01 + -0.46121821E-01 -0.71389139E-01 -0.35766073E-01 -0.66930771E-01 + -0.13037997E+00 -0.29186928E+00 -0.43604024E-01 -0.38124867E-01 + 0.46981771E-01 -0.33583380E-01 -0.22479942E+00 -0.17325094E+00 + -0.42389341E-01 0.63497186E-01 -0.65707499E+00 -0.18000966E+00 + -0.13928048E+00 0.92657888E-03 0.32833587E-01 0.35454521E+00 + 0.56296510E+00 0.54718381E+00 0.87280089E+00 -0.95135510E-01 + 0.18839496E+00 -0.28471857E+00 0.99687934E-01 -0.74194789E-01 + 0.22021560E+00 -0.19814748E+00 -0.26210845E+00 0.38916111E+00 + -0.11701602E+00 0.43736540E-01 -0.51089484E-01 -0.89396298E-01 + 0.56751572E-01 0.84288061E-01 0.46980046E-01 0.16849744E+00 + 0.14809281E+00 0.15139216E+00 0.80832958E-01 0.28206998E-01 + -0.66889465E-01 0.30166354E-01 0.12673169E+00 0.26919132E+00 + 0.78022063E-01 0.44204062E-03 0.88714296E+00 0.26615989E+00 + 0.19613440E+00 -0.19267650E-01 -0.56138385E-01 -0.44904345E+00 + -0.76422286E+00 -0.58892202E+00 -0.11297760E+01 0.21760572E+00 + -0.28634095E+00 0.33985865E+00 -0.90833008E-01 0.72062910E-01 + -0.51934798E-02 0.74422546E-03 0.79966486E-02 0.72337948E-02 + -0.33158786E-03 0.32955918E-01 -0.36173228E-01 0.37724697E-02 + -0.41374913E-03 -0.21712191E-02 -0.42578482E-03 0.46815388E-02 + -0.11746973E-01 0.20427757E-02 0.37616257E-01 0.33100203E-01 + 0.46383850E-02 0.91368472E-03 0.12895067E-01 0.50809752E-01 + 0.29385977E-02 -0.18984521E-01 -0.27869945E-01 -0.12483257E+00 + -0.34310818E-01 -0.27956213E-02 -0.34609213E-04 0.11988607E-01 + -0.21017001E-02 0.25302018E-02 -0.96779130E-02 -0.14333851E-01 + 0.32475427E-01 -0.11795450E+00 -0.32607215E-02 -0.88285506E-02 + 0.10866593E-01 -0.90187967E-01 0.33737592E-01 0.10237813E-01 + 0.22867152E-01 -0.17877860E+00 -0.42381447E-01 0.12767125E-01 + -0.93460009E-02 -0.30316096E-01 -0.55458795E-01 -0.43160249E-01 + 0.22116290E-01 -0.88928193E-02 0.67580640E-01 -0.13444775E+00 + -0.15160068E-01 0.16901068E-01 -0.74068047E-02 -0.93656145E-02 + 0.16188228E-02 0.28720107E-02 0.59500970E-02 -0.38546901E-02 + 0.22760718E-02 0.99050291E-02 0.50792433E-02 -0.11978723E-01 + 0.60989032E-02 -0.10759149E-01 -0.51578474E-02 -0.61472133E-02 + -0.13215246E-02 0.77774036E-02 -0.41620322E-02 0.12450546E-01 + 0.33062402E-01 0.28125862E-01 -0.74927360E-02 0.32324707E-02 + -0.23429560E-01 -0.13820421E-02 0.71330257E-02 0.28685572E-01 + -0.87745190E-01 0.55558789E-02 -0.37983757E-01 0.23901638E-01 + 0.20743826E-01 -0.81198774E-02 -0.32056179E-02 0.81566982E-02 + 0.96058130E-01 0.33794027E-01 0.55779284E-03 -0.44976063E-02 + -0.40536793E-03 -0.57768039E-02 0.36962279E-02 0.12729282E-02 + -0.32060328E-02 -0.11466082E-01 0.39026921E-02 0.30240277E-02 + 0.14327827E-01 -0.91552846E-02 -0.15580239E-02 -0.14593671E-01 + 0.58387029E-02 0.71950476E-02 -0.30479324E-02 -0.67118257E-02 + -0.39168894E-02 0.10714658E-01 0.97695887E-02 0.44566910E-02 + 0.11315702E-02 -0.24044179E-03 -0.57686237E-03 -0.59982352E-02 + -0.22883762E-02 0.37045735E-02 -0.60077985E-02 -0.99031962E-02 + 0.84312021E-03 -0.11128207E-01 0.24483954E-02 0.49151890E-02 + 0.20255844E-03 -0.45773275E-02 diff --git a/src/test/resources/nequick/modip.txt b/src/test/resources/nequick/modip.txt new file mode 100644 index 000000000..8d4c6d523 --- /dev/null +++ b/src/test/resources/nequick/modip.txt @@ -0,0 +1,39 @@ + -76.37 -76.34 -76.30 -76.25 -76.55 -76.47 -76.75 -76.65 -76.90 -76.79 -77.04 -77.27 -77.19 -77.44 -77.37 -77.33 -77.30 -77.30 -77.31 -77.34 -77.40 -77.13 -77.21 -76.96 -77.06 -76.81 -76.91 -76.66 -76.76 -76.48 -76.56 -76.25 -76.31 -76.34 -76.37 -76.37 -76.37 -76.34 -76.30 + -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 -90.00 + -77.31 -77.34 -77.40 -77.13 -77.21 -76.96 -77.06 -76.81 -76.91 -76.66 -76.76 -76.48 -76.56 -76.25 -76.31 -76.34 -76.37 -76.37 -76.37 -76.34 -76.30 -76.25 -76.55 -76.47 -76.75 -76.65 -76.90 -76.79 -77.04 -77.27 -77.19 -77.44 -77.37 -77.33 -77.30 -77.30 -77.31 -77.34 -77.40 + -72.98 -73.10 -72.84 -72.61 -72.40 -72.20 -72.00 -71.80 -71.59 -71.36 -71.11 -70.82 -70.49 -70.64 -70.23 -70.31 -70.35 -70.36 -70.34 -70.28 -70.18 -70.59 -70.42 -70.74 -71.02 -71.26 -71.47 -71.66 -72.30 -72.47 -72.65 -72.86 -73.10 -73.38 -73.32 -73.32 -72.98 -73.10 -72.84 + -70.32 -70.13 -69.97 -69.37 -69.25 -68.64 -67.99 -67.89 -67.19 -67.04 -66.22 -65.96 -65.61 -65.84 -65.33 -65.41 -65.43 -65.42 -65.35 -65.26 -65.78 -65.58 -65.97 -66.28 -66.51 -67.28 -67.95 -68.01 -68.58 -69.12 -69.65 -70.20 -70.34 -70.58 -70.51 -70.58 -70.32 -70.13 -69.97 + -67.88 -67.33 -66.76 -66.71 -66.11 -65.50 -64.87 -64.23 -63.55 -62.82 -62.72 -61.76 -61.41 -60.88 -61.01 -61.01 -60.95 -60.84 -61.51 -61.36 -61.95 -61.71 -62.13 -62.42 -63.30 -64.03 -64.63 -65.15 -66.19 -66.60 -67.52 -67.93 -68.39 -68.55 -68.58 -68.42 -67.88 -67.33 -66.76 + -65.43 -64.90 -64.33 -63.71 -63.06 -62.40 -61.75 -61.11 -60.47 -59.79 -58.18 -58.04 -57.67 -57.02 -57.01 -57.72 -57.46 -58.06 -57.84 -58.51 -58.32 -58.92 -59.38 -59.66 -60.54 -61.22 -61.75 -62.83 -63.80 -64.68 -65.51 -66.31 -66.61 -67.17 -66.81 -65.90 -65.43 -64.90 -64.33 + -63.10 -62.52 -61.89 -61.21 -60.49 -59.77 -59.08 -58.42 -57.00 -56.36 -54.71 -53.70 -53.29 -53.45 -53.20 -53.67 -55.00 -55.41 -55.94 -55.71 -55.57 -56.29 -55.98 -57.17 -58.06 -58.70 -59.90 -60.92 -61.83 -62.70 -63.55 -64.45 -64.56 -64.70 -64.14 -63.63 -63.10 -62.52 -61.89 + -60.55 -59.89 -59.18 -58.41 -57.60 -56.79 -56.00 -55.29 -53.77 -53.17 -51.50 -50.51 -50.08 -50.08 -50.56 -51.68 -52.65 -52.78 -54.07 -53.77 -53.68 -54.54 -54.38 -54.82 -55.78 -56.42 -57.62 -58.65 -60.26 -61.19 -61.61 -62.29 -62.19 -61.90 -61.80 -61.18 -60.55 -59.89 -59.18 + -57.52 -56.76 -56.72 -55.88 -54.99 -54.10 -53.23 -52.44 -50.80 -49.16 -48.52 -46.43 -45.95 -45.73 -47.00 -48.82 -50.45 -51.19 -52.26 -52.75 -52.68 -52.80 -52.84 -53.46 -53.66 -54.34 -55.58 -57.41 -58.42 -58.87 -59.57 -59.97 -60.07 -59.79 -58.99 -58.25 -57.52 -56.76 -56.72 + -55.35 -54.54 -53.68 -52.76 -51.79 -50.80 -49.83 -48.94 -48.17 -46.46 -44.70 -42.50 -41.96 -42.75 -44.84 -46.20 -48.49 -49.87 -51.57 -51.85 -51.71 -51.95 -51.34 -51.31 -52.58 -53.34 -54.63 -55.78 -56.24 -57.62 -57.94 -57.92 -57.47 -57.17 -56.26 -56.16 -55.35 -54.54 -53.68 + -52.61 -51.73 -50.81 -49.82 -48.79 -47.75 -46.73 -45.73 -44.88 -43.03 -41.20 -38.94 -38.31 -38.86 -41.88 -43.95 -46.94 -48.96 -50.32 -51.24 -51.85 -51.24 -50.87 -50.24 -50.85 -51.80 -52.39 -53.74 -54.41 -55.38 -55.25 -55.40 -54.97 -54.65 -53.63 -53.49 -52.61 -51.73 -50.81 + -50.08 -48.20 -47.20 -47.17 -46.12 -45.07 -42.87 -41.78 -40.82 -38.82 -36.89 -34.51 -33.78 -35.48 -38.12 -41.01 -44.83 -47.57 -49.58 -50.20 -50.62 -50.87 -49.77 -49.45 -49.44 -49.72 -51.40 -52.11 -53.01 -52.69 -52.77 -53.07 -52.64 -51.44 -51.17 -50.13 -50.08 -48.20 -47.20 + -46.90 -44.89 -43.84 -42.71 -41.57 -40.48 -39.39 -36.91 -35.88 -33.72 -31.73 -29.23 -28.33 -29.76 -33.48 -38.67 -42.12 -45.72 -47.53 -48.89 -50.02 -50.20 -49.21 -48.22 -47.56 -48.11 -49.16 -50.11 -50.41 -50.29 -50.57 -50.12 -49.68 -49.27 -48.03 -47.90 -46.90 -44.89 -43.84 + -42.94 -40.78 -39.69 -38.48 -37.26 -36.16 -33.63 -32.45 -29.87 -27.64 -23.91 -21.22 -21.91 -22.92 -29.50 -34.27 -40.00 -43.37 -46.09 -47.36 -48.44 -48.57 -47.60 -45.76 -45.35 -46.19 -46.51 -46.76 -47.29 -47.35 -46.83 -46.42 -45.93 -45.45 -45.13 -43.97 -42.94 -40.78 -39.69 + -38.00 -37.05 -34.60 -33.29 -32.00 -29.31 -28.16 -25.31 -22.60 -20.39 -16.58 -13.78 -12.32 -16.69 -22.92 -30.45 -35.94 -40.47 -43.26 -45.67 -45.82 -45.96 -44.97 -43.15 -42.92 -42.92 -43.46 -43.88 -44.62 -43.76 -43.30 -42.89 -42.33 -41.78 -40.28 -39.04 -38.00 -37.05 -34.60 + -33.30 -30.99 -28.38 -26.97 -25.53 -22.62 -19.66 -18.45 -15.74 -11.72 -7.87 -4.92 -3.12 -7.12 -14.93 -24.08 -32.47 -36.99 -40.00 -41.64 -43.06 -42.18 -41.13 -40.42 -39.12 -38.01 -38.74 -39.34 -40.26 -39.38 -38.94 -38.49 -37.82 -37.16 -35.51 -34.24 -33.30 -30.99 -28.38 + -25.81 -23.45 -20.73 -19.23 -15.79 -14.45 -11.27 -8.07 -5.36 -1.38 1.54 4.46 4.34 -0.15 -7.30 -18.17 -26.70 -32.91 -36.30 -38.36 -38.91 -38.05 -36.96 -34.95 -33.56 -32.35 -33.22 -33.93 -35.02 -34.07 -33.58 -33.04 -32.18 -31.36 -29.52 -28.25 -25.81 -23.45 -20.73 + -18.21 -14.07 -11.29 -9.72 -7.95 -4.47 -1.12 -0.13 3.20 7.24 11.16 13.63 13.20 8.68 -0.02 -8.99 -19.80 -26.62 -30.66 -31.94 -32.88 -32.04 -29.36 -27.06 -25.49 -25.75 -26.72 -27.51 -27.17 -27.63 -25.41 -24.66 -25.14 -24.09 -22.00 -20.69 -18.21 -14.07 -11.29 + -8.65 -4.46 -1.73 0.13 2.22 4.54 7.05 9.67 12.82 16.46 19.79 21.67 21.01 16.82 8.72 -0.07 -11.56 -19.23 -22.42 -24.32 -24.10 -23.26 -20.19 -17.56 -15.77 -16.03 -17.09 -17.97 -17.55 -17.99 -17.17 -16.10 -16.39 -14.98 -14.45 -11.16 -8.65 -4.46 -1.73 + 0.78 4.62 7.90 10.21 12.09 14.13 16.34 18.68 21.42 24.45 27.06 28.37 27.58 23.89 16.91 7.39 -1.72 -8.45 -12.47 -13.20 -13.31 -12.51 -9.01 -7.96 -5.94 -4.22 -5.36 -6.30 -7.78 -6.17 -5.05 -5.58 -5.56 -5.74 -4.93 -1.35 0.78 4.62 7.90 + 10.53 14.10 17.12 19.21 20.83 22.54 24.39 26.39 28.66 31.06 33.02 33.86 32.99 29.88 24.18 16.35 8.11 1.73 -0.45 -1.65 -0.05 -0.74 1.49 4.17 5.96 6.21 5.41 4.44 3.94 4.19 4.79 4.99 4.61 4.42 5.26 7.37 10.53 14.10 17.12 + 19.28 22.29 24.88 26.70 28.07 29.49 31.06 32.75 34.60 36.47 37.90 38.39 37.50 34.90 30.42 24.42 18.03 12.98 10.38 9.92 10.50 11.69 13.59 15.77 17.22 17.43 16.81 16.02 15.59 15.74 16.07 15.96 15.30 14.76 15.12 16.69 19.28 22.29 24.88 + 26.70 29.05 31.16 32.70 33.90 35.12 36.47 37.92 39.45 40.91 41.96 42.19 41.32 39.16 35.70 31.30 26.70 23.08 21.25 21.01 21.61 22.63 24.09 25.69 26.74 26.93 26.51 25.95 25.66 25.72 25.83 25.49 24.69 23.90 23.83 24.79 26.70 29.05 31.16 + 32.85 34.58 36.23 37.53 38.62 39.71 40.91 42.19 43.48 44.66 45.43 45.49 44.65 42.86 40.21 37.04 33.89 31.44 30.23 30.14 30.66 31.45 32.51 33.62 34.37 34.53 34.28 33.93 33.76 33.79 33.75 33.31 32.45 31.54 31.14 31.57 32.85 34.58 36.23 + 37.97 39.18 40.43 41.54 42.53 43.56 44.66 45.80 46.94 47.90 48.48 48.44 47.65 46.16 44.13 41.87 39.72 38.12 37.34 37.33 37.74 38.35 39.10 39.85 40.37 40.53 40.41 40.25 40.16 40.17 40.07 39.59 38.73 37.78 37.19 37.23 37.97 39.18 40.43 + 42.38 43.15 44.10 45.03 45.95 46.92 47.95 49.00 50.00 50.82 51.27 51.16 50.44 49.18 47.61 45.97 44.51 43.46 42.97 42.99 43.30 43.76 44.30 44.81 45.18 45.33 45.33 45.29 45.30 45.31 45.15 44.67 43.86 42.93 42.23 42.02 42.38 43.15 44.10 + 46.29 46.76 47.46 48.25 49.09 50.00 50.97 51.93 52.82 53.52 53.87 53.73 53.07 52.02 50.78 49.57 48.55 47.84 47.52 47.55 47.79 48.13 48.51 48.87 49.16 49.32 49.40 49.46 49.53 49.55 49.38 48.91 48.15 47.29 46.56 46.20 46.29 46.76 47.46 + 49.92 50.19 50.69 51.34 52.10 52.95 53.84 54.71 55.50 56.10 56.38 56.21 55.61 54.73 53.75 52.83 52.07 51.57 51.35 51.37 51.54 51.80 52.07 52.34 52.58 52.76 52.91 53.05 53.17 53.19 53.02 52.58 51.89 51.10 50.41 49.98 49.92 50.19 50.69 + 53.37 53.50 53.87 54.42 55.09 55.84 56.64 57.42 58.11 58.62 58.82 58.64 58.11 57.37 56.57 55.85 55.28 54.90 54.72 54.72 54.84 55.02 55.22 55.44 55.65 55.86 56.06 56.26 56.41 56.45 56.28 55.87 55.26 54.56 53.93 53.52 53.37 53.50 53.87 + 56.74 56.80 57.06 57.50 58.07 58.72 59.42 60.10 60.69 61.11 61.25 61.05 60.58 59.96 59.31 58.73 58.28 57.98 57.82 57.79 57.86 57.98 58.14 58.33 58.53 58.75 59.00 59.23 59.41 59.46 59.31 58.95 58.41 57.82 57.28 56.90 56.74 56.80 57.06 + 60.07 60.09 60.28 60.62 61.09 61.63 62.21 62.78 63.28 63.61 63.69 63.48 63.06 62.54 62.02 61.56 61.19 60.93 60.79 60.74 60.77 60.85 60.98 61.14 61.34 61.58 61.83 62.09 62.28 62.34 62.21 61.91 61.47 60.98 60.54 60.22 60.07 60.09 60.28 + 63.41 63.42 63.55 63.81 64.16 64.59 65.05 65.50 65.91 66.17 66.19 65.97 65.60 65.17 64.76 64.39 64.10 63.88 63.75 63.69 63.70 63.75 63.85 64.00 64.19 64.42 64.67 64.92 65.11 65.17 65.08 64.84 64.50 64.13 63.79 63.54 63.41 63.42 63.55 + 66.83 66.83 66.92 67.10 67.35 67.65 68.00 68.34 68.64 68.83 68.80 68.57 68.26 67.93 67.61 67.34 67.11 66.94 66.82 66.77 66.76 66.80 66.88 67.01 67.18 67.38 67.60 67.82 67.99 68.07 68.02 67.85 67.60 67.34 67.10 66.93 66.83 66.83 66.92 + 70.42 70.42 70.48 70.58 70.74 70.94 71.16 71.40 71.61 71.72 71.63 71.42 71.18 70.94 70.72 70.53 70.37 70.25 70.16 70.12 70.11 70.14 70.20 70.30 70.43 70.58 70.76 70.93 71.07 71.15 71.14 71.04 70.90 70.74 70.59 70.48 70.42 70.42 70.48 + 74.37 74.37 74.40 74.46 74.54 74.65 74.77 74.90 75.03 75.03 74.90 74.75 74.60 74.46 74.33 74.21 74.12 74.05 73.99 73.97 73.96 73.98 74.02 74.08 74.16 74.26 74.36 74.47 74.57 74.64 74.66 74.64 74.58 74.52 74.45 74.40 74.37 74.37 74.40 + 79.15 79.15 79.17 79.19 79.22 79.25 79.29 79.31 79.28 79.23 79.18 79.12 79.06 79.01 78.96 78.92 78.88 78.85 78.83 78.82 78.82 78.83 78.84 78.87 78.90 78.93 78.97 79.02 79.06 79.10 79.13 79.15 79.16 79.16 79.15 79.15 79.15 79.15 79.17 + 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 90.00 +78.83 78.82 78.82 78.83 78.84 78.87 78.90 78.93 78.97 79.02 79.06 79.10 79.13 79.15 79.16 79.16 79.15 79.15 79.15 79.15 79.17 79.19 79.22 79.25 79.29 79.31 79.28 79.23 79.18 79.12 79.06 79.01 78.96 78.92 78.88 78.85 78.83 78.82 78.82 \ No newline at end of file -- GitLab From 4ab7060069bdb884c9714bcfa0585f293580c45f Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 10 Jul 2019 15:43:10 +0200 Subject: [PATCH 028/199] Moved around methods between internal classes for simplicity. --- .../orekit/gnss/HatanakaCompressFilter.java | 183 +++++++++--------- 1 file changed, 91 insertions(+), 92 deletions(-) diff --git a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java index 599cc604f..5a9e4b27f 100644 --- a/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java +++ b/src/main/java/org/orekit/gnss/HatanakaCompressFilter.java @@ -78,15 +78,6 @@ public class HatanakaCompressFilter implements DataFilter { /** Filtering of Hatanaka compressed stream. */ private static class HatanakaInputStream extends InputStream { - /** Index of label in data lines. */ - private static final int LABEL_START = 60; - - /** Label for compact Rinex version. */ - private static final String CRINEX_VERSION_TYPE = "CRINEX VERS / TYPE"; - - /** Label for compact Rinex program. */ - private static final String CRINEX_PROG_DATE = "CRINEX PROG / DATE"; - /** Default number of satellites (used if not present in the file). */ private static final int DEFAULT_NB_SAT = 500; @@ -97,7 +88,7 @@ public class HatanakaCompressFilter implements DataFilter { private final BufferedReader reader; /** Format of the current file. */ - private final RinexFormat format; + private final CompactRinexFormat format; /** Maximum number of observations for one satellite. */ private int maxObs; @@ -142,14 +133,8 @@ public class HatanakaCompressFilter implements DataFilter { // check header final String line1 = reader.readLine(); - if (!CRINEX_VERSION_TYPE.equals(parseString(line1, LABEL_START, CRINEX_VERSION_TYPE.length()))) { - throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); - } - format = RinexFormat.getFormat(name, line1); final String line2 = reader.readLine(); - if (!CRINEX_PROG_DATE.equals(parseString(line2, LABEL_START, CRINEX_PROG_DATE.length()))) { - throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); - } + format = CompactRinexFormat.getFormat(name, line1, line2); maxObs = 0; nbSat = DEFAULT_NB_SAT; @@ -221,62 +206,6 @@ public class HatanakaCompressFilter implements DataFilter { reader.close(); } - /** Extract a string from a line. - * @param line to parse - * @param start start index of the string - * @param length length of the string - * @return parsed string - */ - private static String parseString(final String line, final int start, final int length) { - if (line.length() > start) { - return line.substring(start, FastMath.min(line.length(), start + length)).trim(); - } else { - return null; - } - } - - /** Extract an integer from a line. - * @param line to parse - * @param start start index of the integer - * @param length length of the integer - * @return parsed integer - */ - private static int parseInt(final String line, final int start, final int length) { - if (line.length() > start && !parseString(line, start, length).isEmpty()) { - return Integer.parseInt(parseString(line, start, length)); - } else { - return 0; - } - } - - /** Extract a long integer from a line. - * @param line to parse - * @param start start index of the integer - * @param length length of the integer - * @return parsed long integer - */ - private static long parseLong(final String line, final int start, final int length) { - if (line.length() > start && !parseString(line, start, length).isEmpty()) { - return Long.parseLong(parseString(line, start, length)); - } else { - return 0l; - } - } - - /** Extract a double from a line. - * @param line to parse - * @param start start index of the real - * @param length length of the real - * @return parsed real, or {@code Double.NaN} if field was empty - */ - private static double parseDouble(final String line, final int start, final int length) { - if (line.length() > start && !parseString(line, start, length).isEmpty()) { - return Double.parseDouble(parseString(line, start, length)); - } else { - return Double.NaN; - } - } - } /** Processor handling differential compression for one numerical data field. */ @@ -386,10 +315,10 @@ public class HatanakaCompressFilter implements DataFilter { } /** Enumerate for rinex formats. */ - private enum RinexFormat { + private enum CompactRinexFormat { - /** Rinex 2 format. */ - RINEX_2 { + /** Compact RINEX 1 format (for RINEX 2.x). */ + COMPACT_RINEX_1 { /** Label for number of observations. */ private static final String NB_TYPES_OF_OBSERV = "# / TYPES OF OBSERV"; @@ -422,7 +351,7 @@ public class HatanakaCompressFilter implements DataFilter { @Override /** {@inheritDoc} */ public String parseEpochAndClockLines(final HatanakaInputStream his, - final String epochLine, final String clockLine) { + final String epochLine, final String clockLine) { // check reset final boolean reset = epochLine.charAt(0) == '&'; @@ -434,7 +363,7 @@ public class HatanakaCompressFilter implements DataFilter { null : new NumericDifferential(CLOCK_LENGTH, CLOCK_DECIMAL_PLACES, - HatanakaInputStream.parseInt(clockLine, 0, 1)); + parseInt(clockLine, 0, 1)); } // parse epoch @@ -451,7 +380,7 @@ public class HatanakaCompressFilter implements DataFilter { clockPart = EMPTY_CLOCK; } else { final int skip = reset ? 2 : 0; - clockPart = his.clockDifferential.accept(HatanakaInputStream.parseLong(clockLine, skip, clockLine.length() - skip)); + clockPart = his.clockDifferential.accept(parseLong(clockLine, skip, clockLine.length() - skip)); } his.lineInEpoch = 1; @@ -472,7 +401,7 @@ public class HatanakaCompressFilter implements DataFilter { /** {@inheritDoc} */ public String parseHeaderLine(final HatanakaInputStream his, final String line) { if (isHeaderLine(NB_TYPES_OF_OBSERV, line)) { - his.maxObs = FastMath.max(his.maxObs, HatanakaInputStream.parseInt(line, 0, 6)); + his.maxObs = FastMath.max(his.maxObs, parseInt(line, 0, 6)); return line; } else { return super.parseHeaderLine(his, line); @@ -481,8 +410,8 @@ public class HatanakaCompressFilter implements DataFilter { }, - /** Rinex 3 format. */ - RINEX_3 { + /** Compact RINEX 3 format (for RINEX 3.x). */ + COMPACT_RINEX_3 { /** Label for number of observation types. */ private static final String SYS_NB_OBS_TYPES = "SYS / # / OBS TYPES"; @@ -520,7 +449,7 @@ public class HatanakaCompressFilter implements DataFilter { null : new NumericDifferential(CLOCK_LENGTH, CLOCK_DECIMAL_PLACES, - HatanakaInputStream.parseInt(clockLine, 0, 1)); + parseInt(clockLine, 0, 1)); } // parse epoch @@ -537,7 +466,7 @@ public class HatanakaCompressFilter implements DataFilter { clockPart = null; } else { final int skip = reset ? 2 : 0; - clockPart = his.clockDifferential.accept(HatanakaInputStream.parseLong(clockLine, skip, clockLine.length() - skip)); + clockPart = his.clockDifferential.accept(parseLong(clockLine, skip, clockLine.length() - skip)); } his.lineInEpoch = 1; @@ -551,7 +480,7 @@ public class HatanakaCompressFilter implements DataFilter { /** {@inheritDoc} */ public String parseHeaderLine(final HatanakaInputStream his, final String line) { if (isHeaderLine(SYS_NB_OBS_TYPES, line)) { - his.maxObs = FastMath.max(his.maxObs, HatanakaInputStream.parseInt(line, 1, 5)); + his.maxObs = FastMath.max(his.maxObs, parseInt(line, 1, 5)); return line; } else { return super.parseHeaderLine(his, line); @@ -560,6 +489,15 @@ public class HatanakaCompressFilter implements DataFilter { }; + /** Index of label in data lines. */ + private static final int LABEL_START = 60; + + /** Label for compact Rinex version. */ + private static final String CRINEX_VERSION_TYPE = "CRINEX VERS / TYPE"; + + /** Label for compact Rinex program. */ + private static final String CRINEX_PROG_DATE = "CRINEX PROG / DATE"; + /** Label for number of satellites. */ private static final String NB_OF_SATELLITES = "# OF SATELLITES"; @@ -578,7 +516,7 @@ public class HatanakaCompressFilter implements DataFilter { if (isHeaderLine(NB_OF_SATELLITES, line)) { // number of satellites - his.nbSat = HatanakaInputStream.parseInt(line, 0, 6); + his.nbSat = parseInt(line, 0, 6); } else if (isHeaderLine(END_OF_HEADER, line)) { // we have reached end of header, prepare parsing of data records his.lineInEpoch = 0; @@ -600,14 +538,21 @@ public class HatanakaCompressFilter implements DataFilter { /** Get the rinex format corresponding to this compact rinex format. * @param name file name * @param line1 first compact rinex line + * @param line2 second compact rinex line * @return rinex format associated with this compact rinex format */ - public static RinexFormat getFormat(final String name, final String line1) { - final int cVersion100 = (int) FastMath.rint(100 * HatanakaInputStream.parseDouble(line1, 0, 9)); + public static CompactRinexFormat getFormat(final String name, final String line1, final String line2) { + final int cVersion100 = (int) FastMath.rint(100 * parseDouble(line1, 0, 9)); if ((cVersion100 != 100) && (cVersion100 != 300)) { throw new OrekitException(OrekitMessages.UNSUPPORTED_FILE_FORMAT, name); } - return cVersion100 < 300 ? RINEX_2 : RINEX_3; + if (!CRINEX_VERSION_TYPE.equals(parseString(line1, LABEL_START, CRINEX_VERSION_TYPE.length()))) { + throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); + } + if (!CRINEX_PROG_DATE.equals(parseString(line2, LABEL_START, CRINEX_PROG_DATE.length()))) { + throw new OrekitException(OrekitMessages.NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE, name); + } + return cVersion100 < 300 ? COMPACT_RINEX_1 : COMPACT_RINEX_3; } /** Check if a line corresponds to a header. @@ -616,9 +561,63 @@ public class HatanakaCompressFilter implements DataFilter { * @return true if line corresponds to header */ private static boolean isHeaderLine(final String label, final String line) { - return label.equals(HatanakaInputStream.parseString(line, - HatanakaInputStream.LABEL_START, - label.length())); + return label.equals(parseString(line, LABEL_START, label.length())); + } + + /** Extract a string from a line. + * @param line to parse + * @param start start index of the string + * @param length length of the string + * @return parsed string + */ + private static String parseString(final String line, final int start, final int length) { + if (line.length() > start) { + return line.substring(start, FastMath.min(line.length(), start + length)).trim(); + } else { + return null; + } + } + + /** Extract an integer from a line. + * @param line to parse + * @param start start index of the integer + * @param length length of the integer + * @return parsed integer + */ + private static int parseInt(final String line, final int start, final int length) { + if (line.length() > start && !parseString(line, start, length).isEmpty()) { + return Integer.parseInt(parseString(line, start, length)); + } else { + return 0; + } + } + + /** Extract a long integer from a line. + * @param line to parse + * @param start start index of the integer + * @param length length of the integer + * @return parsed long integer + */ + private static long parseLong(final String line, final int start, final int length) { + if (line.length() > start && !parseString(line, start, length).isEmpty()) { + return Long.parseLong(parseString(line, start, length)); + } else { + return 0l; + } + } + + /** Extract a double from a line. + * @param line to parse + * @param start start index of the real + * @param length length of the real + * @return parsed real, or {@code Double.NaN} if field was empty + */ + private static double parseDouble(final String line, final int start, final int length) { + if (line.length() > start && !parseString(line, start, length).isEmpty()) { + return Double.parseDouble(parseString(line, start, length)); + } else { + return Double.NaN; + } } } -- GitLab From 99724601031aa8d692409e7f35937edb81c3912e Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 10 Jul 2019 17:13:58 +0200 Subject: [PATCH 029/199] Avoid null pointer exceptions in files trundated at various places. --- .../java/org/orekit/gnss/RinexLoader.java | 406 +++++++++--------- src/test/resources/rinex/aiub0000.00o | 4 - 2 files changed, 207 insertions(+), 203 deletions(-) diff --git a/src/main/java/org/orekit/gnss/RinexLoader.java b/src/main/java/org/orekit/gnss/RinexLoader.java index 4a14d3e6c..ccbc95542 100644 --- a/src/main/java/org/orekit/gnss/RinexLoader.java +++ b/src/main/java/org/orekit/gnss/RinexLoader.java @@ -153,6 +153,15 @@ public class RinexLoader { /** File type accepted (only Observation Data). */ private static final String FILE_TYPE = "O"; //Only Observation Data files + /** Name of the file. */ + private String name; + + /** Current line. */ + private String line; + + /** current line number. */ + private int lineNumber; + /** {@inheritDoc} */ @Override public boolean stillAcceptsData() { @@ -162,16 +171,19 @@ public class RinexLoader { /** {@inheritDoc} */ @Override - public void loadData(final InputStream input, final String name) + public void loadData(final InputStream input, final String fileName) throws IOException, OrekitException { try (BufferedReader reader = new BufferedReader(new InputStreamReader(input, "UTF-8"))) { + this.name = fileName; + this.line = null; + this.lineNumber = 0; + // placeholders for parsed data SatelliteSystem satelliteSystem = null; double formatVersion = Double.NaN; boolean inRinexVersion = false; - int lineNumber = 0; SatelliteSystem obsTypesSystem = null; String markerName = null; String markerNumber = null; @@ -229,9 +241,8 @@ public class RinexLoader { final Map> listTypeObs = new HashMap<>(); //First line must always contain Rinex Version, File Type and Satellite Systems Observed - String line = reader.readLine(); - lineNumber++; - formatVersion = parseDouble(line, 0, 9); + readLine(reader, true); + formatVersion = parseDouble(0, 9); int format100 = (int) FastMath.rint(100 * formatVersion); if ((format100 != 200) && (format100 != 210) && (format100 != 211) && @@ -241,10 +252,10 @@ public class RinexLoader { } //File Type must be Observation_Data - if (!(parseString(line, 20, 1)).equals(FILE_TYPE)) { + if (!(parseString(20, 1)).equals(FILE_TYPE)) { throw new OrekitException(OrekitMessages.UNSUPPORTED_FILE_FORMAT, name); } - satelliteSystem = SatelliteSystem.parseSatelliteSystem(parseString(line, 40, 1)); + satelliteSystem = SatelliteSystem.parseSatelliteSystem(parseString(40, 1)); inRinexVersion = true; switch (format100 / 100) { @@ -256,19 +267,18 @@ public class RinexLoader { final int MAX_OBS_TYPES_SCALE_FACTOR = 8; final List typesObs = new ArrayList<>(); - for (line = reader.readLine(); line != null; line = reader.readLine()) { - ++lineNumber; + while (readLine(reader, false)) { if (rinexHeader == null) { switch(line.substring(LABEL_START).trim()) { case RINEX_VERSION_TYPE : - formatVersion = parseDouble(line, 0, 9); + formatVersion = parseDouble(0, 9); //File Type must be Observation_Data - if (!(parseString(line, 20, 1)).equals(FILE_TYPE)) { + if (!(parseString(20, 1)).equals(FILE_TYPE)) { throw new OrekitException(OrekitMessages.UNSUPPORTED_FILE_FORMAT, name); } - satelliteSystem = SatelliteSystem.parseSatelliteSystem(parseString(line, 40, 1)); + satelliteSystem = SatelliteSystem.parseSatelliteSystem(parseString(40, 1)); inRinexVersion = true; break; case COMMENT : @@ -278,68 +288,68 @@ public class RinexLoader { inRunBy = true; break; case MARKER_NAME : - markerName = parseString(line, 0, 60); + markerName = parseString(0, 60); inMarkerName = true; break; case MARKER_NUMBER : - markerNumber = parseString(line, 0, 20); + markerNumber = parseString(0, 20); break; case MARKER_TYPE : - markerType = parseString(line, 0, 20); + markerType = parseString(0, 20); break; case OBSERVER_AGENCY : - observerName = parseString(line, 0, 20); - agencyName = parseString(line, 20, 40); + observerName = parseString(0, 20); + agencyName = parseString(20, 40); inObserver = true; break; case REC_NB_TYPE_VERS : - receiverNumber = parseString(line, 0, 20); - receiverType = parseString(line, 20, 20); - receiverVersion = parseString(line, 40, 20); + receiverNumber = parseString(0, 20); + receiverType = parseString(20, 20); + receiverVersion = parseString(40, 20); inRecType = true; break; case ANT_NB_TYPE : - antennaNumber = parseString(line, 0, 20); - antennaType = parseString(line, 20, 20); + antennaNumber = parseString(0, 20); + antennaType = parseString(20, 20); inAntType = true; break; case APPROX_POSITION_XYZ : - approxPos = new Vector3D(parseDouble(line, 0, 14), parseDouble(line, 14, 14), - parseDouble(line, 28, 14)); + approxPos = new Vector3D(parseDouble(0, 14), parseDouble(14, 14), + parseDouble(28, 14)); inAproxPos = true; break; case ANTENNA_DELTA_H_E_N : - antHeight = parseDouble(line, 0, 14); - eccentricities = new Vector2D(parseDouble(line, 14, 14), parseDouble(line, 28, 14)); + antHeight = parseDouble(0, 14); + eccentricities = new Vector2D(parseDouble(14, 14), parseDouble(28, 14)); inAntDelta = true; break; case ANTENNA_DELTA_X_Y_Z : - antRefPoint = new Vector3D(parseDouble(line, 0, 14), - parseDouble(line, 14, 14), - parseDouble(line, 28, 14)); + antRefPoint = new Vector3D(parseDouble(0, 14), + parseDouble(14, 14), + parseDouble(28, 14)); break; case ANTENNA_B_SIGHT_XYZ : - antBSight = new Vector3D(parseDouble(line, 0, 14), - parseDouble(line, 14, 14), - parseDouble(line, 28, 14)); + antBSight = new Vector3D(parseDouble(0, 14), + parseDouble(14, 14), + parseDouble(28, 14)); break; case CENTER_OF_MASS_XYZ : - centerMass = new Vector3D(parseDouble(line, 0, 14), - parseDouble(line, 14, 14), - parseDouble(line, 28, 14)); + centerMass = new Vector3D(parseDouble(0, 14), + parseDouble(14, 14), + parseDouble(28, 14)); break; case NB_OF_SATELLITES : - nbSat = parseInt(line, 0, 6); + nbSat = parseInt(0, 6); break; case WAVELENGTH_FACT_L1_2 : //Optional line in header //Not stored for now break; case RCV_CLOCK_OFFS_APPL : - clkOffset = parseInt(line, 0, 6); + clkOffset = parseInt(0, 6); break; case INTERVAL : - interval = parseDouble(line, 0, 10); + interval = parseDouble(0, 10); break; case TIME_OF_FIRST_OBS : switch (satelliteSystem) { @@ -354,7 +364,7 @@ public class RinexLoader { break; case MIXED: //in Case of Mixed data, Timescale must be specified in the Time of First line - timeScaleStr = parseString(line, 48, 3); + timeScaleStr = parseString(48, 3); if (timeScaleStr.equals(GPS)) { timeScale = TimeScalesFactory.getGPS(); @@ -371,60 +381,59 @@ public class RinexLoader { lineNumber, name, line); } - tFirstObs = new AbsoluteDate(parseInt(line, 0, 6), - parseInt(line, 6, 6), - parseInt(line, 12, 6), - parseInt(line, 18, 6), - parseInt(line, 24, 6), - parseDouble(line, 30, 13), timeScale); + tFirstObs = new AbsoluteDate(parseInt(0, 6), + parseInt(6, 6), + parseInt(12, 6), + parseInt(18, 6), + parseInt(24, 6), + parseDouble(30, 13), timeScale); inFirstObs = true; break; case TIME_OF_LAST_OBS : - tLastObs = new AbsoluteDate(parseInt(line, 0, 6), - parseInt(line, 6, 6), - parseInt(line, 12, 6), - parseInt(line, 18, 6), - parseInt(line, 24, 6), - parseDouble(line, 30, 13), timeScale); + tLastObs = new AbsoluteDate(parseInt(0, 6), + parseInt(6, 6), + parseInt(12, 6), + parseInt(18, 6), + parseInt(24, 6), + parseDouble(30, 13), timeScale); break; case LEAP_SECONDS : - leapSeconds = parseInt(line, 0, 6); + leapSeconds = parseInt(0, 6); break; case PRN_NB_OF_OBS : //Optional line in header, indicates number of Observations par Satellite //Not stored for now break; case NB_TYPES_OF_OBSERV : - nbTypes = parseInt(line, 0, 6); + nbTypes = parseInt(0, 6); final int nbLinesTypesObs = (nbTypes + MAX_OBS_TYPES_PER_LINE_RNX2 - 1 ) / MAX_OBS_TYPES_PER_LINE_RNX2; for (int j = 0; j < nbLinesTypesObs; j++) { if (j > 0) { - line = reader.readLine(); //Next line - lineNumber++; + readLine(reader, true); } final int iMax = FastMath.min(MAX_OBS_TYPES_PER_LINE_RNX2, nbTypes - typesObs.size()); for (int i = 0; i < iMax; i++) { try { - typesObs.add(ObservationType.valueOf(parseString(line, 10 + (6 * i), 2))); + typesObs.add(ObservationType.valueOf(parseString(10 + (6 * i), 2))); } catch (IllegalArgumentException iae) { throw new OrekitException(OrekitMessages.UNKNOWN_RINEX_FREQUENCY, - parseString(line, 10 + (6 * i), 2), name, lineNumber); + parseString(10 + (6 * i), 2), name, lineNumber); } } } inTypesObs = true; break; case OBS_SCALE_FACTOR : - scaleFactor = FastMath.max(1, parseInt(line, 0, 6)); - nbObsScaleFactor = parseInt(line, 6, 6); + scaleFactor = FastMath.max(1, parseInt(0, 6)); + nbObsScaleFactor = parseInt(6, 6); if (nbObsScaleFactor > MAX_OBS_TYPES_SCALE_FACTOR) { throw new OrekitException(OrekitMessages.UNABLE_TO_PARSE_LINE_IN_FILE, lineNumber, name, line); } final List typesObsScaleFactor = new ArrayList<>(nbObsScaleFactor); for (int i = 0; i < nbObsScaleFactor; i++) { - typesObsScaleFactor.add(ObservationType.valueOf(parseString(line, 16 + (6 * i), 2))); + typesObsScaleFactor.add(ObservationType.valueOf(parseString(16 + (6 * i), 2))); } scaleFactorCorrections.add(new ScaleFactorCorrection(satelliteSystem, scaleFactor, typesObsScaleFactor)); @@ -466,41 +475,39 @@ public class RinexLoader { tObs = null; strYear = null; - eventFlag = parseInt(line, 28, 1); + eventFlag = parseInt(28, 1); //If eventFlag>1, we skip the corresponding lines to the next observation if (eventFlag != 0) { if (eventFlag == 6) { - nbSatObs = parseInt(line, 29, 3); + nbSatObs = parseInt(29, 3); nbLinesSat = (nbSatObs + 12 - 1) / 12; final int nbLinesObs = (nbTypes + 5 - 1) / 5; final int nbLinesSkip = (nbLinesSat - 1) + nbSatObs * nbLinesObs; for (int i = 0; i < nbLinesSkip; i++) { - line = reader.readLine(); //Next line - lineNumber++; + readLine(reader, true); } } else { - final int nbLinesSkip = parseInt(line, 29, 3); + final int nbLinesSkip = parseInt(29, 3); for (int i = 0; i < nbLinesSkip; i++) { - line = reader.readLine(); //Next line - lineNumber++; + readLine(reader, true); } } } else { - final int y = Integer.parseInt(parseString(line, 0, 3)); + final int y = Integer.parseInt(parseString(0, 3)); if (79 < y && y <= 99) { strYear = "19" + y; } else if (0 <= y && y <= 79) { - strYear = "20" + parseString(line, 0, 3); + strYear = "20" + parseString(0, 3); } tObs = new AbsoluteDate(Integer.parseInt(strYear), - parseInt(line, 3, 3), - parseInt(line, 6, 3), - parseInt(line, 9, 3), - parseInt(line, 12, 3), - parseDouble(line, 15, 11), timeScale); + parseInt(3, 3), + parseInt(6, 3), + parseInt(9, 3), + parseInt(12, 3), + parseDouble(15, 11), timeScale); - nbSatObs = parseInt(line, 29, 3); + nbSatObs = parseInt(29, 3); satsObsList = new String[nbSatObs]; //If the total number of satellites was indicated in the Header if (nbSat != -1 && nbSatObs > nbSat) { @@ -512,16 +519,15 @@ public class RinexLoader { nbLinesSat = (nbSatObs + MAX_N_SAT_OBSERVATION - 1) / MAX_N_SAT_OBSERVATION; for (int j = 0; j < nbLinesSat; j++) { if (j > 0) { - line = reader.readLine(); //Next line - lineNumber++; + readLine(reader, true); } final int iMax = FastMath.min(MAX_N_SAT_OBSERVATION, nbSatObs - j * MAX_N_SAT_OBSERVATION); for (int i = 0; i < iMax; i++) { - satsObsList[i + MAX_N_SAT_OBSERVATION * j] = p