diff --git a/.vscode/cmake-variants.yaml b/.vscode/cmake-variants.yaml index a2f1221f5159..44ea132999c1 100644 --- a/.vscode/cmake-variants.yaml +++ b/.vscode/cmake-variants.yaml @@ -151,16 +151,16 @@ CONFIG: buildType: MinSizeRel settings: CONFIG: ark_can-rtk-gps_canbootloader - ark_septentrio_gps_default: - short: ark_septentrio_gps_default + ark_septentrio-gps_default: + short: ark_septentrio-gps_default buildType: MinSizeRel settings: - CONFIG: ark_septentrio_gps_default - ark_septentrio_gps_canbootloader: - short: ark_septentrio_gps_canbootloader + CONFIG: ark_septentrio-gps_default + ark_septentrio-gps_canbootloader: + short: ark_septentrio-gps_canbootloader buildType: MinSizeRel settings: - CONFIG: ark_septentrio_gps_canbootloader + CONFIG: ark_septentrio-gps_canbootloader ark_cannode_default: short: ark_cannode_default buildType: MinSizeRel diff --git a/Makefile b/Makefile index 56c373663ffc..2d4116d73b0a 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ ############################################################################ # -# Copyright (c) 2015 - 2020 PX4 Development Team. All rights reserved. +# Copyright (c) 2015 - 2024 PX4 Development Team. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -323,7 +323,32 @@ px4io_update: cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeyellow/extras/cubepilot_io-v2_default.bin git status -bootloaders_update: ark_fmu-v6x_bootloader cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader holybro_kakuteh7_bootloader matek_h743_bootloader matek_h743-mini_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-classic_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6c_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader +bootloaders_update: \ + ark_fmu-v6x_bootloader \ + ark_pi6x_bootloader \ + cuav_nora_bootloader \ + cuav_x7pro_bootloader \ + cubepilot_cubeorange_bootloader \ + cubepilot_cubeorangeplus_bootloader \ + hkust_nxt-dual_bootloader \ + hkust_nxt-v1_bootloader \ + holybro_durandal-v1_bootloader \ + holybro_kakuteh7_bootloader \ + holybro_kakuteh7mini_bootloader \ + holybro_kakuteh7v2_bootloader \ + matek_h743_bootloader \ + matek_h743-mini_bootloader \ + matek_h743-slim_bootloader \ + modalai_fc-v2_bootloader \ + mro_ctrl-zero-classic_bootloader \ + mro_ctrl-zero-h7_bootloader \ + mro_ctrl-zero-h7-oem_bootloader \ + mro_pixracerpro_bootloader \ + px4_fmu-v6c_bootloader \ + px4_fmu-v6u_bootloader \ + px4_fmu-v6x_bootloader \ + px4_fmu-v6xrt_bootloader \ + siyi_n7_bootloader git status .PHONY: coverity_scan diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/4001_gz_x500 b/ROMFS/px4fmu_common/init.d-posix/airframes/4001_gz_x500 index bb6bedd386d1..bca3feddfb8b 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/4001_gz_x500 +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/4001_gz_x500 @@ -52,3 +52,4 @@ param set-default SIM_GZ_EC_MAX3 1000 param set-default SIM_GZ_EC_MAX4 1000 param set-default MPC_THR_HOVER 0.60 +param set-default NAV_DLL_ACT 2 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/4004_gz_standard_vtol b/ROMFS/px4fmu_common/init.d-posix/airframes/4004_gz_standard_vtol index 3390ee525cc4..dcd7c81d62ab 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/4004_gz_standard_vtol +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/4004_gz_standard_vtol @@ -101,6 +101,7 @@ param set-default MPC_XY_VEL_I_ACC 4 param set-default MPC_XY_VEL_D_ACC 0.1 param set-default NAV_ACC_RAD 5 +param set-default NAV_DLL_ACT 2 param set-default VT_FWD_THRUST_EN 4 param set-default VT_F_TRANS_THR 0.75 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/4006_gz_px4vision b/ROMFS/px4fmu_common/init.d-posix/airframes/4006_gz_px4vision index 92560eb160df..acfcef896069 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/4006_gz_px4vision +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/4006_gz_px4vision @@ -132,3 +132,5 @@ param set-default SIM_GZ_EC_MAX1 1100 param set-default SIM_GZ_EC_MAX2 1100 param set-default SIM_GZ_EC_MAX3 1100 param set-default SIM_GZ_EC_MAX4 1100 + +param set-default NAV_DLL_ACT 2 diff --git a/ROMFS/px4fmu_common/init.d/CMakeLists.txt b/ROMFS/px4fmu_common/init.d/CMakeLists.txt index 34b255e2555f..90b14f812f02 100644 --- a/ROMFS/px4fmu_common/init.d/CMakeLists.txt +++ b/ROMFS/px4fmu_common/init.d/CMakeLists.txt @@ -84,6 +84,13 @@ if(CONFIG_MODULES_DIFFERENTIAL_DRIVE) ) endif() +if(CONFIG_MODULES_ROVER_ACKERMANN) + px4_add_romfs_files( + rc.rover_ackermann_apps + rc.rover_ackermann_defaults + ) +endif() + if(CONFIG_MODULES_UUV_ATT_CONTROL) px4_add_romfs_files( rc.uuv_apps diff --git a/ROMFS/px4fmu_common/init.d/airframes/50010_ackermann_rover_generic b/ROMFS/px4fmu_common/init.d/airframes/50010_ackermann_rover_generic new file mode 100644 index 000000000000..66b3dc0cabba --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/airframes/50010_ackermann_rover_generic @@ -0,0 +1,12 @@ +#!/bin/sh +# +# @name Generic ackermann rover +# +# @type Rover +# @class Rover +# +# @board px4_fmu-v2 exclude +# @board bitcraze_crazyflie exclude +# + +. ${R}etc/init.d/rc.rover_ackermann_defaults diff --git a/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt b/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt index 89498206c3e9..f763a4376606 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt +++ b/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt @@ -149,6 +149,12 @@ if(CONFIG_MODULES_DIFFERENTIAL_DRIVE) ) endif() +if(CONFIG_MODULES_ROVER_ACKERMANN) + px4_add_romfs_files( + 50010_ackermann_rover_generic + ) +endif() + if(CONFIG_MODULES_UUV_ATT_CONTROL) px4_add_romfs_files( # [60000, 61000] (Unmanned) Underwater Robots diff --git a/ROMFS/px4fmu_common/init.d/rc.rover_ackermann_apps b/ROMFS/px4fmu_common/init.d/rc.rover_ackermann_apps new file mode 100644 index 000000000000..0c77ab9aa6d0 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/rc.rover_ackermann_apps @@ -0,0 +1,11 @@ +#!/bin/sh +# Standard apps for a ackermann drive rover. + +# Start the attitude and position estimator. +ekf2 start & + +# Start rover ackermann drive controller. +rover_ackermann start + +# Start Land Detector. +land_detector start rover diff --git a/ROMFS/px4fmu_common/init.d/rc.rover_ackermann_defaults b/ROMFS/px4fmu_common/init.d/rc.rover_ackermann_defaults new file mode 100644 index 000000000000..27cf144a329a --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/rc.rover_ackermann_defaults @@ -0,0 +1,13 @@ +#!/bin/sh +# Ackermann rover parameters. + +set VEHICLE_TYPE rover_ackermann +param set-default MAV_TYPE 10 # MAV_TYPE_GROUND_ROVER +param set-default CA_AIRFRAME 5 # Rover (Ackermann) +param set-default CA_R_REV 1 # Motor is assumed to be reversible +param set-default EKF2_MAG_TYPE 1 # make sure magnetometer is fused even when not flying +param set-default EKF2_GBIAS_INIT 0.01 +param set-default EKF2_ANGERR_INIT 0.01 +param set-default NAV_ACC_RAD 0.5 # Waypoint acceptance radius +param set-default NAV_RCL_ACT 6 # Disarm on manual control loss +param set-default COM_FAIL_ACT_T 1 # Delay before failsafe after rc loss diff --git a/ROMFS/px4fmu_common/init.d/rc.vehicle_setup b/ROMFS/px4fmu_common/init.d/rc.vehicle_setup index 42b9c7e876d7..ef455c2ff759 100644 --- a/ROMFS/px4fmu_common/init.d/rc.vehicle_setup +++ b/ROMFS/px4fmu_common/init.d/rc.vehicle_setup @@ -41,6 +41,15 @@ then . ${R}etc/init.d/rc.rover_differential_apps fi +# +# Ackermann Rover setup. +# +if [ $VEHICLE_TYPE = rover_ackermann ] +then + # Start ackermann drive rover apps. + . ${R}etc/init.d/rc.rover_ackermann_apps +fi + # # VTOL setup. # diff --git a/Tools/setup/arch.sh b/Tools/setup/arch.sh index 8e19ee51015d..1ab164b2aaf4 100755 --- a/Tools/setup/arch.sh +++ b/Tools/setup/arch.sh @@ -95,7 +95,7 @@ if [[ $INSTALL_SIM == "true" ]]; then # java (jmavsim) sudo pacman -S --noconfirm --needed \ - ant + ant \ ; # Gazebo setup diff --git a/Tools/setup/requirements.txt b/Tools/setup/requirements.txt index 2db827d34e3b..b130bd55a0f9 100644 --- a/Tools/setup/requirements.txt +++ b/Tools/setup/requirements.txt @@ -1,5 +1,4 @@ argcomplete -argparse>=1.2 cerberus coverage empy==3.3.4 diff --git a/Tools/setup/ubuntu.sh b/Tools/setup/ubuntu.sh index f509ced4eb1a..077cfda56bf1 100755 --- a/Tools/setup/ubuntu.sh +++ b/Tools/setup/ubuntu.sh @@ -66,6 +66,8 @@ elif [[ "${UBUNTU_RELEASE}" == "20.04" ]]; then echo "Ubuntu 20.04" elif [[ "${UBUNTU_RELEASE}" == "22.04" ]]; then echo "Ubuntu 22.04" +elif [[ "${UBUNTU_RELEASE}" == "21.3" ]]; then + echo "Linux Mint 21.3" fi @@ -146,7 +148,7 @@ if [[ $INSTALL_NUTTX == "true" ]]; then util-linux \ vim-common \ ; - if [[ "${UBUNTU_RELEASE}" == "20.04" || "${UBUNTU_RELEASE}" == "22.04" ]]; then + if [[ "${UBUNTU_RELEASE}" == "20.04" || "${UBUNTU_RELEASE}" == "22.04" || "${UBUNTU_RELEASE}" == "21.3" ]]; then sudo DEBIAN_FRONTEND=noninteractive apt-get -y --quiet --no-install-recommends install \ kconfig-frontends \ ; @@ -205,6 +207,8 @@ if [[ $INSTALL_SIM == "true" ]]; then java_version=13 elif [[ "${UBUNTU_RELEASE}" == "22.04" ]]; then java_version=11 + elif [[ "${UBUNTU_RELEASE}" == "21.3" ]]; then + java_version=11 else java_version=14 fi @@ -228,6 +232,17 @@ if [[ $INSTALL_SIM == "true" ]]; then echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null sudo apt-get update -y --quiet + # Install Gazebo + gazebo_packages="gz-garden" + elif [[ "${UBUNTU_RELEASE}" == "21.3" ]]; then + echo "Gazebo (Garden) will be installed" + echo "Earlier versions will be removed" + # Add Gazebo binary repository + sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable jammy main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null + + sudo apt-get update -y --quiet + # Install Gazebo gazebo_packages="gz-garden" else diff --git a/boards/ark/fmu-v6x/extras/ark_fmu-v6x_bootloader.bin b/boards/ark/fmu-v6x/extras/ark_fmu-v6x_bootloader.bin index 62ef9238b106..ea510ab36e38 100755 Binary files a/boards/ark/fmu-v6x/extras/ark_fmu-v6x_bootloader.bin and b/boards/ark/fmu-v6x/extras/ark_fmu-v6x_bootloader.bin differ diff --git a/boards/ark/fmu-v6x/nuttx-config/nsh/defconfig b/boards/ark/fmu-v6x/nuttx-config/nsh/defconfig index 17da75424e9f..f5e59d2c3781 100644 --- a/boards/ark/fmu-v6x/nuttx-config/nsh/defconfig +++ b/boards/ark/fmu-v6x/nuttx-config/nsh/defconfig @@ -147,8 +147,8 @@ CONFIG_NETDB_DNSSERVER_NOADDR=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_MONITOR=y CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 diff --git a/boards/ark/pi6x/extras/ark_pi6x_bootloader.bin b/boards/ark/pi6x/extras/ark_pi6x_bootloader.bin index ef4d19d36c9b..fce9348a7408 100755 Binary files a/boards/ark/pi6x/extras/ark_pi6x_bootloader.bin and b/boards/ark/pi6x/extras/ark_pi6x_bootloader.bin differ diff --git a/boards/ark/pi6x/init/rc.board_defaults b/boards/ark/pi6x/init/rc.board_defaults index 50c60d5f837a..717632839be8 100644 --- a/boards/ark/pi6x/init/rc.board_defaults +++ b/boards/ark/pi6x/init/rc.board_defaults @@ -32,19 +32,10 @@ then param set-default SENS_TEMP_ID 2490378 fi -param set-default EKF2_BARO_DELAY 39 -param set-default EKF2_BARO_NOISE 0.9 -param set-default EKF2_HGT_REF 0 -param set-default EKF2_MAG_DELAY 60 -param set-default EKF2_MAG_NOISE 0.06 param set-default EKF2_MULTI_IMU 2 param set-default EKF2_OF_CTRL 1 -param set-default EKF2_OF_DELAY 28 param set-default EKF2_OF_N_MIN 0.05 param set-default EKF2_RNG_A_HMAX 25 -param set-default EKF2_RNG_DELAY 105 -param set-default EKF2_RNG_NOISE 0.03 param set-default EKF2_RNG_QLTY_T 0.1 -param set-default EKF2_RNG_SFE 0.03 param set-default SENS_FLOW_RATE 150 diff --git a/boards/ark/septentrio-gps/src/board_config.h b/boards/ark/septentrio-gps/src/board_config.h index 2263956bae0f..2d5f582075f1 100644 --- a/boards/ark/septentrio-gps/src/board_config.h +++ b/boards/ark/septentrio-gps/src/board_config.h @@ -47,7 +47,7 @@ #define GPIO_BTN_SAFETY /* PB15 */ (GPIO_INPUT|GPIO_PULLDOWN|GPIO_PORTB|GPIO_PIN15) /* Safety LED */ -#define GPIO_LED_SAFETY /* PA1 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN1) +#define GPIO_LED_SAFETY /* PA1 */ (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN1) /* Tone alarm output. */ #define TONE_ALARM_TIMER 2 /* timer 2 */ diff --git a/boards/av/x-v1/nuttx-config/nsh/defconfig b/boards/av/x-v1/nuttx-config/nsh/defconfig index d5e403904764..1a2237008684 100644 --- a/boards/av/x-v1/nuttx-config/nsh/defconfig +++ b/boards/av/x-v1/nuttx-config/nsh/defconfig @@ -139,8 +139,8 @@ CONFIG_NETDB_DNSSERVER_NOADDR=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 CONFIG_NETUTILS_TELNETD=y diff --git a/boards/cuav/nora/extras/cuav_nora_bootloader.bin b/boards/cuav/nora/extras/cuav_nora_bootloader.bin index dbfe7cc7b3e8..789124a74935 100755 Binary files a/boards/cuav/nora/extras/cuav_nora_bootloader.bin and b/boards/cuav/nora/extras/cuav_nora_bootloader.bin differ diff --git a/boards/cuav/x7pro/extras/cuav_x7pro_bootloader.bin b/boards/cuav/x7pro/extras/cuav_x7pro_bootloader.bin index fd3b3369f403..1093b162f810 100755 Binary files a/boards/cuav/x7pro/extras/cuav_x7pro_bootloader.bin and b/boards/cuav/x7pro/extras/cuav_x7pro_bootloader.bin differ diff --git a/boards/cubepilot/cubeorange/extras/cubepilot_cubeorange_bootloader.bin b/boards/cubepilot/cubeorange/extras/cubepilot_cubeorange_bootloader.bin index 8a41060950c1..a2b7b74c1cc1 100755 Binary files a/boards/cubepilot/cubeorange/extras/cubepilot_cubeorange_bootloader.bin and b/boards/cubepilot/cubeorange/extras/cubepilot_cubeorange_bootloader.bin differ diff --git a/boards/cubepilot/cubeorangeplus/extras/cubepilot_cubeorangeplus_bootloader.bin b/boards/cubepilot/cubeorangeplus/extras/cubepilot_cubeorangeplus_bootloader.bin index fef54cd6d8a7..7715cf2d8433 100755 Binary files a/boards/cubepilot/cubeorangeplus/extras/cubepilot_cubeorangeplus_bootloader.bin and b/boards/cubepilot/cubeorangeplus/extras/cubepilot_cubeorangeplus_bootloader.bin differ diff --git a/boards/hkust/nxt-dual/extras/hkust_nxt-dual_bootloader.bin b/boards/hkust/nxt-dual/extras/hkust_nxt-dual_bootloader.bin index a9eb4be10db0..fc7f6a73fc44 100755 Binary files a/boards/hkust/nxt-dual/extras/hkust_nxt-dual_bootloader.bin and b/boards/hkust/nxt-dual/extras/hkust_nxt-dual_bootloader.bin differ diff --git a/boards/hkust/nxt-v1/extras/hkust_nxt-v1_bootloader.bin b/boards/hkust/nxt-v1/extras/hkust_nxt-v1_bootloader.bin index 1456ce1ab847..a940993d6c77 100755 Binary files a/boards/hkust/nxt-v1/extras/hkust_nxt-v1_bootloader.bin and b/boards/hkust/nxt-v1/extras/hkust_nxt-v1_bootloader.bin differ diff --git a/boards/holybro/durandal-v1/extras/holybro_durandal-v1_bootloader.bin b/boards/holybro/durandal-v1/extras/holybro_durandal-v1_bootloader.bin index 419f629fa409..c24d00a61bf4 100755 Binary files a/boards/holybro/durandal-v1/extras/holybro_durandal-v1_bootloader.bin and b/boards/holybro/durandal-v1/extras/holybro_durandal-v1_bootloader.bin differ diff --git a/boards/holybro/kakutef7/init/rc.board_defaults b/boards/holybro/kakutef7/init/rc.board_defaults index 7a3bc92e844a..2ad7443124e6 100644 --- a/boards/holybro/kakutef7/init/rc.board_defaults +++ b/boards/holybro/kakutef7/init/rc.board_defaults @@ -15,7 +15,7 @@ param set-default SYS_AUTOSTART 4050 param set-default SYS_HAS_MAG 0 # enable gravity fusion -param set-default EKF2_IMU_CONTROL 7 +param set-default EKF2_IMU_CTRL 7 # the startup tune is not great on a binary output buzzer, so disable it param set-default CBRK_BUZZER 782090 diff --git a/boards/holybro/kakuteh7/extras/holybro_kakuteh7_bootloader.bin b/boards/holybro/kakuteh7/extras/holybro_kakuteh7_bootloader.bin index 9d9fb43bf69e..7f5d2b31afa5 100755 Binary files a/boards/holybro/kakuteh7/extras/holybro_kakuteh7_bootloader.bin and b/boards/holybro/kakuteh7/extras/holybro_kakuteh7_bootloader.bin differ diff --git a/boards/holybro/kakuteh7/init/rc.board_defaults b/boards/holybro/kakuteh7/init/rc.board_defaults index 47dea71be617..4ca8626ebe61 100644 --- a/boards/holybro/kakuteh7/init/rc.board_defaults +++ b/boards/holybro/kakuteh7/init/rc.board_defaults @@ -25,7 +25,7 @@ param set-default SYS_AUTOSTART 4050 # use EKF2 without mag param set-default SYS_HAS_MAG 0 # and enable gravity fusion -param set-default EKF2_IMU_CONTROL 7 +param set-default EKF2_IMU_CTRL 7 # the startup tune is not great on a binary output buzzer, so disable it param set-default CBRK_BUZZER 782090 diff --git a/boards/holybro/kakuteh7mini/extras/holybro_kakuteh7mini_bootloader.bin b/boards/holybro/kakuteh7mini/extras/holybro_kakuteh7mini_bootloader.bin index fca97ea49d7c..81108119f3eb 100755 Binary files a/boards/holybro/kakuteh7mini/extras/holybro_kakuteh7mini_bootloader.bin and b/boards/holybro/kakuteh7mini/extras/holybro_kakuteh7mini_bootloader.bin differ diff --git a/boards/holybro/kakuteh7mini/init/rc.board_defaults b/boards/holybro/kakuteh7mini/init/rc.board_defaults index 4503905262e8..a0ccc7e101e5 100644 --- a/boards/holybro/kakuteh7mini/init/rc.board_defaults +++ b/boards/holybro/kakuteh7mini/init/rc.board_defaults @@ -25,7 +25,7 @@ param set-default SYS_AUTOSTART 4050 # use EKF2 without mag param set-default SYS_HAS_MAG 0 # and enable gravity fusion -param set-default EKF2_IMU_CONTROL 7 +param set-default EKF2_IMU_CTRL 7 # the startup tune is not great on a binary output buzzer, so disable it param set-default CBRK_BUZZER 782090 diff --git a/boards/holybro/kakuteh7v2/extras/holybro_kakuteh7v2_bootloader.bin b/boards/holybro/kakuteh7v2/extras/holybro_kakuteh7v2_bootloader.bin index 7ed8c65c2f53..c441ef2a2317 100755 Binary files a/boards/holybro/kakuteh7v2/extras/holybro_kakuteh7v2_bootloader.bin and b/boards/holybro/kakuteh7v2/extras/holybro_kakuteh7v2_bootloader.bin differ diff --git a/boards/holybro/kakuteh7v2/init/rc.board_defaults b/boards/holybro/kakuteh7v2/init/rc.board_defaults index 4503905262e8..a0ccc7e101e5 100644 --- a/boards/holybro/kakuteh7v2/init/rc.board_defaults +++ b/boards/holybro/kakuteh7v2/init/rc.board_defaults @@ -25,7 +25,7 @@ param set-default SYS_AUTOSTART 4050 # use EKF2 without mag param set-default SYS_HAS_MAG 0 # and enable gravity fusion -param set-default EKF2_IMU_CONTROL 7 +param set-default EKF2_IMU_CTRL 7 # the startup tune is not great on a binary output buzzer, so disable it param set-default CBRK_BUZZER 782090 diff --git a/boards/matek/h743-mini/extras/matek_h743-mini_bootloader.bin b/boards/matek/h743-mini/extras/matek_h743-mini_bootloader.bin index f00008ad9959..aa47d3e32116 100755 Binary files a/boards/matek/h743-mini/extras/matek_h743-mini_bootloader.bin and b/boards/matek/h743-mini/extras/matek_h743-mini_bootloader.bin differ diff --git a/boards/matek/h743-slim/extras/matek_h743-slim_bootloader.bin b/boards/matek/h743-slim/extras/matek_h743-slim_bootloader.bin index 276cc5c99a30..954f7f612547 100755 Binary files a/boards/matek/h743-slim/extras/matek_h743-slim_bootloader.bin and b/boards/matek/h743-slim/extras/matek_h743-slim_bootloader.bin differ diff --git a/boards/matek/h743/extras/matek_h743_bootloader.bin b/boards/matek/h743/extras/matek_h743_bootloader.bin index f9e6043f8109..93591c17c925 100755 Binary files a/boards/matek/h743/extras/matek_h743_bootloader.bin and b/boards/matek/h743/extras/matek_h743_bootloader.bin differ diff --git a/boards/modalai/fc-v2/extras/modalai_fc-v2_bootloader.bin b/boards/modalai/fc-v2/extras/modalai_fc-v2_bootloader.bin index 8675496c4ad1..95b62a8d68f9 100755 Binary files a/boards/modalai/fc-v2/extras/modalai_fc-v2_bootloader.bin and b/boards/modalai/fc-v2/extras/modalai_fc-v2_bootloader.bin differ diff --git a/boards/mro/ctrl-zero-classic/extras/mro_ctrl-zero-classic_bootloader.bin b/boards/mro/ctrl-zero-classic/extras/mro_ctrl-zero-classic_bootloader.bin index 619a9added15..febba0103e72 100755 Binary files a/boards/mro/ctrl-zero-classic/extras/mro_ctrl-zero-classic_bootloader.bin and b/boards/mro/ctrl-zero-classic/extras/mro_ctrl-zero-classic_bootloader.bin differ diff --git a/boards/mro/ctrl-zero-h7-oem/extras/mro_ctrl-zero-h7-oem_bootloader.bin b/boards/mro/ctrl-zero-h7-oem/extras/mro_ctrl-zero-h7-oem_bootloader.bin index 51e7816dd033..f3e9467a4102 100755 Binary files a/boards/mro/ctrl-zero-h7-oem/extras/mro_ctrl-zero-h7-oem_bootloader.bin and b/boards/mro/ctrl-zero-h7-oem/extras/mro_ctrl-zero-h7-oem_bootloader.bin differ diff --git a/boards/mro/ctrl-zero-h7/extras/mro_ctrl-zero-h7_bootloader.bin b/boards/mro/ctrl-zero-h7/extras/mro_ctrl-zero-h7_bootloader.bin index 76df6ac2154b..6815051bb37f 100755 Binary files a/boards/mro/ctrl-zero-h7/extras/mro_ctrl-zero-h7_bootloader.bin and b/boards/mro/ctrl-zero-h7/extras/mro_ctrl-zero-h7_bootloader.bin differ diff --git a/boards/mro/pixracerpro/extras/mro_pixracerpro_bootloader.bin b/boards/mro/pixracerpro/extras/mro_pixracerpro_bootloader.bin index 6ecd984f3cba..657a25a58793 100755 Binary files a/boards/mro/pixracerpro/extras/mro_pixracerpro_bootloader.bin and b/boards/mro/pixracerpro/extras/mro_pixracerpro_bootloader.bin differ diff --git a/boards/nxp/mr-canhubk3/nuttx-config/nsh/defconfig b/boards/nxp/mr-canhubk3/nuttx-config/nsh/defconfig index 77861ee5976b..3d9767bc9220 100644 --- a/boards/nxp/mr-canhubk3/nuttx-config/nsh/defconfig +++ b/boards/nxp/mr-canhubk3/nuttx-config/nsh/defconfig @@ -158,8 +158,8 @@ CONFIG_NETDEV_LATEINIT=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_MONITOR=y CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 diff --git a/boards/nxp/mr-canhubk3/nuttx-config/sysview/defconfig b/boards/nxp/mr-canhubk3/nuttx-config/sysview/defconfig index e9d287c2cd1e..88758c3d5852 100644 --- a/boards/nxp/mr-canhubk3/nuttx-config/sysview/defconfig +++ b/boards/nxp/mr-canhubk3/nuttx-config/sysview/defconfig @@ -158,8 +158,8 @@ CONFIG_NETDEV_LATEINIT=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_MONITOR=y CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 diff --git a/boards/px4/fmu-v5/rover.px4board b/boards/px4/fmu-v5/rover.px4board index 3284f0bb7a1b..a0d173f4918d 100644 --- a/boards/px4/fmu-v5/rover.px4board +++ b/boards/px4/fmu-v5/rover.px4board @@ -19,3 +19,4 @@ CONFIG_MODULES_VTOL_ATT_CONTROL=n CONFIG_EKF2_AUX_GLOBAL_POSITION=y # CONFIG_EKF2_WIND is not set CONFIG_MODULES_DIFFERENTIAL_DRIVE=y +CONFIG_MODULES_ROVER_ACKERMANN=y diff --git a/boards/px4/fmu-v5x/init/rc.board_defaults b/boards/px4/fmu-v5x/init/rc.board_defaults index 30ff624b2f63..e0381e98867a 100644 --- a/boards/px4/fmu-v5x/init/rc.board_defaults +++ b/boards/px4/fmu-v5x/init/rc.board_defaults @@ -3,23 +3,25 @@ # board specific defaults #------------------------------------------------------------------------------ -# Mavlink ethernet (CFG 1000) -param set-default MAV_2_CONFIG 1000 -param set-default MAV_2_BROADCAST 1 -param set-default MAV_2_MODE 0 -param set-default MAV_2_RADIO_CTL 0 -param set-default MAV_2_RATE 100000 -param set-default MAV_2_REMOTE_PRT 14550 -param set-default MAV_2_UDP_PRT 14550 - param set-default SENS_EN_INA238 0 param set-default SENS_EN_INA228 0 param set-default SENS_EN_INA226 1 if ver hwbasecmp 008 009 00a 010 011 then - # Skynode: use the "custom participant" config for uxrce_dds_client + # Skynode: use the "custom participant", IP=10.41.10.1 config for uxrce_dds_client param set-default UXRCE_DDS_PTCFG 2 + param set-default UXRCE_DDS_AG_IP 170461697 + param set-default UXRCE_DDS_CFG 1000 +else + # Mavlink ethernet (CFG 1000) + param set-default MAV_2_CONFIG 1000 + param set-default MAV_2_BROADCAST 1 + param set-default MAV_2_MODE 0 + param set-default MAV_2_RADIO_CTL 0 + param set-default MAV_2_RATE 100000 + param set-default MAV_2_REMOTE_PRT 14550 + param set-default MAV_2_UDP_PRT 14550 fi safety_button start diff --git a/boards/px4/fmu-v5x/nuttx-config/nsh/defconfig b/boards/px4/fmu-v5x/nuttx-config/nsh/defconfig index 8c21923c6441..cfb7af2bd252 100644 --- a/boards/px4/fmu-v5x/nuttx-config/nsh/defconfig +++ b/boards/px4/fmu-v5x/nuttx-config/nsh/defconfig @@ -143,8 +143,8 @@ CONFIG_NETDB_DNSSERVER_NOADDR=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_MONITOR=y CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 diff --git a/boards/px4/fmu-v5x/nuttx-config/test/defconfig b/boards/px4/fmu-v5x/nuttx-config/test/defconfig index 12333125f90b..3261d4700c33 100644 --- a/boards/px4/fmu-v5x/nuttx-config/test/defconfig +++ b/boards/px4/fmu-v5x/nuttx-config/test/defconfig @@ -143,8 +143,8 @@ CONFIG_NETDB_DNSSERVER_NOADDR=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 CONFIG_NETUTILS_TELNETD=y diff --git a/boards/px4/fmu-v5x/rover.px4board b/boards/px4/fmu-v5x/rover.px4board index b8a1597b30ea..3e2b69dfac1b 100644 --- a/boards/px4/fmu-v5x/rover.px4board +++ b/boards/px4/fmu-v5x/rover.px4board @@ -14,3 +14,5 @@ CONFIG_MODULES_MC_RATE_CONTROL=n CONFIG_MODULES_VTOL_ATT_CONTROL=n CONFIG_EKF2_AUX_GLOBAL_POSITION=y # CONFIG_EKF2_WIND is not set +CONFIG_MODULES_DIFFERENTIAL_DRIVE=y +CONFIG_MODULES_ROVER_ACKERMANN=y diff --git a/boards/px4/fmu-v6c/extras/px4_fmu-v6c_bootloader.bin b/boards/px4/fmu-v6c/extras/px4_fmu-v6c_bootloader.bin index 85f65a9822f2..b6b75bb868c9 100755 Binary files a/boards/px4/fmu-v6c/extras/px4_fmu-v6c_bootloader.bin and b/boards/px4/fmu-v6c/extras/px4_fmu-v6c_bootloader.bin differ diff --git a/boards/px4/fmu-v6c/rover.px4board b/boards/px4/fmu-v6c/rover.px4board index f754c54e36f7..553bc76a52c7 100644 --- a/boards/px4/fmu-v6c/rover.px4board +++ b/boards/px4/fmu-v6c/rover.px4board @@ -14,3 +14,4 @@ CONFIG_MODULES_VTOL_ATT_CONTROL=n CONFIG_EKF2_AUX_GLOBAL_POSITION=y # CONFIG_EKF2_WIND is not set CONFIG_MODULES_DIFFERENTIAL_DRIVE=y +CONFIG_MODULES_ROVER_ACKERMANN=y diff --git a/boards/px4/fmu-v6u/extras/px4_fmu-v6u_bootloader.bin b/boards/px4/fmu-v6u/extras/px4_fmu-v6u_bootloader.bin index 2fd7d0d592df..60bbe67ae126 100755 Binary files a/boards/px4/fmu-v6u/extras/px4_fmu-v6u_bootloader.bin and b/boards/px4/fmu-v6u/extras/px4_fmu-v6u_bootloader.bin differ diff --git a/boards/px4/fmu-v6u/rover.px4board b/boards/px4/fmu-v6u/rover.px4board index f754c54e36f7..553bc76a52c7 100644 --- a/boards/px4/fmu-v6u/rover.px4board +++ b/boards/px4/fmu-v6u/rover.px4board @@ -14,3 +14,4 @@ CONFIG_MODULES_VTOL_ATT_CONTROL=n CONFIG_EKF2_AUX_GLOBAL_POSITION=y # CONFIG_EKF2_WIND is not set CONFIG_MODULES_DIFFERENTIAL_DRIVE=y +CONFIG_MODULES_ROVER_ACKERMANN=y diff --git a/boards/px4/fmu-v6x/extras/px4_fmu-v6x_bootloader.bin b/boards/px4/fmu-v6x/extras/px4_fmu-v6x_bootloader.bin index 4e40c12eafef..ecad9c2da1b4 100755 Binary files a/boards/px4/fmu-v6x/extras/px4_fmu-v6x_bootloader.bin and b/boards/px4/fmu-v6x/extras/px4_fmu-v6x_bootloader.bin differ diff --git a/boards/px4/fmu-v6x/init/rc.board_defaults b/boards/px4/fmu-v6x/init/rc.board_defaults index 95d873475b15..cb1eb580a429 100644 --- a/boards/px4/fmu-v6x/init/rc.board_defaults +++ b/boards/px4/fmu-v6x/init/rc.board_defaults @@ -3,15 +3,6 @@ # board specific defaults #------------------------------------------------------------------------------ -# Mavlink ethernet (CFG 1000) -param set-default MAV_2_CONFIG 1000 -param set-default MAV_2_BROADCAST 1 -param set-default MAV_2_MODE 0 -param set-default MAV_2_RADIO_CTL 0 -param set-default MAV_2_RATE 100000 -param set-default MAV_2_REMOTE_PRT 14550 -param set-default MAV_2_UDP_PRT 14550 - # By disabling all 3 INA modules, we use the # i2c_launcher instead. param set-default SENS_EN_INA238 0 @@ -20,8 +11,19 @@ param set-default SENS_EN_INA226 0 if ver hwbasecmp 009 010 011 then - # Skynode: use the "custom participant" config for uxrce_dds_client + # Skynode: use the "custom participant", IP=10.41.10.1 config for uxrce_dds_client param set-default UXRCE_DDS_PTCFG 2 + param set-default UXRCE_DDS_AG_IP 170461697 + param set-default UXRCE_DDS_CFG 1000 +else + # Mavlink ethernet (CFG 1000) + param set-default MAV_2_CONFIG 1000 + param set-default MAV_2_BROADCAST 1 + param set-default MAV_2_MODE 0 + param set-default MAV_2_RADIO_CTL 0 + param set-default MAV_2_RATE 100000 + param set-default MAV_2_REMOTE_PRT 14550 + param set-default MAV_2_UDP_PRT 14550 fi safety_button start diff --git a/boards/px4/fmu-v6x/nuttx-config/nsh/defconfig b/boards/px4/fmu-v6x/nuttx-config/nsh/defconfig index 87c8a46f04d1..333609282e00 100644 --- a/boards/px4/fmu-v6x/nuttx-config/nsh/defconfig +++ b/boards/px4/fmu-v6x/nuttx-config/nsh/defconfig @@ -147,8 +147,8 @@ CONFIG_NETDB_DNSSERVER_NOADDR=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_MONITOR=y CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 diff --git a/boards/px4/fmu-v6x/rover.px4board b/boards/px4/fmu-v6x/rover.px4board index f754c54e36f7..553bc76a52c7 100644 --- a/boards/px4/fmu-v6x/rover.px4board +++ b/boards/px4/fmu-v6x/rover.px4board @@ -14,3 +14,4 @@ CONFIG_MODULES_VTOL_ATT_CONTROL=n CONFIG_EKF2_AUX_GLOBAL_POSITION=y # CONFIG_EKF2_WIND is not set CONFIG_MODULES_DIFFERENTIAL_DRIVE=y +CONFIG_MODULES_ROVER_ACKERMANN=y diff --git a/boards/px4/fmu-v6xrt/extras/px4_fmu-v6xrt_bootloader.bin b/boards/px4/fmu-v6xrt/extras/px4_fmu-v6xrt_bootloader.bin index a90fd47f8003..42e7c4b9d036 100755 Binary files a/boards/px4/fmu-v6xrt/extras/px4_fmu-v6xrt_bootloader.bin and b/boards/px4/fmu-v6xrt/extras/px4_fmu-v6xrt_bootloader.bin differ diff --git a/boards/px4/fmu-v6xrt/nuttx-config/nsh/defconfig b/boards/px4/fmu-v6xrt/nuttx-config/nsh/defconfig index 28df156d1bb2..e58939226d33 100644 --- a/boards/px4/fmu-v6xrt/nuttx-config/nsh/defconfig +++ b/boards/px4/fmu-v6xrt/nuttx-config/nsh/defconfig @@ -202,8 +202,8 @@ CONFIG_NETDEV_LATEINIT=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DHCPC=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_MONITOR=y CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 diff --git a/boards/px4/fmu-v6xrt/nuttx-config/scripts/itcm_functions_includes.ld b/boards/px4/fmu-v6xrt/nuttx-config/scripts/itcm_functions_includes.ld index 60a76f97e1b9..477cc835bafb 100644 --- a/boards/px4/fmu-v6xrt/nuttx-config/scripts/itcm_functions_includes.ld +++ b/boards/px4/fmu-v6xrt/nuttx-config/scripts/itcm_functions_includes.ld @@ -683,7 +683,6 @@ *(.text._ZN18MavlinkStreamDebug8get_sizeEv) *(.text._ZN12GPSDriverUBX7receiveEj) *(.text._ZN13BatteryStatus21parameter_update_pollEb) -*(.text._ZN3Ekf26checkYawAngleObservabilityEv) *(.text._ZN3RTL18updateDatamanCacheEv) *(.text.__ieee754_sqrtf) *(.text._ZThn24_N18mag_bias_estimator16MagBiasEstimator3RunEv) diff --git a/boards/px4/fmu-v6xrt/rover.px4board b/boards/px4/fmu-v6xrt/rover.px4board index 2e75c9bdb47b..101555842444 100644 --- a/boards/px4/fmu-v6xrt/rover.px4board +++ b/boards/px4/fmu-v6xrt/rover.px4board @@ -15,3 +15,4 @@ CONFIG_MODULES_VTOL_ATT_CONTROL=n CONFIG_EKF2_AUX_GLOBAL_POSITION=y # CONFIG_EKF2_WIND is not set CONFIG_MODULES_DIFFERENTIAL_DRIVE=y +CONFIG_MODULES_ROVER_ACKERMANN=y diff --git a/boards/px4/fmu-v6xrt/src/board_config.h b/boards/px4/fmu-v6xrt/src/board_config.h index a2edff8dabc8..059d0ac696d8 100644 --- a/boards/px4/fmu-v6xrt/src/board_config.h +++ b/boards/px4/fmu-v6xrt/src/board_config.h @@ -455,6 +455,7 @@ #define RC_SERIAL_SINGLEWIRE 1 // Suport Single wire wiring #define RC_SERIAL_SWAP_RXTX 1 // Set Swap (but not supported in HW) to use Single wire #define RC_SERIAL_SWAP_USING_SINGLEWIRE 1 // Set to use Single wire swap as HW does not support swap +#define BOARD_SUPPORTS_RC_SERIAL_PORT_OUTPUT /* FLEXSPI4 */ diff --git a/boards/px4/fmu-v6xrt/src/imxrt_flexspi_nor_flash.c b/boards/px4/fmu-v6xrt/src/imxrt_flexspi_nor_flash.c index 6ae7589d60ef..dfdf13da6dbe 100644 --- a/boards/px4/fmu-v6xrt/src/imxrt_flexspi_nor_flash.c +++ b/boards/px4/fmu-v6xrt/src/imxrt_flexspi_nor_flash.c @@ -104,9 +104,10 @@ const struct flexspi_nor_config_s g_flash_fast_config = { .busyBitPolarity = 0u, .lookupTable = { - /* Read */// EEH+11H+32bit addr+20dummy cycles+ 4Bytes read data //200Mhz 18 dummy=10+8 + /* Read */// EEH+11H+32bit addr+20dummy cycles+ 4Bytes read data + /* Macronix manual says 20 dummy cycles @ 200Mhz, FlexSPI peripheral Operand value needs to be 2N in DDR mode hence 0x28 */ [0 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0xEE, CMD_DDR, FLEXSPI_8PAD, 0x11), //0x871187ee, - [0 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x04),//0xb3048b20, + [0 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x28),//0xb3288b20, [0 + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0x00), //0xa704, /* Read status */ diff --git a/boards/px4/sitl/default.px4board b/boards/px4/sitl/default.px4board index 7dd7ce481a3f..cfbaf4ddc998 100644 --- a/boards/px4/sitl/default.px4board +++ b/boards/px4/sitl/default.px4board @@ -45,6 +45,7 @@ CONFIG_MODE_NAVIGATOR_VTOL_TAKEOFF=y CONFIG_MODULES_PAYLOAD_DELIVERER=y CONFIG_MODULES_RC_UPDATE=y CONFIG_MODULES_REPLAY=y +CONFIG_MODULES_ROVER_ACKERMANN=y CONFIG_MODULES_ROVER_POS_CONTROL=y CONFIG_MODULES_SENSORS=y CONFIG_COMMON_SIMULATION=y diff --git a/boards/siyi/n7/extras/siyi_n7_bootloader.bin b/boards/siyi/n7/extras/siyi_n7_bootloader.bin index 6f0ff949f506..3f8c6fa8c2b6 100755 Binary files a/boards/siyi/n7/extras/siyi_n7_bootloader.bin and b/boards/siyi/n7/extras/siyi_n7_bootloader.bin differ diff --git a/boards/sky-drones/smartap-airlink/nuttx-config/nsh/defconfig b/boards/sky-drones/smartap-airlink/nuttx-config/nsh/defconfig index 25c5120d5740..b28719b13e93 100644 --- a/boards/sky-drones/smartap-airlink/nuttx-config/nsh/defconfig +++ b/boards/sky-drones/smartap-airlink/nuttx-config/nsh/defconfig @@ -141,8 +141,8 @@ CONFIG_NETDB_DNSCLIENT_ENTRIES=8 CONFIG_NETDB_DNSSERVER_NOADDR=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NETINIT_DNS=y -CONFIG_NETINIT_DNSIPADDR=0XC0A800FE -CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_DNSIPADDR=0xA290AFE +CONFIG_NETINIT_DRIPADDR=0xA290AFE CONFIG_NETINIT_THREAD=y CONFIG_NETINIT_THREAD_PRIORITY=49 CONFIG_NETUTILS_TELNETD=y diff --git a/msg/CMakeLists.txt b/msg/CMakeLists.txt index c53402bd0f35..53ec65cf9a55 100644 --- a/msg/CMakeLists.txt +++ b/msg/CMakeLists.txt @@ -178,6 +178,7 @@ set(msg_files RcParameterMap.msg RegisterExtComponentReply.msg RegisterExtComponentRequest.msg + RoverAckermannGuidanceStatus.msg Rpm.msg RtlStatus.msg RtlTimeEstimate.msg diff --git a/msg/RoverAckermannGuidanceStatus.msg b/msg/RoverAckermannGuidanceStatus.msg new file mode 100644 index 000000000000..3c34b63c63f2 --- /dev/null +++ b/msg/RoverAckermannGuidanceStatus.msg @@ -0,0 +1,10 @@ +uint64 timestamp # time since system start (microseconds) + +float32 actual_speed # [m/s] Rover ground speed +float32 desired_speed # [m/s] Rover desired ground speed +float32 lookahead_distance # [m] Lookahead distance of pure the pursuit controller +float32 heading_error # [deg] Heading error of the pure pursuit controller +float32 pid_throttle_integral # [-1, 1] Integral of the PID for the normalized throttle to control the rover speed during missions +float32 crosstrack_error # [m] Shortest distance from the vehicle to the path + +# TOPICS rover_ackermann_guidance_status diff --git a/msg/VehicleAttitudeSetpoint.msg b/msg/VehicleAttitudeSetpoint.msg index e4f66c446a05..f52025d2bb51 100644 --- a/msg/VehicleAttitudeSetpoint.msg +++ b/msg/VehicleAttitudeSetpoint.msg @@ -11,7 +11,7 @@ float32[4] q_d # Desired quaternion for quaternion control # For clarification: For multicopters thrust_body[0] and thrust[1] are usually 0 and thrust[2] is the negative throttle demand. # For fixed wings thrust_x is the throttle demand and thrust_y, thrust_z will usually be zero. -float32[3] thrust_body # Normalized thrust command in body NED frame [-1,1] +float32[3] thrust_body # Normalized thrust command in body FRD frame [-1,1] bool reset_integral # Reset roll/pitch/yaw integrals (navigation logic change) diff --git a/platforms/nuttx/src/px4/common/SerialImpl.cpp b/platforms/nuttx/src/px4/common/SerialImpl.cpp index dd1ce6a3b8b8..3131435a0f5c 100644 --- a/platforms/nuttx/src/px4/common/SerialImpl.cpp +++ b/platforms/nuttx/src/px4/common/SerialImpl.cpp @@ -74,6 +74,11 @@ bool SerialImpl::configure() int speed; switch (_baudrate) { + case 0: + // special case, if baudrate is 0 it hangs entire system + PX4_ERR("baudrate not specified"); + return false; + case 9600: speed = B9600; break; case 19200: speed = B19200; break; diff --git a/platforms/posix/src/px4/common/px4_daemon/server.cpp b/platforms/posix/src/px4/common/px4_daemon/server.cpp index c3b012bb8462..c26b364457f7 100644 --- a/platforms/posix/src/px4/common/px4_daemon/server.cpp +++ b/platforms/posix/src/px4/common/px4_daemon/server.cpp @@ -153,9 +153,8 @@ Server::_server_main() // Reboot command causes System Interrupt to stop poll(). This is not an error if (errno != EINTR) { PX4_ERR("poll() failed: %s", strerror(errno)); + break; } - - break; } _lock(); diff --git a/src/drivers/imu/murata/sch16t/Murata_SCH16T_registers.hpp b/src/drivers/imu/murata/sch16t/Murata_SCH16T_registers.hpp index 07d84dcb36e7..3d85c6eb012c 100644 --- a/src/drivers/imu/murata/sch16t/Murata_SCH16T_registers.hpp +++ b/src/drivers/imu/murata/sch16t/Murata_SCH16T_registers.hpp @@ -37,17 +37,101 @@ namespace Murata_SCH16T { -static constexpr uint32_t SPI_SPEED = 5 * 1000 * 1000; // 5 MHz SPI serial interface -static constexpr uint32_t SAMPLE_INTERVAL_US = 678; // 1500 Hz -- decimation factor 8, F_PRIM/16, 1.475 kHz -static constexpr uint16_t EOI = (1 << 1); // End of Initialization -static constexpr uint16_t EN_SENSOR = (1 << 0); // Enable RATE and ACC measurement -static constexpr uint16_t DRY_DRV_EN = (1 << 5); // Enables Data ready function -static constexpr uint16_t FILTER_BYPASS = (0b111); // Bypass filter -static constexpr uint16_t RATE_300DPS_1475HZ = 0b0'001'001'011'011'011; // Gyro XYZ range 300 deg/s @ 1475Hz -static constexpr uint16_t ACC12_8G_1475HZ = 0b0'001'001'011'011'011; // Acc XYZ range 8 G and 1475 update rate -static constexpr uint16_t ACC3_26G = (0b000 << 0); +// General definitions +static constexpr uint16_t EOI = (1 << 1); // End of Initialization +static constexpr uint16_t EN_SENSOR = (1 << 0); // Enable RATE and ACC measurement +static constexpr uint16_t DRY_DRV_EN = (1 << 5); // Enables Data ready function static constexpr uint16_t SPI_SOFT_RESET = (0b1010); +// Filter settings +static constexpr uint8_t FILTER_13_HZ = (0b010); +static constexpr uint8_t FILTER_30_HZ = (0b001); +static constexpr uint8_t FILTER_68_HZ = (0b000); +static constexpr uint8_t FILTER_280_HZ = (0b011); +static constexpr uint8_t FILTER_370_HZ = (0b100); +static constexpr uint8_t FILTER_235_HZ = (0b101); +static constexpr uint8_t FILTER_BYPASS = (0b111); + +// Dynamic range settings +static constexpr uint8_t RATE_RANGE_300 = (0b001); +static constexpr uint8_t ACC12_RANGE_80 = (0b001); +static constexpr uint8_t ACC3_RANGE_260 = (0b000); + +// Decimation ratio settings +static constexpr uint8_t DECIMATION_NONE = (0b000); +static constexpr uint8_t DECIMATION_5900_HZ = (0b001); +static constexpr uint8_t DECIMATION_2950_HZ = (0b010); +static constexpr uint8_t DECIMATION_1475_HZ = (0b011); +static constexpr uint8_t DECIMATION_738_HZ = (0b100); + +union CTRL_FILT_RATE_Register { + struct { + uint16_t FILT_SEL_RATE_X : 3; + uint16_t FILT_SEL_RATE_Y : 3; + uint16_t FILT_SEL_RATE_Z : 3; + uint16_t reserved : 7; + } bits; + + uint16_t value; +}; + +union CTRL_FILT_ACC12_Register { + struct { + uint16_t FILT_SEL_ACC_X12 : 3; + uint16_t FILT_SEL_ACC_Y12 : 3; + uint16_t FILT_SEL_ACC_Z12 : 3; + uint16_t reserved : 7; + } bits; + + uint16_t value; +}; + +union CTRL_FILT_ACC3_Register { + struct { + uint16_t FILT_SEL_ACC_X3 : 3; + uint16_t FILT_SEL_ACC_Y3 : 3; + uint16_t FILT_SEL_ACC_Z3 : 3; + uint16_t reserved : 7; + } bits; + + uint16_t value; +}; + +union RATE_CTRL_Register { + struct { + uint16_t DEC_RATE_X2 : 3; + uint16_t DEC_RATE_Y2 : 3; + uint16_t DEC_RATE_Z2 : 3; + uint16_t DYN_RATE_XYZ2: 3; + uint16_t DYN_RATE_XYZ1: 3; + uint16_t reserved : 1; + } bits; + + uint16_t value; +}; + +union ACC12_CTRL_Register { + struct { + uint16_t DEC_ACC_X2 : 3; + uint16_t DEC_ACC_Y2 : 3; + uint16_t DEC_ACC_Z2 : 3; + uint16_t DYN_ACC_XYZ2: 3; + uint16_t DYN_ACC_XYZ1: 3; + uint16_t reserved : 1; + } bits; + + uint16_t value; +}; + +union ACC3_CTRL_Register { + struct { + uint16_t DYN_ACC_XYZ3 : 3; + uint16_t reserved : 13; + } bits; + + uint16_t value; +}; + // Data registers #define RATE_X1 0x01 // 20 bit #define RATE_Y1 0x02 // 20 bit diff --git a/src/drivers/imu/murata/sch16t/SCH16T.cpp b/src/drivers/imu/murata/sch16t/SCH16T.cpp index 5a682bfe23bd..d7ed53f27c7a 100644 --- a/src/drivers/imu/murata/sch16t/SCH16T.cpp +++ b/src/drivers/imu/murata/sch16t/SCH16T.cpp @@ -44,6 +44,7 @@ static constexpr uint32_t POWER_ON_TIME = 250_ms; SCH16T::SCH16T(const I2CSPIDriverConfig &config) : SPI(config), I2CSPIDriver(config), + ModuleParams(nullptr), _px4_accel(get_device_id(), config.rotation), _px4_gyro(get_device_id(), config.rotation), _drdy_gpio(config.drdy_gpio) @@ -62,8 +63,11 @@ SCH16T::~SCH16T() perf_free(_reset_perf); perf_free(_bad_transfer_perf); perf_free(_perf_crc_bad); - perf_free(_perf_frame_bad); perf_free(_drdy_missed_perf); + perf_free(_perf_general_error); + perf_free(_perf_command_error); + perf_free(_perf_saturation_error); + perf_free(_perf_doing_initialization); } int SCH16T::init() @@ -104,9 +108,7 @@ int SCH16T::probe() PX4_INFO("COMP_ID:\t 0x%0x", comp_id); PX4_INFO("ASIC_ID:\t 0x%0x", asic_id); - // SCH16T-K01 - ID hex = 0x0020 - // SCH1633-B13 - ID hex = 0x0017 - bool success = asic_id == 0x20 && comp_id == 0x17; + bool success = asic_id == 0x21 && comp_id == 0x23; return success ? PX4_OK : PX4_ERROR; } @@ -145,8 +147,11 @@ void SCH16T::print_status() perf_print_counter(_reset_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_perf_crc_bad); - perf_print_counter(_perf_frame_bad); perf_print_counter(_drdy_missed_perf); + perf_print_counter(_perf_general_error); + perf_print_counter(_perf_command_error); + perf_print_counter(_perf_saturation_error); + perf_print_counter(_perf_doing_initialization); } void SCH16T::RunImpl() @@ -186,6 +191,7 @@ void SCH16T::RunImpl() } case STATE::CONFIGURE: { + ConfigurationFromParameters(); Configure(); _state = STATE::LOCK_CONFIGURATION; @@ -215,7 +221,7 @@ void SCH16T::RunImpl() ScheduleDelayed(100_ms); // backup schedule as a watchdog timeout } else { - ScheduleOnInterval(SAMPLE_INTERVAL_US, SAMPLE_INTERVAL_US); + ScheduleOnInterval(_sample_interval_us, _sample_interval_us); } } else { @@ -233,7 +239,7 @@ void SCH16T::RunImpl() // scheduled from interrupt if _drdy_timestamp_sample was set as expected const hrt_abstime drdy_timestamp_sample = _drdy_timestamp_sample.fetch_and(0); - if ((now - drdy_timestamp_sample) < SAMPLE_INTERVAL_US) { + if ((now - drdy_timestamp_sample) < _sample_interval_us) { timestamp_sample = drdy_timestamp_sample; } else { @@ -241,7 +247,7 @@ void SCH16T::RunImpl() } // push backup schedule back - ScheduleDelayed(SAMPLE_INTERVAL_US * 2); + ScheduleDelayed(_sample_interval_us * 2); } // Collect the data @@ -279,48 +285,51 @@ void SCH16T::RunImpl() bool SCH16T::ReadData(SensorData *data) { - uint64_t temp = 0; - uint64_t gyro_x = 0; - uint64_t gyro_y = 0; - uint64_t gyro_z = 0; - uint64_t acc_x = 0; - uint64_t acc_y = 0; - uint64_t acc_z = 0; + // Register reads return 48bits. See SafeSpi 48bit out-of-frame protocol. + RegisterRead(RATE_X2); + uint64_t gyro_x = RegisterRead(RATE_Y2); + uint64_t gyro_y = RegisterRead(RATE_Z2); + uint64_t gyro_z = RegisterRead(ACC_X2); + uint64_t acc_x = RegisterRead(ACC_Y2); + uint64_t acc_y = RegisterRead(ACC_Z2); + uint64_t acc_z = RegisterRead(TEMP); + uint64_t temp = RegisterRead(TEMP); + + static constexpr uint64_t MASK48_GENERAL_ERROR = 0b00000000'00010000'00000000'00000000'00000000'00000000; + static constexpr uint64_t MASK48_COMMAND_ERROR = 0b00000000'00001000'00000000'00000000'00000000'00000000; + static constexpr uint64_t MASK48_SATURATION_ERROR = 0b00000000'00000100'00000000'00000000'00000000'00000000; + static constexpr uint64_t MASK48_DOING_INIT = 0b00000000'00000110'00000000'00000000'00000000'00000000; - // Data registers are 20bit 2s complement - RegisterRead(TEMP); - temp = RegisterRead(STAT_SUM_SAT); - _sensor_status.saturation = SPI48_DATA_UINT16(RegisterRead(RATE_X2)); - gyro_x = RegisterRead(RATE_Y2); - gyro_y = RegisterRead(RATE_Z2); - - // Check if ACC2 is saturated, if so, use ACC3 - if ((_sensor_status.saturation & STAT_SUM_SAT_ACC_X2) || (_sensor_status.saturation & STAT_SUM_SAT_ACC_Y2) - || (_sensor_status.saturation & STAT_SUM_SAT_ACC_Z2)) { - gyro_z = RegisterRead(ACC_X3); - acc_x = RegisterRead(ACC_Y3); - acc_y = RegisterRead(ACC_Z3); - acc_z = RegisterRead(TEMP); - _px4_accel.set_scale(1.f / 1600.f); - _px4_accel.set_range(260.f); - - } else { - gyro_z = RegisterRead(ACC_X2); - acc_x = RegisterRead(ACC_Y2); - acc_y = RegisterRead(ACC_Z2); - acc_z = RegisterRead(TEMP); - _px4_accel.set_scale(1.f / 3200.f); - _px4_accel.set_range(163.4f); - } - - static constexpr uint64_t MASK48_ERROR = 0x001E00000000UL; uint64_t values[] = { gyro_x, gyro_y, gyro_z, acc_x, acc_y, acc_z, temp }; for (auto v : values) { - // Check for frame errors - if (v & MASK48_ERROR) { - perf_count(_perf_frame_bad); + // [1b ][1b][ 2b ] + // [IDS][CE][S1:0] + // IDS: Internal Data Status indication. SCH16T uses this field to indicate common cause error. This is redundant, more accurate info + // is seen from sensor status (S1:S0). + // CE: Command Error indication. SCH16T reports only semantically invalid frame content using this field. SPI protocol + // level errors are indicated with High-Z on MISO pin. + // S1,0: Sensor status indication. + // 00: Normal operation + // 01: Error status + // 10: Saturation error + // 11: Initialization running + + if (v & MASK48_GENERAL_ERROR) { + perf_count(_perf_general_error); + return false; + + } else if (v & MASK48_COMMAND_ERROR) { + perf_count(_perf_command_error); + return false; + + } else if ((v & MASK48_DOING_INIT) == MASK48_DOING_INIT) { + perf_count(_perf_doing_initialization); return false; + + } else if (v & MASK48_SATURATION_ERROR) { + perf_count(_perf_saturation_error); + // Don't consider saturation an error } // Validate the CRC @@ -339,7 +348,6 @@ bool SCH16T::ReadData(SensorData *data) data->gyro_z = SPI48_DATA_INT32(gyro_z); // Temperature data is always 16 bits wide. Drop 4 LSBs as they are not used. data->temp = SPI48_DATA_INT32(temp) >> 4; - // Conver to PX4 coordinate system (FLU to FRD) data->acc_x = data->acc_x; data->acc_y = -data->acc_y; @@ -347,10 +355,210 @@ bool SCH16T::ReadData(SensorData *data) data->gyro_x = data->gyro_x; data->gyro_y = -data->gyro_y; data->gyro_z = -data->gyro_z; - return true; } +void SCH16T::ConfigurationFromParameters() +{ + // NOTE: We use ACC2 and RATE2 which are both decimated without interpolation + CTRL_FILT_RATE_Register filt_rate; + CTRL_FILT_ACC12_Register filt_acc12; + CTRL_FILT_ACC3_Register filt_acc3; + RATE_CTRL_Register rate_ctrl; + ACC12_CTRL_Register acc12_ctrl; + ACC3_CTRL_Register acc3_ctrl; + + // We always use the maximum dynamic range for gyro and accel + rate_ctrl.bits.DYN_RATE_XYZ1 = RATE_RANGE_300; + rate_ctrl.bits.DYN_RATE_XYZ2 = RATE_RANGE_300; + acc12_ctrl.bits.DYN_ACC_XYZ1 = ACC12_RANGE_80; + acc12_ctrl.bits.DYN_ACC_XYZ2 = ACC12_RANGE_80; + acc3_ctrl.bits.DYN_ACC_XYZ3 = ACC3_RANGE_260; + + _px4_gyro.set_range(math::radians(327.5f)); // 327.5 °/sec + _px4_gyro.set_scale(math::radians(1.f / 1600.f)); // 1600 LSB/(°/sec) + _px4_accel.set_range(163.4f); // 163.4 m/s2 + _px4_accel.set_scale(1.f / 3200.f); // 3200 LSB/(m/s2) + + // Gyro filter + switch (_sch16t_gyro_filt.get()) { + case 0: + filt_rate.bits.FILT_SEL_RATE_X = FILTER_13_HZ; + filt_rate.bits.FILT_SEL_RATE_Y = FILTER_13_HZ; + filt_rate.bits.FILT_SEL_RATE_Z = FILTER_13_HZ; + break; + + case 1: + filt_rate.bits.FILT_SEL_RATE_X = FILTER_30_HZ; + filt_rate.bits.FILT_SEL_RATE_Y = FILTER_30_HZ; + filt_rate.bits.FILT_SEL_RATE_Z = FILTER_30_HZ; + break; + + case 2: + filt_rate.bits.FILT_SEL_RATE_X = FILTER_68_HZ; + filt_rate.bits.FILT_SEL_RATE_Y = FILTER_68_HZ; + filt_rate.bits.FILT_SEL_RATE_Z = FILTER_68_HZ; + break; + + case 3: + filt_rate.bits.FILT_SEL_RATE_X = FILTER_235_HZ; + filt_rate.bits.FILT_SEL_RATE_Y = FILTER_235_HZ; + filt_rate.bits.FILT_SEL_RATE_Z = FILTER_235_HZ; + break; + + case 4: + filt_rate.bits.FILT_SEL_RATE_X = FILTER_280_HZ; + filt_rate.bits.FILT_SEL_RATE_Y = FILTER_280_HZ; + filt_rate.bits.FILT_SEL_RATE_Z = FILTER_280_HZ; + break; + + case 5: + filt_rate.bits.FILT_SEL_RATE_X = FILTER_370_HZ; + filt_rate.bits.FILT_SEL_RATE_Y = FILTER_370_HZ; + filt_rate.bits.FILT_SEL_RATE_Z = FILTER_370_HZ; + break; + + case 6: + filt_rate.bits.FILT_SEL_RATE_X = FILTER_BYPASS; + filt_rate.bits.FILT_SEL_RATE_Y = FILTER_BYPASS; + filt_rate.bits.FILT_SEL_RATE_Z = FILTER_BYPASS; + break; + } + + // ACC12 / ACC3 filter + switch (_sch16t_acc_filt.get()) { + case 0: + filt_acc12.bits.FILT_SEL_ACC_X12 = FILTER_13_HZ; + filt_acc12.bits.FILT_SEL_ACC_Y12 = FILTER_13_HZ; + filt_acc12.bits.FILT_SEL_ACC_Z12 = FILTER_13_HZ; + + filt_acc3.bits.FILT_SEL_ACC_X3 = FILTER_13_HZ; + filt_acc3.bits.FILT_SEL_ACC_Y3 = FILTER_13_HZ; + filt_acc3.bits.FILT_SEL_ACC_Z3 = FILTER_13_HZ; + break; + + case 1: + filt_acc12.bits.FILT_SEL_ACC_X12 = FILTER_30_HZ; + filt_acc12.bits.FILT_SEL_ACC_Y12 = FILTER_30_HZ; + filt_acc12.bits.FILT_SEL_ACC_Z12 = FILTER_30_HZ; + + filt_acc3.bits.FILT_SEL_ACC_X3 = FILTER_30_HZ; + filt_acc3.bits.FILT_SEL_ACC_Y3 = FILTER_30_HZ; + filt_acc3.bits.FILT_SEL_ACC_Z3 = FILTER_30_HZ; + break; + + case 2: + filt_acc12.bits.FILT_SEL_ACC_X12 = FILTER_68_HZ; + filt_acc12.bits.FILT_SEL_ACC_Y12 = FILTER_68_HZ; + filt_acc12.bits.FILT_SEL_ACC_Z12 = FILTER_68_HZ; + + filt_acc3.bits.FILT_SEL_ACC_X3 = FILTER_68_HZ; + filt_acc3.bits.FILT_SEL_ACC_Y3 = FILTER_68_HZ; + filt_acc3.bits.FILT_SEL_ACC_Z3 = FILTER_68_HZ; + break; + + case 3: + filt_acc12.bits.FILT_SEL_ACC_X12 = FILTER_235_HZ; + filt_acc12.bits.FILT_SEL_ACC_Y12 = FILTER_235_HZ; + filt_acc12.bits.FILT_SEL_ACC_Z12 = FILTER_235_HZ; + + filt_acc3.bits.FILT_SEL_ACC_X3 = FILTER_235_HZ; + filt_acc3.bits.FILT_SEL_ACC_Y3 = FILTER_235_HZ; + filt_acc3.bits.FILT_SEL_ACC_Z3 = FILTER_235_HZ; + break; + + case 4: + filt_acc12.bits.FILT_SEL_ACC_X12 = FILTER_280_HZ; + filt_acc12.bits.FILT_SEL_ACC_Y12 = FILTER_280_HZ; + filt_acc12.bits.FILT_SEL_ACC_Z12 = FILTER_280_HZ; + + filt_acc3.bits.FILT_SEL_ACC_X3 = FILTER_280_HZ; + filt_acc3.bits.FILT_SEL_ACC_Y3 = FILTER_280_HZ; + filt_acc3.bits.FILT_SEL_ACC_Z3 = FILTER_280_HZ; + break; + + case 5: + filt_acc12.bits.FILT_SEL_ACC_X12 = FILTER_370_HZ; + filt_acc12.bits.FILT_SEL_ACC_Y12 = FILTER_370_HZ; + filt_acc12.bits.FILT_SEL_ACC_Z12 = FILTER_370_HZ; + + filt_acc3.bits.FILT_SEL_ACC_X3 = FILTER_370_HZ; + filt_acc3.bits.FILT_SEL_ACC_Y3 = FILTER_370_HZ; + filt_acc3.bits.FILT_SEL_ACC_Z3 = FILTER_370_HZ; + break; + + case 6: + filt_acc12.bits.FILT_SEL_ACC_X12 = FILTER_BYPASS; + filt_acc12.bits.FILT_SEL_ACC_Y12 = FILTER_BYPASS; + filt_acc12.bits.FILT_SEL_ACC_Z12 = FILTER_BYPASS; + + filt_acc3.bits.FILT_SEL_ACC_X3 = FILTER_BYPASS; + filt_acc3.bits.FILT_SEL_ACC_Y3 = FILTER_BYPASS; + filt_acc3.bits.FILT_SEL_ACC_Z3 = FILTER_BYPASS; + break; + } + + // Gyro decimation (only affects channel 2, ie RATE2) + switch (_sch16t_decim.get()) { + case 0: + _sample_interval_us = 85; + rate_ctrl.bits.DEC_RATE_X2 = DECIMATION_NONE; + rate_ctrl.bits.DEC_RATE_Y2 = DECIMATION_NONE; + rate_ctrl.bits.DEC_RATE_Z2 = DECIMATION_NONE; + acc12_ctrl.bits.DEC_ACC_X2 = DECIMATION_NONE; + acc12_ctrl.bits.DEC_ACC_Y2 = DECIMATION_NONE; + acc12_ctrl.bits.DEC_ACC_Z2 = DECIMATION_NONE; + break; + + case 1: + _sample_interval_us = 169; + rate_ctrl.bits.DEC_RATE_X2 = DECIMATION_5900_HZ; + rate_ctrl.bits.DEC_RATE_Y2 = DECIMATION_5900_HZ; + rate_ctrl.bits.DEC_RATE_Z2 = DECIMATION_5900_HZ; + acc12_ctrl.bits.DEC_ACC_X2 = DECIMATION_5900_HZ; + acc12_ctrl.bits.DEC_ACC_Y2 = DECIMATION_5900_HZ; + acc12_ctrl.bits.DEC_ACC_Z2 = DECIMATION_5900_HZ; + break; + + case 2: + _sample_interval_us = 338; + rate_ctrl.bits.DEC_RATE_X2 = DECIMATION_2950_HZ; + rate_ctrl.bits.DEC_RATE_Y2 = DECIMATION_2950_HZ; + rate_ctrl.bits.DEC_RATE_Z2 = DECIMATION_2950_HZ; + acc12_ctrl.bits.DEC_ACC_X2 = DECIMATION_2950_HZ; + acc12_ctrl.bits.DEC_ACC_Y2 = DECIMATION_2950_HZ; + acc12_ctrl.bits.DEC_ACC_Z2 = DECIMATION_2950_HZ; + break; + + case 3: + _sample_interval_us = 678; + rate_ctrl.bits.DEC_RATE_X2 = DECIMATION_1475_HZ; + rate_ctrl.bits.DEC_RATE_Y2 = DECIMATION_1475_HZ; + rate_ctrl.bits.DEC_RATE_Z2 = DECIMATION_1475_HZ; + acc12_ctrl.bits.DEC_ACC_X2 = DECIMATION_1475_HZ; + acc12_ctrl.bits.DEC_ACC_Y2 = DECIMATION_1475_HZ; + acc12_ctrl.bits.DEC_ACC_Z2 = DECIMATION_1475_HZ; + break; + + case 4: + _sample_interval_us = 1355; + rate_ctrl.bits.DEC_RATE_X2 = DECIMATION_738_HZ; + rate_ctrl.bits.DEC_RATE_Y2 = DECIMATION_738_HZ; + rate_ctrl.bits.DEC_RATE_Z2 = DECIMATION_738_HZ; + acc12_ctrl.bits.DEC_ACC_X2 = DECIMATION_738_HZ; + acc12_ctrl.bits.DEC_ACC_Y2 = DECIMATION_738_HZ; + acc12_ctrl.bits.DEC_ACC_Z2 = DECIMATION_738_HZ; + break; + } + + _registers[0] = RegisterConfig(CTRL_FILT_RATE, filt_rate.value); + _registers[1] = RegisterConfig(CTRL_FILT_ACC12, filt_acc12.value); + _registers[2] = RegisterConfig(CTRL_FILT_ACC3, filt_acc3.value); + _registers[3] = RegisterConfig(CTRL_RATE, rate_ctrl.value); + _registers[4] = RegisterConfig(CTRL_ACC12, acc12_ctrl.value); + _registers[5] = RegisterConfig(CTRL_ACC3, acc3_ctrl.value); +} + void SCH16T::Configure() { for (auto &r : _registers) { @@ -359,15 +567,6 @@ void SCH16T::Configure() RegisterWrite(CTRL_USER_IF, DRY_DRV_EN); // Enable data ready RegisterWrite(CTRL_MODE, EN_SENSOR); // Enable the sensor - - // NOTE: we use ACC3 for the higher range. The DRDY frequency adjusts to whichever register bank is - // being sampled from (decimated vs interpolated outputs). RATE_XYZ2 is decimated and RATE_XYZ1 is interpolated. - _px4_gyro.set_range(math::radians(327.68f)); // +-/ 300°/sec calibrated range, 327.68°/sec electrical headroom (20bit) - _px4_gyro.set_scale(math::radians(1.f / 1600.f)); // scaling 1600 LSB/°/sec -> rad/s per LSB - - // ACC12 range is 163.4 m/s^2, 3200 LSB/(m/s^2), ACC3 range is 260 m/s^2, 1600 LSB/(m/s^2) - _px4_accel.set_range(163.4f); - _px4_accel.set_scale(1.f / 3200.f); } bool SCH16T::ValidateRegisterConfiguration() @@ -449,8 +648,6 @@ void SCH16T::RegisterWrite(uint8_t addr, uint16_t value) // The SPI protocol (SafeSPI) is 48bit out-of-frame. This means read return frames will be received on the next transfer. uint64_t SCH16T::TransferSpiFrame(uint64_t frame) { - set_frequency(SPI_SPEED); - uint16_t buf[3]; for (int index = 0; index < 3; index++) { diff --git a/src/drivers/imu/murata/sch16t/SCH16T.hpp b/src/drivers/imu/murata/sch16t/SCH16T.hpp index 6e390d70b7d8..3487bf115e0e 100644 --- a/src/drivers/imu/murata/sch16t/SCH16T.hpp +++ b/src/drivers/imu/murata/sch16t/SCH16T.hpp @@ -34,14 +34,14 @@ #pragma once #include "Murata_SCH16T_registers.hpp" - +#include #include #include #include using namespace Murata_SCH16T; -class SCH16T : public device::SPI, public I2CSPIDriver +class SCH16T : public device::SPI, public I2CSPIDriver, public ModuleParams { public: SCH16T(const I2CSPIDriverConfig &config); @@ -79,7 +79,7 @@ class SCH16T : public device::SPI, public I2CSPIDriver }; struct RegisterConfig { - RegisterConfig(uint16_t a, uint16_t v) + RegisterConfig(uint16_t a = 0, uint16_t v = 0) : addr(a) , value(v) {}; @@ -100,6 +100,8 @@ class SCH16T : public device::SPI, public I2CSPIDriver void ReadStatusRegisters(); void Configure(); + void ConfigurationFromParameters(); + void SoftwareReset(); void RegisterWrite(uint8_t addr, uint16_t value); @@ -131,19 +133,22 @@ class SCH16T : public device::SPI, public I2CSPIDriver READ, } _state{STATE::RESET_INIT}; - RegisterConfig _registers[6] = { - RegisterConfig(CTRL_FILT_RATE, FILTER_BYPASS), // Bypass filter - RegisterConfig(CTRL_FILT_ACC12, FILTER_BYPASS), // Bypass filter - RegisterConfig(CTRL_FILT_ACC3, FILTER_BYPASS), // Bypass filter - RegisterConfig(CTRL_RATE, RATE_300DPS_1475HZ), // +/- 300 deg/s, 1600 LSB/(deg/s) -- default, Decimation 8, 1475Hz - RegisterConfig(CTRL_ACC12, ACC12_8G_1475HZ), // +/- 80 m/s^2, 3200 LSB/(m/s^2) -- default, Decimation 8, 1475Hz - RegisterConfig(CTRL_ACC3, ACC3_26G) // +/- 260 m/s^2, 1600 LSB/(m/s^2) -- default - }; + RegisterConfig _registers[6]; + + uint32_t _sample_interval_us = 678; perf_counter_t _reset_perf{perf_alloc(PC_COUNT, MODULE_NAME": reset")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _perf_crc_bad{perf_counter_t(perf_alloc(PC_COUNT, MODULE_NAME": CRC8 bad"))}; - perf_counter_t _perf_frame_bad{perf_counter_t(perf_alloc(PC_COUNT, MODULE_NAME": Frame bad"))}; perf_counter_t _drdy_missed_perf{nullptr}; - + perf_counter_t _perf_general_error{perf_counter_t(perf_alloc(PC_COUNT, MODULE_NAME": general error"))}; + perf_counter_t _perf_command_error{perf_counter_t(perf_alloc(PC_COUNT, MODULE_NAME": command error"))}; + perf_counter_t _perf_saturation_error{perf_counter_t(perf_alloc(PC_COUNT, MODULE_NAME": saturation error"))}; + perf_counter_t _perf_doing_initialization{perf_counter_t(perf_alloc(PC_COUNT, MODULE_NAME": re-initializing"))}; + + DEFINE_PARAMETERS( + (ParamInt) _sch16t_gyro_filt, + (ParamInt) _sch16t_acc_filt, + (ParamInt) _sch16t_decim + ) }; diff --git a/src/drivers/imu/murata/sch16t/parameters.c b/src/drivers/imu/murata/sch16t/parameters.c index 205b2f020e08..85e6728f6461 100644 --- a/src/drivers/imu/murata/sch16t/parameters.c +++ b/src/drivers/imu/murata/sch16t/parameters.c @@ -42,3 +42,49 @@ * @value 1 Enabled */ PARAM_DEFINE_INT32(SENS_EN_SCH16T, 0); + +/** + * Gyro filter settings + * + * @value 0 13 Hz + * @value 1 30 Hz + * @value 2 68 Hz + * @value 3 235 Hz + * @value 4 280 Hz + * @value 5 370 Hz + * @value 6 No filter + * + * @reboot_required true + * + */ +PARAM_DEFINE_INT32(SCH16T_GYRO_FILT, 2); + +/** + * Accel filter settings + * + * @value 0 13 Hz + * @value 1 30 Hz + * @value 2 68 Hz + * @value 3 235 Hz + * @value 4 280 Hz + * @value 5 370 Hz + * @value 6 No filter + * + * @reboot_required true + * + */ +PARAM_DEFINE_INT32(SCH16T_ACC_FILT, 6); + +/** + * Gyro and Accel decimation settings + * + * @value 0 None + * @value 1 5900 Hz + * @value 2 2950 Hz + * @value 3 1475 Hz + * @value 4 738 Hz + * + * @reboot_required true + * + */ +PARAM_DEFINE_INT32(SCH16T_DECIM, 4); diff --git a/src/drivers/imu/murata/sch16t/sch16t_main.cpp b/src/drivers/imu/murata/sch16t/sch16t_main.cpp index a5ae892c9973..0f2341abd8b8 100644 --- a/src/drivers/imu/murata/sch16t/sch16t_main.cpp +++ b/src/drivers/imu/murata/sch16t/sch16t_main.cpp @@ -50,7 +50,7 @@ extern "C" int sch16t_main(int argc, char *argv[]) int ch; using ThisDriver = SCH16T; BusCLIArguments cli{false, true}; - cli.default_spi_frequency = SPI_SPEED; + cli.default_spi_frequency = 5000000; cli.spi_mode = SPIDEV_MODE0; while ((ch = cli.getOpt(argc, argv, "R:")) != EOF) { diff --git a/src/examples/fake_magnetometer/FakeMagnetometer.cpp b/src/examples/fake_magnetometer/FakeMagnetometer.cpp index 425c09f3a790..56878ec9855c 100644 --- a/src/examples/fake_magnetometer/FakeMagnetometer.cpp +++ b/src/examples/fake_magnetometer/FakeMagnetometer.cpp @@ -66,15 +66,12 @@ void FakeMagnetometer::Run() if (_vehicle_gps_position_sub.copy(&gps)) { if (gps.eph < 1000) { - const double lat = gps.latitude_deg; - const double lon = gps.longitude_deg; - // magnetic field data returned by the geo library using the current GPS position - const float mag_declination_gps = get_mag_declination_radians(lat, lon); - const float mag_inclination_gps = get_mag_inclination_radians(lat, lon); - const float mag_strength_gps = get_mag_strength_gauss(lat, lon); + const float declination_rad = math::radians(get_mag_declination_degrees(gps.latitude_deg, gps.longitude_deg)); + const float inclination_rad = math::radians(get_mag_inclination_degrees(gps.latitude_deg, gps.longitude_deg)); + const float field_strength_gauss = get_mag_strength_gauss(gps.latitude_deg, gps.longitude_deg); - _mag_earth_pred = Dcmf(Eulerf(0, -mag_inclination_gps, mag_declination_gps)) * Vector3f(mag_strength_gps, 0, 0); + _mag_earth_pred = Dcmf(Eulerf(0, -inclination_rad, declination_rad)) * Vector3f(field_strength_gauss, 0, 0); _mag_earth_available = true; } diff --git a/src/lib/battery/battery.cpp b/src/lib/battery/battery.cpp index f3a66fc0ed3c..21c4b906f367 100644 --- a/src/lib/battery/battery.cpp +++ b/src/lib/battery/battery.cpp @@ -305,19 +305,27 @@ void Battery::computeScale() float Battery::computeRemainingTime(float current_a) { float time_remaining_s = NAN; + bool reset_current_avg_filter = false; if (_vehicle_status_sub.updated()) { vehicle_status_s vehicle_status; if (_vehicle_status_sub.copy(&vehicle_status)) { _armed = (vehicle_status.arming_state == vehicle_status_s::ARMING_STATE_ARMED); + + if (vehicle_status.vehicle_type == vehicle_status_s::VEHICLE_TYPE_FIXED_WING && !_vehicle_status_is_fw) { + reset_current_avg_filter = true; + } + _vehicle_status_is_fw = (vehicle_status.vehicle_type == vehicle_status_s::VEHICLE_TYPE_FIXED_WING); } } _flight_phase_estimation_sub.update(); - if (!PX4_ISFINITE(_current_average_filter_a.getState()) || _current_average_filter_a.getState() < FLT_EPSILON) { + // reset filter if not feasible, negative or we did a VTOL transition to FW mode + if (!PX4_ISFINITE(_current_average_filter_a.getState()) || _current_average_filter_a.getState() < FLT_EPSILON + || reset_current_avg_filter) { _current_average_filter_a.reset(_params.bat_avrg_current); } diff --git a/src/lib/world_magnetic_model/fetch_noaa_table.py b/src/lib/world_magnetic_model/fetch_noaa_table.py index 8914506f91c9..83ff3dda1e06 100755 --- a/src/lib/world_magnetic_model/fetch_noaa_table.py +++ b/src/lib/world_magnetic_model/fetch_noaa_table.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 ############################################################################ # -# Copyright (c) 2020-2023 PX4 Development Team. All rights reserved. +# Copyright (c) 2020-2024 PX4 Development Team. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -33,6 +33,7 @@ ############################################################################ import math +import numpy import json import statistics import sys @@ -49,7 +50,7 @@ def constrain(n, nmin, nmax): header = """/**************************************************************************** * - * Copyright (c) 2020-2023 PX4 Development Team. All rights reserved. + * Copyright (c) 2020-2024 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -80,6 +81,9 @@ def constrain(n, nmin, nmax): * ****************************************************************************/ """ + +key=sys.argv[1] # NOAA key (https://www.ngdc.noaa.gov/geomag/CalcSurvey.shtml) + print(header) print('#include \n') @@ -97,188 +101,106 @@ def constrain(n, nmin, nmax): print('static constexpr int LON_DIM = {}'.format(LON_DIM) + ';') print('\n') -print('// *INDENT-OFF*') - -# Declination -params = urllib.parse.urlencode({'lat1': 0, 'lat2': 0, 'lon1': 0, 'lon2': 0, 'latStepSize': 1, 'lonStepSize': 1, 'magneticComponent': 'd', 'resultFormat': 'json'}) -key=sys.argv[1] # NOAA key (https://www.ngdc.noaa.gov/geomag/CalcSurvey.shtml) -f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?key=%s&%s" % (key, params)) -data = json.loads(f.read()) -print("// Magnetic declination data in radians * 10^-4") -print('// Model: {},'.format(data['model'])) -print('// Version: {},'.format(data['version'])) -print('// Date: {},'.format(data['result'][0]['date'])) -print('static constexpr const int16_t declination_table[{}][{}]'.format(LAT_DIM, LON_DIM) + " {") -print('\t// LONGITUDE: ', end='') -for l in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES): - print('{0:6d},'.format(l), end='') -print('') - -declination_min = float('inf') -declination_max = float('-inf') -declination_min_lat_lon = () -declination_max_lat_lon = () - -for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES): - params = urllib.parse.urlencode({'lat1': latitude, 'lat2': latitude, 'lon1': SAMPLING_MIN_LON, 'lon2': SAMPLING_MAX_LON, 'latStepSize': 1, 'lonStepSize': SAMPLING_RES, 'magneticComponent': 'd', 'resultFormat': 'json'}) - f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?key=%s&%s" % (key, params)) - data = json.loads(f.read()) - - latitude_blackout_zone = False - - print('\t/* LAT: {0:3d} */'.format(latitude) + ' { ', end='') - for p in data['result']: - declination_rad = math.radians(p['declination']) - - warning = False +print('// *INDENT-OFF*\n\n\n') - try: - if p['warning']: - warning = True - latitude_blackout_zone = True - #print("WARNING black out zone!", p) - except: - pass - # declination in radians * 10^-4 - declination_int = constrain(int(round(declination_rad * 10000)), 32767, -32768) - print('{0:6d},'.format(declination_int), end='') +# build the world magnetic model dictionary +world_magnitude_model = {} # lat/lon dictionary with grid result - if (declination_rad > declination_max): - declination_max = declination_rad - declination_max_lat_lon = (p['latitude'], p['longitude']) - - if (declination_rad < declination_min): - declination_min = declination_rad - declination_min_lat_lon = (p['latitude'], p['longitude']) - - if latitude_blackout_zone: - print(' }, // WARNING! black out zone') - else: - print(' },') - -print("};") - -print('static constexpr float WMM_DECLINATION_MIN_RAD = {:.3f}; // latitude: {:.0f}, longitude: {:.0f}'.format(declination_min, declination_min_lat_lon[0], declination_min_lat_lon[1])) -print('static constexpr float WMM_DECLINATION_MAX_RAD = {:.3f}; // latitude: {:.0f}, longitude: {:.0f}'.format(declination_max, declination_max_lat_lon[0], declination_max_lat_lon[1])) -print("\n") - - -# Inclination -params = urllib.parse.urlencode({'lat1': 0, 'lat2': 0, 'lon1': 0, 'lon2': 0, 'latStepSize': 1, 'lonStepSize': 1, 'magneticComponent': 'i', 'resultFormat': 'json'}) -f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?key=%s&%s" % (key, params)) +params = urllib.parse.urlencode({'lat1': 0, 'lon1': 0, 'resultFormat': 'json'}) +f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfwmm?key=%s&%s" % (key, params)) data = json.loads(f.read()) -print("// Magnetic inclination data in radians * 10^-4") -print('// Model: {},'.format(data['model'])) -print('// Version: {},'.format(data['version'])) -print('// Date: {},'.format(data['result'][0]['date'])) -print('static constexpr const int16_t inclination_table[{}][{}]'.format(LAT_DIM, LON_DIM) + " {") -print('\t// LONGITUDE: ', end='') -for l in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES): - print('{0:6d},'.format(l), end='') -print('') -inclination_min = float('inf') -inclination_max = float('-inf') -inclination_min_lat_lon = () -inclination_max_lat_lon = () +world_magnitude_model_units = data['units'] for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES): - params = urllib.parse.urlencode({'lat1': latitude, 'lat2': latitude, 'lon1': SAMPLING_MIN_LON, 'lon2': SAMPLING_MAX_LON, 'latStepSize': 1, 'lonStepSize': SAMPLING_RES, 'magneticComponent': 'i', 'resultFormat': 'json'}) - f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?key=%s&%s" % (key, params)) - data = json.loads(f.read()) + world_magnitude_model[latitude] = {} - latitude_blackout_zone = False + for longitude in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES): + params = urllib.parse.urlencode({'lat1': latitude, 'lon1': longitude, 'lon2': SAMPLING_MAX_LON, 'resultFormat': 'json'}) + f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfwmm?key=%s&%s" % (key, params)) + data = json.loads(f.read()) + #print(json.dumps(data, indent = 4)) # debugging - print('\t/* LAT: {0:3d} */'.format(latitude) + ' { ', end='') - for p in data['result']: - inclination_rad = math.radians(p['inclination']) + world_magnitude_model[latitude][longitude] = data['result'][0] + #print(world_magnitude_model[latitude][longitude]) - warning = False - try: - if p['warning']: - warning = True - latitude_blackout_zone = True - #print("WARNING black out zone!", p) +def print_wmm_table(key_name): - except: - pass + value_min = float('inf') + value_min_lat_lon = () - # inclination in radians * 10^-4 - inclination_int = constrain(int(round(inclination_rad * 10000)), 32767, -32768) - print('{0:6d},'.format(inclination_int), end='') + value_max = float('-inf') + value_max_lat_lon = () - if (inclination_rad > inclination_max): - inclination_max = inclination_rad - inclination_max_lat_lon = (p['latitude'], p['longitude']) + for latitude, lat_row in world_magnitude_model.items(): + #print(latitude, lat_row) + for longitude, result in lat_row.items(): + #print(result) - if (inclination_rad < inclination_min): - inclination_min = inclination_rad - inclination_min_lat_lon = (p['latitude'], p['longitude']) + value = float(result[key_name]) - if latitude_blackout_zone: - print(' }, // WARNING! black out zone') - else: - print(' },') + if (value > value_max): + value_max = value + value_max_lat_lon = (latitude, longitude) -print("};") + if (value < value_min): + value_min = value + value_min_lat_lon = (latitude, longitude) -print('static constexpr float WMM_INCLINATION_MIN_RAD = {:.3f}; // latitude: {:.0f}, longitude: {:.0f}'.format(inclination_min, inclination_min_lat_lon[0], inclination_min_lat_lon[1])) -print('static constexpr float WMM_INCLINATION_MAX_RAD = {:.3f}; // latitude: {:.0f}, longitude: {:.0f}'.format(inclination_max, inclination_max_lat_lon[0], inclination_max_lat_lon[1])) -print("\n") + # scale the values to fit into int16_t + value_scale_max = abs(numpy.iinfo(numpy.int16).max) / abs(value_max) + value_scale_min = abs(numpy.iinfo(numpy.int16).min) / abs(value_min) + value_scale = min(value_scale_max, value_scale_min) -# total intensity -params = urllib.parse.urlencode({'lat1': 0, 'lat2': 0, 'lon1': 0, 'lon2': 0, 'latStepSize': 1, 'lonStepSize': 1, 'magneticComponent': 'i', 'resultFormat': 'json'}) -f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?key=%s&%s" % (key, params)) -data = json.loads(f.read()) -print("// Magnetic strength data in milli-Gauss * 10") -print('// Model: {},'.format(data['model'])) -print('// Version: {},'.format(data['version'])) -print('// Date: {},'.format(data['result'][0]['date'])) -print('static constexpr const int16_t strength_table[{}][{}]'.format(LAT_DIM, LON_DIM) + " {") -print('\t// LONGITUDE: ', end='') -for l in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES): - print('{0:5d},'.format(l), end='') -print('') + units_str = world_magnitude_model_units[key_name].split(' ')[0] -strength_min = float('inf') -strength_max = 0 -strength_min_lat_lon = () -strength_max_lat_lon = () -strength_sum = 0 -strength_sum_count = 0 + # print the table + print('// Magnetic {} data in {:.4g} {}'.format(key_name, 1.0 / value_scale, units_str)) + print('// Model: {},'.format(data['model'])) + print('// Version: {},'.format(data['version'])) + print('// Date: {},'.format(data['result'][0]['date'])) + print('static constexpr const int16_t {}_table[{}][{}]'.format(key_name, LAT_DIM, LON_DIM) + " {") + print('\t// LONGITUDE: ', end='') + for l in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES): + print('{0:6d},'.format(l), end='') + print('') -strength_list = [] + for latitude, lat_row in world_magnitude_model.items(): + print('\t/* LAT: {0:3d} */'.format(latitude) + ' { ', end='') + latitude_blackout_zone = False -for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES): - params = urllib.parse.urlencode({'lat1': latitude, 'lat2': latitude, 'lon1': SAMPLING_MIN_LON, 'lon2': SAMPLING_MAX_LON, 'latStepSize': 1, 'lonStepSize': SAMPLING_RES, 'magneticComponent': 'f', 'resultFormat': 'json'}) - f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?key=%s&%s" % (key, params)) - data = json.loads(f.read()) + for longitude, result in lat_row.items(): + + value = float(result[key_name]) + + # value scaled to fit into int16_t + value_int = int(round(value * value_scale)) + print('{0:6d},'.format(value_int), end='') - print('\t/* LAT: {0:3d} */'.format(latitude) + ' { ', end='') - for p in data['result']: + # blackout warning at this latitude + try: + if result['warning']: + latitude_blackout_zone = True - strength_gauss = p['totalintensity'] * 1e-3 - strength_list.append(strength_gauss) + except: + pass - totalintensity_int = int(round(p['totalintensity']/10)) - print('{0:5d},'.format(totalintensity_int), end='') + if latitude_blackout_zone: + print(' }, // WARNING! black out zone') + else: + print(' },') - if (strength_gauss > strength_max): - strength_max = strength_gauss - strength_max_lat_lon = (p['latitude'], p['longitude']) + print("};") - if (strength_gauss < strength_min): - strength_min = strength_gauss - strength_min_lat_lon = (p['latitude'], p['longitude']) + print('static constexpr float WMM_{}_SCALE_TO_{} = {:.9g}f;'.format(key_name.upper(), units_str.upper(), 1.0 / value_scale)) + print('static constexpr float WMM_{}_MIN_{} = {:.1f}f; // latitude: {:.0f}, longitude: {:.0f}'.format(key_name.upper(), units_str.upper(), value_min, value_min_lat_lon[0], value_min_lat_lon[1])) + print('static constexpr float WMM_{}_MAX_{} = {:.1f}f; // latitude: {:.0f}, longitude: {:.0f}'.format(key_name.upper(), units_str.upper(), value_max, value_max_lat_lon[0], value_max_lat_lon[1])) + print("\n") - print(' },') -print("};") -print('static constexpr float WMM_STRENGTH_MIN_GS = {:.1f}; // latitude: {:.0f}, longitude: {:.0f}'.format(strength_min, strength_min_lat_lon[0], strength_min_lat_lon[1])) -print('static constexpr float WMM_STRENGTH_MAX_GS = {:.1f}; // latitude: {:.0f}, longitude: {:.0f}'.format(strength_max, strength_max_lat_lon[0], strength_max_lat_lon[1])) -print('static constexpr float WMM_STRENGTH_MEAN_GS = {:.1f};'.format(statistics.mean(strength_list))) -print('static constexpr float WMM_STRENGTH_MEDIAN_GS = {:.1f};'.format(statistics.median(strength_list))) -print("\n") +print_wmm_table('declination') +print_wmm_table('inclination') +print_wmm_table('totalintensity') diff --git a/src/lib/world_magnetic_model/generate_gtest.py b/src/lib/world_magnetic_model/generate_gtest.py index bcf204a49c26..966e56a4bd02 100755 --- a/src/lib/world_magnetic_model/generate_gtest.py +++ b/src/lib/world_magnetic_model/generate_gtest.py @@ -44,7 +44,7 @@ header = """/**************************************************************************** * - * Copyright (c) 2020-2023 PX4 Development Team. All rights reserved. + * Copyright (c) 2020-2024 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/src/lib/world_magnetic_model/geo_mag_declination.cpp b/src/lib/world_magnetic_model/geo_mag_declination.cpp index f40a77935004..64738426f501 100644 --- a/src/lib/world_magnetic_model/geo_mag_declination.cpp +++ b/src/lib/world_magnetic_model/geo_mag_declination.cpp @@ -66,21 +66,21 @@ static constexpr unsigned get_lookup_table_index(float *val, float min, float ma return static_cast((-(min) + *val) / SAMPLING_RES); } -static constexpr float get_table_data(float lat, float lon, const int16_t table[LAT_DIM][LON_DIM]) +static constexpr float get_table_data(float latitude_deg, float longitude_deg, const int16_t table[LAT_DIM][LON_DIM]) { - lat = math::constrain(lat, SAMPLING_MIN_LAT, SAMPLING_MAX_LAT); + latitude_deg = math::constrain(latitude_deg, SAMPLING_MIN_LAT, SAMPLING_MAX_LAT); - if (lon > SAMPLING_MAX_LON) { - lon -= 360; + if (longitude_deg > SAMPLING_MAX_LON) { + longitude_deg -= 360.f; } - if (lon < SAMPLING_MIN_LON) { - lon += 360; + if (longitude_deg < SAMPLING_MIN_LON) { + longitude_deg += 360.f; } /* round down to nearest sampling resolution */ - float min_lat = floorf(lat / SAMPLING_RES) * SAMPLING_RES; - float min_lon = floorf(lon / SAMPLING_RES) * SAMPLING_RES; + float min_lat = floorf(latitude_deg / SAMPLING_RES) * SAMPLING_RES; + float min_lon = floorf(longitude_deg / SAMPLING_RES) * SAMPLING_RES; /* find index of nearest low sampling point */ unsigned min_lat_index = get_lookup_table_index(&min_lat, SAMPLING_MIN_LAT, SAMPLING_MAX_LAT); @@ -92,8 +92,8 @@ static constexpr float get_table_data(float lat, float lon, const int16_t table[ const float data_nw = table[min_lat_index + 1][min_lon_index]; /* perform bilinear interpolation on the four grid corners */ - const float lat_scale = constrain((lat - min_lat) / SAMPLING_RES, 0.f, 1.f); - const float lon_scale = constrain((lon - min_lon) / SAMPLING_RES, 0.f, 1.f); + const float lat_scale = constrain((latitude_deg - min_lat) / SAMPLING_RES, 0.f, 1.f); + const float lon_scale = constrain((longitude_deg - min_lon) / SAMPLING_RES, 0.f, 1.f); const float data_min = lon_scale * (data_se - data_sw) + data_sw; const float data_max = lon_scale * (data_ne - data_nw) + data_nw; @@ -101,32 +101,27 @@ static constexpr float get_table_data(float lat, float lon, const int16_t table[ return lat_scale * (data_max - data_min) + data_min; } -float get_mag_declination_radians(float lat, float lon) +float get_mag_declination_degrees(float latitude_deg, float longitude_deg) { - return get_table_data(lat, lon, declination_table) * 1e-4f; // declination table stored as 10^-4 radians + // table stored as scaled degrees + return get_table_data(latitude_deg, longitude_deg, declination_table) * WMM_DECLINATION_SCALE_TO_DEGREES; } -float get_mag_declination_degrees(float lat, float lon) +float get_mag_inclination_degrees(float latitude_deg, float longitude_deg) { - return math::degrees(get_mag_declination_radians(lat, lon)); + // table stored as scaled degrees + return get_table_data(latitude_deg, longitude_deg, inclination_table) * WMM_INCLINATION_SCALE_TO_DEGREES; } -float get_mag_inclination_radians(float lat, float lon) +float get_mag_strength_gauss(float latitude_deg, float longitude_deg) { - return get_table_data(lat, lon, inclination_table) * 1e-4f; // inclination table stored as 10^-4 radians + // 1 Gauss = 1e4 Tesla + return get_mag_strength_tesla(latitude_deg, longitude_deg) * 1e4f; } -float get_mag_inclination_degrees(float lat, float lon) +float get_mag_strength_tesla(float latitude_deg, float longitude_deg) { - return math::degrees(get_mag_inclination_radians(lat, lon)); -} - -float get_mag_strength_gauss(float lat, float lon) -{ - return get_table_data(lat, lon, strength_table) * 1e-4f; // strength table table stored as milli-Gauss * 10 -} - -float get_mag_strength_tesla(float lat, float lon) -{ - return get_mag_strength_gauss(lat, lon) * 1e-4f; // 1 Gauss == 0.0001 Tesla + // table stored as scaled nanotesla + return get_table_data(latitude_deg, longitude_deg, totalintensity_table) + * WMM_TOTALINTENSITY_SCALE_TO_NANOTESLA * 1e-9f; } diff --git a/src/lib/world_magnetic_model/geo_mag_declination.h b/src/lib/world_magnetic_model/geo_mag_declination.h index 790f3b353a07..7e6f34670663 100644 --- a/src/lib/world_magnetic_model/geo_mag_declination.h +++ b/src/lib/world_magnetic_model/geo_mag_declination.h @@ -41,14 +41,12 @@ #pragma once -// Return magnetic declination in degrees or radians -float get_mag_declination_degrees(float lat, float lon); -float get_mag_declination_radians(float lat, float lon); +// Return magnetic declination in degrees +float get_mag_declination_degrees(float latitude_deg, float longitude_deg); -// Return magnetic field inclination in degrees or radians -float get_mag_inclination_degrees(float lat, float lon); -float get_mag_inclination_radians(float lat, float lon); +// Return magnetic field inclination in degrees +float get_mag_inclination_degrees(float latitude_deg, float longitude_deg); // return magnetic field strength in Gauss or Tesla -float get_mag_strength_gauss(float lat, float lon); -float get_mag_strength_tesla(float lat, float lon); +float get_mag_strength_gauss(float latitude_deg, float longitude_deg); +float get_mag_strength_tesla(float latitude_deg, float longitude_deg); diff --git a/src/lib/world_magnetic_model/geo_magnetic_tables.hpp b/src/lib/world_magnetic_model/geo_magnetic_tables.hpp index 3a1268ae400e..cba035c0e2f4 100644 --- a/src/lib/world_magnetic_model/geo_magnetic_tables.hpp +++ b/src/lib/world_magnetic_model/geo_magnetic_tables.hpp @@ -1,6 +1,6 @@ /**************************************************************************** * - * Copyright (c) 2020-2023 PX4 Development Team. All rights reserved. + * Copyright (c) 2020-2024 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -44,95 +44,99 @@ static constexpr int LON_DIM = 37; // *INDENT-OFF* -// Magnetic declination data in radians * 10^-4 + + + +// Magnetic declination data in 0.005451 degrees // Model: WMM-2020, // Version: 0.5.1.11, -// Date: 2024.0684, +// Date: 2024.41257, static constexpr const int16_t declination_table[19][37] { // LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, - /* LAT: -90 */ { 25949, 24204, 22458, 20713, 18968, 17222, 15477, 13732, 11986, 10241, 8496, 6750, 5005, 3260, 1514, -231, -1976, -3722, -5467, -7212, -8958,-10703,-12448,-14194,-15939,-17684,-19430,-21175,-22920,-24666,-26411,-28156,-29902, 31185, 29440, 27694, 25949, }, - /* LAT: -80 */ { 22511, 20385, 18448, 16677, 15039, 13502, 12039, 10628, 9254, 7905, 6573, 5255, 3947, 2642, 1334, 13, -1329, -2704, -4116, -5571, -7068, -8608,-10188,-11810,-13476,-15197,-16985,-18860,-20845,-22966,-25242,-27677,-30245, 29950, 27336, 24836, 22511, }, - /* LAT: -70 */ { 14988, 13587, 12457, 11491, 10618, 9783, 8939, 8049, 7095, 6075, 5005, 3913, 2830, 1777, 757, -252, -1291, -2401, -3608, -4915, -6302, -7737, -9189,-10634,-12063,-13481,-14912,-16402,-18033,-19960,-22502,-26331, 30582, 24088, 19617, 16858, 14988, }, // WARNING! black out zone - /* LAT: -60 */ { 8460, 8207, 7918, 7636, 7376, 7117, 6803, 6366, 5747, 4924, 3920, 2809, 1692, 671, -201, -952, -1680, -2508, -3524, -4735, -6077, -7455, -8781, -9992,-11055,-11951,-12664,-13158,-13330,-12882,-10766, -3382, 5057, 7748, 8493, 8605, 8460, }, // WARNING! black out zone - /* LAT: -50 */ { 5516, 5549, 5488, 5392, 5313, 5271, 5232, 5100, 4751, 4082, 3066, 1790, 453, -715, -1568, -2116, -2503, -2947, -3651, -4691, -5957, -7246, -8389, -9286, -9875,-10102, -9893, -9123, -7602, -5231, -2320, 430, 2541, 3966, 4841, 5314, 5516, }, - /* LAT: -40 */ { 3977, 4068, 4072, 4021, 3956, 3918, 3919, 3905, 3727, 3185, 2151, 702, -859, -2158, -2999, -3428, -3594, -3645, -3829, -4438, -5452, -6544, -7426, -7951, -8039, -7639, -6731, -5338, -3632, -1939, -487, 732, 1779, 2650, 3311, 3745, 3977, }, - /* LAT: -30 */ { 3003, 3088, 3113, 3092, 3028, 2945, 2881, 2845, 2716, 2229, 1178, -353, -1958, -3193, -3909, -4234, -4292, -4059, -3621, -3439, -3855, -4626, -5316, -5645, -5497, -4889, -3917, -2714, -1520, -590, 79, 677, 1305, 1916, 2433, 2801, 3003, }, - /* LAT: -20 */ { 2360, 2404, 2416, 2410, 2361, 2262, 2149, 2071, 1924, 1420, 347, -1155, -2629, -3669, -4175, -4268, -4043, -3462, -2592, -1820, -1589, -1975, -2627, -3080, -3097, -2722, -2080, -1269, -508, -33, 221, 519, 966, 1455, 1887, 2202, 2360, }, - /* LAT: -10 */ { 1966, 1959, 1931, 1919, 1885, 1794, 1677, 1582, 1396, 839, -238, -1623, -2888, -3693, -3930, -3676, -3084, -2295, -1450, -709, -266, -325, -809, -1310, -1509, -1409, -1091, -597, -111, 118, 156, 311, 689, 1139, 1545, 1841, 1966, }, - /* LAT: 0 */ { 1752, 1717, 1655, 1639, 1621, 1545, 1432, 1311, 1055, 430, -618, -1847, -2888, -3450, -3420, -2898, -2123, -1344, -699, -169, 235, 331, 37, -380, -627, -679, -580, -323, -41, 38, -35, 49, 397, 854, 1287, 1617, 1752, }, - /* LAT: 10 */ { 1612, 1619, 1571, 1581, 1601, 1545, 1414, 1220, 842, 124, -899, -1971, -2783, -3100, -2872, -2252, -1473, -767, -260, 116, 438, 577, 403, 80, -149, -257, -285, -210, -113, -163, -313, -290, 19, 487, 979, 1396, 1612, }, - /* LAT: 20 */ { 1419, 1567, 1624, 1712, 1794, 1768, 1605, 1296, 751, -104, -1144, -2086, -2666, -2757, -2413, -1803, -1092, -447, 5, 310, 566, 706, 607, 362, 166, 46, -53, -127, -214, -411, -655, -715, -474, -16, 534, 1059, 1419, }, - /* LAT: 30 */ { 1105, 1471, 1730, 1952, 2110, 2117, 1924, 1498, 769, -255, -1364, -2227, -2625, -2550, -2143, -1560, -904, -289, 167, 468, 696, 837, 810, 660, 512, 385, 219, -5, -297, -677, -1049, -1207, -1042, -608, -27, 584, 1105, }, - /* LAT: 40 */ { 732, 1317, 1812, 2206, 2456, 2499, 2283, 1748, 839, -380, -1603, -2452, -2759, -2599, -2149, -1556, -902, -275, 231, 591, 857, 1050, 1137, 1123, 1047, 895, 615, 189, -362, -974, -1493, -1732, -1610, -1189, -591, 77, 732, }, - /* LAT: 50 */ { 425, 1168, 1851, 2413, 2785, 2895, 2669, 2019, 887, -593, -1994, -2892, -3177, -2982, -2491, -1845, -1135, -440, 172, 674, 1088, 1437, 1711, 1876, 1891, 1695, 1235, 507, -401, -1306, -1977, -2253, -2123, -1682, -1054, -331, 425, }, - /* LAT: 60 */ { 203, 1050, 1857, 2558, 3072, 3295, 3093, 2299, 813, -1110, -2799, -3769, -4020, -3763, -3195, -2453, -1630, -793, 11, 759, 1447, 2073, 2610, 2999, 3148, 2946, 2284, 1141, -289, -1606, -2460, -2757, -2588, -2101, -1421, -635, 203, }, - /* LAT: 70 */ { -80, 847, 1743, 2546, 3170, 3479, 3255, 2178, 39, -2583, -4513, -5355, -5387, -4922, -4167, -3243, -2226, -1167, -98, 958, 1979, 2941, 3805, 4505, 4941, 4955, 4314, 2796, 566, -1545, -2828, -3261, -3103, -2582, -1848, -994, -80, }, // WARNING! black out zone - /* LAT: 80 */ { -944, -26, 822, 1513, 1909, 1772, 716, -1590, -4521, -6612, -7444, -7396, -6828, -5954, -4893, -3716, -2466, -1173, 144, 1465, 2775, 4055, 5282, 6422, 7420, 8182, 8523, 8052, 6011, 1989, -1732, -3421, -3747, -3398, -2713, -1863, -944, }, // WARNING! black out zone - /* LAT: 90 */ { -29255,-27510,-25765,-24019,-22274,-20529,-18783,-17038,-15293,-13547,-11802,-10057, -8311, -6566, -4821, -3075, -1330, 415, 2161, 3906, 5651, 7397, 9142, 10887, 12633, 14378, 16123, 17869, 19614, 21359, 23105, 24850, 26595, 28341, 30086,-31001,-29255, }, // WARNING! black out zone + /* LAT: -90 */ { 27264, 25429, 23595, 21761, 19926, 18092, 16258, 14423, 12589, 10754, 8920, 7086, 5251, 3417, 1583, -252, -2086, -3921, -5755, -7589, -9424,-11258,-13092,-14927,-16761,-18596,-20430,-22264,-24099,-25933,-27768,-29602,-31436, 32767, 30933, 29098, 27264, }, + /* LAT: -80 */ { 23650, 21416, 19382, 17521, 15799, 14184, 12647, 11165, 9721, 8303, 6904, 5519, 4143, 2772, 1397, 9, -1403, -2848, -4333, -5863, -7437, -9056,-10718,-12423,-14175,-15984,-17864,-19835,-21922,-24152,-26545,-29105,-31803, 31464, 28718, 26092, 23650, }, + /* LAT: -70 */ { 15755, 14282, 13094, 12077, 11159, 10281, 9392, 8457, 7454, 6381, 5257, 4109, 2971, 1865, 794, -267, -1359, -2527, -3797, -5172, -6632, -8142, -9669,-11188,-12690,-14181,-15686,-17253,-18969,-20997,-23675,-27707, 32110, 25303, 20617, 17720, 15755, }, // WARNING! black out zone + /* LAT: -60 */ { 8903, 8634, 8328, 8030, 7755, 7481, 7150, 6689, 6037, 5171, 4116, 2948, 1775, 704, -211, -998, -1763, -2635, -3706, -4982, -6396, -7846, -9240,-10513,-11630,-12572,-13320,-13839,-14019,-13549,-11322, -3523, 5353, 8167, 8943, 9057, 8903, }, // WARNING! black out zone + /* LAT: -50 */ { 5806, 5839, 5774, 5672, 5587, 5541, 5499, 5359, 4991, 4286, 3216, 1875, 470, -754, -1647, -2218, -2623, -3091, -3835, -4934, -6270, -7627, -8830, -9771,-10388,-10623,-10400, -9587, -7986, -5492, -2431, 460, 2679, 4178, 5097, 5594, 5806, }, + /* LAT: -40 */ { 4186, 4282, 4284, 4229, 4159, 4118, 4119, 4103, 3914, 3342, 2253, 728, -912, -2273, -3151, -3597, -3767, -3819, -4016, -4665, -5740, -6891, -7817, -8365, -8453, -8028, -7069, -5603, -3811, -2034, -509, 772, 1872, 2790, 3486, 3942, 4186, }, + /* LAT: -30 */ { 3161, 3250, 3275, 3251, 3182, 3094, 3026, 2988, 2851, 2337, 1229, -384, -2070, -3364, -4111, -4446, -4503, -4252, -3790, -3609, -4059, -4874, -5597, -5938, -5777, -5133, -4109, -2845, -1594, -619, 83, 710, 1372, 2016, 2561, 2948, 3161, }, + /* LAT: -20 */ { 2485, 2532, 2542, 2534, 2481, 2375, 2255, 2172, 2018, 1486, 353, -1228, -2777, -3865, -4390, -4481, -4240, -3623, -2707, -1902, -1669, -2082, -2768, -3241, -3254, -2856, -2179, -1328, -531, -35, 229, 542, 1013, 1529, 1985, 2318, 2485, }, + /* LAT: -10 */ { 2072, 2064, 2032, 2018, 1980, 1883, 1758, 1657, 1461, 874, -261, -1719, -3046, -3887, -4129, -3855, -3229, -2397, -1510, -734, -274, -342, -854, -1379, -1586, -1478, -1143, -624, -116, 121, 159, 321, 720, 1197, 1625, 1939, 2072, }, + /* LAT: 0 */ { 1847, 1810, 1742, 1723, 1703, 1621, 1500, 1371, 1102, 444, -660, -1952, -3043, -3628, -3589, -3035, -2219, -1401, -724, -169, 254, 350, 38, -401, -658, -711, -608, -338, -43, 36, -42, 45, 413, 896, 1354, 1703, 1847, }, + /* LAT: 10 */ { 1699, 1705, 1653, 1662, 1681, 1620, 1480, 1275, 878, 122, -954, -2080, -2929, -3256, -3012, -2356, -1536, -796, -265, 129, 466, 610, 425, 85, -155, -268, -299, -222, -121, -175, -335, -312, 14, 509, 1030, 1470, 1699, }, + /* LAT: 20 */ { 1494, 1649, 1708, 1799, 1884, 1855, 1681, 1355, 781, -117, -1209, -2197, -2803, -2893, -2528, -1885, -1137, -461, 13, 332, 601, 746, 640, 383, 178, 51, -55, -135, -228, -437, -694, -758, -503, -19, 561, 1114, 1494, }, + /* LAT: 30 */ { 1160, 1544, 1816, 2050, 2215, 2221, 2017, 1567, 802, -275, -1438, -2341, -2756, -2673, -2242, -1629, -939, -294, 184, 499, 738, 885, 855, 696, 542, 408, 230, -8, -317, -718, -1109, -1275, -1099, -642, -30, 613, 1160, }, + /* LAT: 40 */ { 765, 1379, 1900, 2314, 2577, 2622, 2393, 1831, 876, -403, -1685, -2574, -2892, -2722, -2248, -1623, -936, -278, 252, 629, 908, 1109, 1199, 1184, 1104, 944, 647, 195, -387, -1030, -1576, -1826, -1696, -1253, -625, 77, 765, }, + /* LAT: 50 */ { 437, 1218, 1936, 2528, 2919, 3036, 2799, 2116, 928, -623, -2091, -3030, -3327, -3121, -2604, -1925, -1180, -449, 193, 719, 1153, 1519, 1805, 1977, 1991, 1784, 1297, 527, -430, -1381, -2085, -2373, -2234, -1771, -1112, -355, 437, }, + /* LAT: 60 */ { 198, 1087, 1936, 2674, 3216, 3452, 3243, 2411, 855, -1158, -2926, -3941, -4206, -3936, -3339, -2560, -1696, -817, 27, 812, 1534, 2191, 2754, 3160, 3315, 3098, 2397, 1190, -317, -1699, -2593, -2902, -2725, -2214, -1502, -680, 198, }, + /* LAT: 70 */ { -111, 863, 1803, 2648, 3305, 3634, 3405, 2285, 58, -2678, -4700, -5589, -5627, -5143, -4352, -3383, -2317, -1205, -83, 1026, 2098, 3108, 4014, 4748, 5204, 5214, 4533, 2927, 575, -1644, -2988, -3441, -3276, -2730, -1962, -1068, -111, }, // WARNING! black out zone + /* LAT: 80 */ { -1054, -90, 801, 1527, 1946, 1812, 731, -1632, -4654, -6842, -7732, -7698, -7114, -6204, -5096, -3864, -2554, -1197, 184, 1572, 2947, 4292, 5581, 6779, 7828, 8630, 8988, 8486, 6313, 2026, -1910, -3677, -4009, -3636, -2914, -2019, -1054, }, // WARNING! black out zone + /* LAT: 90 */ { -30607,-28773,-26938,-25104,-23269,-21435,-19601,-17766,-15932,-14097,-12263,-10429, -8594, -6760, -4926, -3091, -1257, 578, 2412, 4246, 6081, 7915, 9749, 11584, 13418, 15253, 17087, 18921, 20756, 22590, 24424, 26259, 28093, 29928, 31762,-32441,-30607, }, // WARNING! black out zone }; -static constexpr float WMM_DECLINATION_MIN_RAD = -3.100; // latitude: 90, longitude: 170 -static constexpr float WMM_DECLINATION_MAX_RAD = 3.118; // latitude: -90, longitude: 150 +static constexpr float WMM_DECLINATION_SCALE_TO_DEGREES = 0.00545143529f; +static constexpr float WMM_DECLINATION_MIN_DEGREES = -176.9f; // latitude: 90, longitude: 170 +static constexpr float WMM_DECLINATION_MAX_DEGREES = 178.6f; // latitude: -90, longitude: 150 -// Magnetic inclination data in radians * 10^-4 +// Magnetic inclination data in 0.002699 degrees // Model: WMM-2020, // Version: 0.5.1.11, -// Date: 2024.0684, +// Date: 2024.41257, static constexpr const int16_t inclination_table[19][37] { // LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, - /* LAT: -90 */ { -12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562,-12562, }, - /* LAT: -80 */ { -13644,-13510,-13349,-13169,-12975,-12774,-12571,-12371,-12181,-12005,-11849,-11715,-11605,-11519,-11455,-11414,-11394,-11396,-11423,-11477,-11561,-11676,-11821,-11995,-12194,-12412,-12641,-12874,-13102,-13314,-13500,-13649,-13752,-13802,-13798,-13743,-13644, }, - /* LAT: -70 */ { -14091,-13772,-13453,-13130,-12799,-12455,-12102,-11746,-11404,-11097,-10846,-10664,-10553,-10501,-10487,-10488,-10492,-10499,-10521,-10576,-10685,-10861,-11110,-11427,-11802,-12221,-12670,-13135,-13601,-14053,-14469,-14811,-14995,-14937,-14705,-14407,-14091, }, // WARNING! black out zone - /* LAT: -60 */ { -13509,-13155,-12816,-12483,-12140,-11768,-11353,-10900,-10434,-10006, -9680, -9510, -9511, -9650, -9853,-10040,-10158,-10193,-10174,-10157,-10205,-10369,-10664,-11078,-11581,-12140,-12727,-13324,-13913,-14474,-14971,-15259,-15076,-14687,-14279,-13884,-13509, }, // WARNING! black out zone - /* LAT: -50 */ { -12492,-12148,-11816,-11493,-11170,-10823,-10425, -9954, -9426, -8909, -8526, -8410, -8620, -9086, -9648,-10152,-10499,-10648,-10604,-10443,-10301,-10315,-10547,-10974,-11522,-12117,-12703,-13240,-13683,-13979,-14086,-14012,-13807,-13523,-13193,-12844,-12492, }, - /* LAT: -40 */ { -11239,-10888,-10538,-10191, -9852, -9514, -9155, -8732, -8213, -7652, -7235, -7210, -7686, -8518, -9438,-10259,-10906,-11324,-11443,-11256,-10906,-10641,-10650,-10946,-11416,-11922,-12363,-12679,-12833,-12837,-12748,-12613,-12435,-12204,-11917,-11588,-11239, }, - /* LAT: -30 */ { -9603, -9218, -8834, -8442, -8050, -7677, -7323, -6936, -6425, -5817, -5378, -5486, -6282, -7498, -8746, -9831,-10733,-11426,-11801,-11765,-11376,-10868,-10548,-10564,-10824,-11146,-11397,-11501,-11434,-11258,-11088,-10959,-10818,-10614,-10333, -9985, -9603, }, - /* LAT: -20 */ { -7374, -6924, -6499, -6068, -5624, -5196, -4810, -4404, -3842, -3160, -2729, -3025, -4173, -5803, -7426, -8778, -9823,-10578,-10993,-11002,-10618, -9994, -9442, -9212, -9270, -9434, -9570, -9580, -9403, -9133, -8945, -8869, -8775, -8573, -8256, -7840, -7374, }, - /* LAT: -10 */ { -4420, -3869, -3405, -2963, -2506, -2057, -1649, -1205, -588, 107, 447, -20, -1391, -3330, -5297, -6877, -7942, -8550, -8793, -8710, -8280, -7581, -6919, -6585, -6553, -6646, -6760, -6778, -6587, -6293, -6148, -6175, -6151, -5943, -5559, -5026, -4420, }, - /* LAT: 0 */ { -913, -272, 205, 613, 1033, 1448, 1832, 2262, 2833, 3397, 3578, 3047, 1712, -222, -2259, -3876, -4847, -5247, -5286, -5101, -4641, -3909, -3204, -2843, -2786, -2852, -2974, -3044, -2913, -2681, -2639, -2805, -2890, -2713, -2288, -1650, -913, }, - /* LAT: 10 */ { 2555, 3197, 3642, 3988, 4344, 4710, 5056, 5430, 5867, 6224, 6243, 5728, 4617, 3031, 1345, -3, -774, -994, -886, -639, -213, 438, 1072, 1402, 1466, 1428, 1331, 1240, 1281, 1380, 1291, 1002, 789, 851, 1205, 1815, 2555, }, - /* LAT: 20 */ { 5412, 5951, 6338, 6637, 6951, 7293, 7631, 7968, 8290, 8479, 8378, 7898, 7045, 5939, 4818, 3927, 3420, 3323, 3486, 3737, 4077, 4551, 5012, 5264, 5324, 5314, 5270, 5211, 5196, 5172, 4987, 4639, 4326, 4229, 4402, 4831, 5412, }, - /* LAT: 30 */ { 7567, 7945, 8266, 8551, 8860, 9206, 9559, 9893, 10162, 10266, 10112, 9680, 9044, 8331, 7675, 7174, 6895, 6867, 7019, 7236, 7488, 7793, 8083, 8256, 8315, 8334, 8340, 8330, 8304, 8215, 7986, 7624, 7260, 7036, 7020, 7218, 7567, }, - /* LAT: 40 */ { 9266, 9488, 9744, 10030, 10356, 10715, 11080, 11414, 11660, 11735, 11580, 11216, 10741, 10270, 9878, 9601, 9460, 9464, 9581, 9747, 9926, 10114, 10287, 10412, 10492, 10556, 10614, 10648, 10628, 10512, 10265, 9909, 9538, 9251, 9108, 9122, 9266, }, - /* LAT: 50 */ { 10802, 10922, 11123, 11391, 11713, 12065, 12416, 12729, 12947, 13002, 12861, 12563, 12200, 11857, 11585, 11403, 11315, 11317, 11388, 11494, 11611, 11729, 11847, 11964, 12083, 12208, 12324, 12396, 12383, 12253, 12003, 11672, 11331, 11046, 10857, 10777, 10802, }, - /* LAT: 60 */ { 12320, 12390, 12538, 12754, 13021, 13319, 13619, 13883, 14057, 14084, 13950, 13702, 13416, 13147, 12929, 12775, 12687, 12659, 12678, 12728, 12798, 12885, 12993, 13127, 13288, 13465, 13630, 13737, 13739, 13614, 13387, 13107, 12829, 12593, 12423, 12331, 12320, }, - /* LAT: 70 */ { 13757, 13796, 13888, 14027, 14204, 14404, 14610, 14790, 14895, 14879, 14747, 14549, 14334, 14132, 13960, 13826, 13734, 13680, 13663, 13677, 13720, 13794, 13899, 14037, 14205, 14393, 14577, 14716, 14759, 14683, 14520, 14321, 14127, 13963, 13842, 13772, 13757, }, // WARNING! black out zone - /* LAT: 80 */ { 14991, 15001, 15036, 15092, 15166, 15249, 15325, 15371, 15359, 15287, 15180, 15059, 14938, 14826, 14727, 14646, 14584, 14544, 14526, 14531, 14558, 14608, 14680, 14774, 14886, 15014, 15150, 15283, 15390, 15432, 15389, 15299, 15201, 15115, 15049, 15007, 14991, }, // WARNING! black out zone - /* LAT: 90 */ { 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, 15400, }, // WARNING! black out zone + /* LAT: -90 */ { -26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663,-26663, }, + /* LAT: -80 */ { -28959,-28675,-28333,-27951,-27540,-27113,-26682,-26258,-25854,-25482,-25150,-24867,-24633,-24450,-24315,-24226,-24183,-24188,-24245,-24361,-24539,-24783,-25092,-25462,-25884,-26346,-26833,-27328,-27812,-28262,-28656,-28973,-29191,-29297,-29287,-29170,-28959, }, + /* LAT: -70 */ { -29906,-29230,-28552,-27867,-27164,-26436,-25685,-24930,-24205,-23555,-23023,-22638,-22403,-22293,-22261,-22264,-22272,-22285,-22330,-22447,-22678,-23053,-23582,-24256,-25053,-25944,-26898,-27885,-28874,-29833,-30717,-31441,-31829,-31704,-31211,-30578,-29906, }, // WARNING! black out zone + /* LAT: -60 */ { -28675,-27922,-27202,-26495,-25766,-24977,-24097,-23135,-22147,-21240,-20551,-20191,-20196,-20492,-20922,-21317,-21564,-21635,-21592,-21554,-21657,-22006,-22635,-23517,-24587,-25775,-27023,-28290,-29540,-30732,-31788,-32398,-32004,-31178,-30310,-29471,-28675, }, // WARNING! black out zone + /* LAT: -50 */ { -26518,-25787,-25081,-24395,-23709,-22973,-22127,-21129,-20009,-18913,-18103,-17862,-18313,-19305,-20497,-21563,-22295,-22602,-22503,-22157,-21856,-21888,-22387,-23298,-24466,-25730,-26974,-28112,-29052,-29680,-29904,-29747,-29313,-28709,-28008,-27265,-26518, }, + /* LAT: -40 */ { -23859,-23111,-22367,-21631,-20911,-20195,-19433,-18535,-17434,-16245,-15366,-15320,-16340,-18110,-20062,-21801,-23168,-24048,-24290,-23883,-23136,-22578,-22605,-23240,-24242,-25316,-26251,-26918,-27243,-27250,-27062,-26776,-26401,-25910,-25300,-24601,-23859, }, + /* LAT: -30 */ { -20386,-19567,-18750,-17917,-17085,-16293,-15544,-14724,-13640,-12351,-11424,-11666,-13370,-15956,-18605,-20904,-22812,-24277,-25061,-24972,-24136,-23057,-22385,-22426,-22983,-23667,-24196,-24414,-24269,-23896,-23536,-23265,-22968,-22536,-21939,-21200,-20386, }, + /* LAT: -20 */ { -15655,-14695,-13789,-12872,-11930,-11023,-10206, -9346, -8156, -6711, -5803, -6449, -8904,-12373,-15815,-18676,-20887,-22480,-23348,-23356,-22530,-21203,-20034,-19551,-19678,-20026,-20313,-20331,-19954,-19380,-18986,-18828,-18633,-18206,-17535,-16650,-15655, }, + /* LAT: -10 */ { -9385, -8209, -7218, -6278, -5306, -4355, -3491, -2554, -1249, 222, 935, -75, -3005, -7132,-11304,-14645,-16891,-18169,-18676,-18490,-17568,-16077,-14672,-13969,-13905,-14103,-14342,-14377,-13970,-13348,-13045,-13109,-13066,-12627,-11813,-10677, -9385, }, + /* LAT: 0 */ { -1941, -572, 447, 1316, 2208, 3089, 3901, 4808, 6012, 7204, 7577, 6434, 3584, -534, -4855, -8273,-10317,-11152,-11228,-10827, -9842, -8280, -6784, -6023, -5903, -6042, -6299, -6446, -6167, -5676, -5592, -5955, -6145, -5775, -4872, -3514, -1941, }, + /* LAT: 10 */ { 5421, 6791, 7742, 8478, 9236, 10013, 10743, 11532, 12453, 13205, 13235, 12131, 9759, 6384, 2805, -45, -1666, -2121, -1883, -1354, -444, 946, 2291, 2989, 3125, 3048, 2844, 2651, 2737, 2945, 2751, 2128, 1664, 1792, 2543, 3843, 5421, }, + /* LAT: 20 */ { 11488, 12637, 13462, 14098, 14766, 15492, 16206, 16917, 17594, 17991, 17771, 16744, 14925, 12573, 10194, 8309, 7245, 7046, 7400, 7937, 8662, 9672, 10651, 11186, 11314, 11296, 11203, 11079, 11045, 10991, 10595, 9848, 9176, 8967, 9335, 10249, 11488, }, + /* LAT: 30 */ { 16064, 16869, 17552, 18157, 18813, 19547, 20295, 21001, 21567, 21785, 21452, 20532, 19178, 17663, 16272, 15213, 14627, 14573, 14900, 15364, 15901, 16550, 17167, 17534, 17662, 17704, 17719, 17697, 17639, 17449, 16959, 16185, 15409, 14931, 14899, 15320, 16064, }, + /* LAT: 40 */ { 19670, 20142, 20688, 21294, 21986, 22747, 23519, 24226, 24746, 24903, 24570, 23795, 22787, 21787, 20958, 20373, 20075, 20088, 20340, 20695, 21077, 21477, 21845, 22111, 22280, 22419, 22544, 22615, 22571, 22323, 21795, 21038, 20247, 19638, 19335, 19364, 19670, }, + /* LAT: 50 */ { 22933, 23187, 23612, 24182, 24864, 25609, 26354, 27016, 27477, 27593, 27291, 26658, 25888, 25162, 24586, 24201, 24016, 24023, 24176, 24404, 24654, 24906, 25156, 25404, 25658, 25925, 26171, 26324, 26295, 26017, 25483, 24780, 24056, 23451, 23049, 22878, 22933, }, + /* LAT: 60 */ { 26155, 26303, 26615, 27072, 27639, 28270, 28905, 29465, 29833, 29890, 29605, 29081, 28474, 27904, 27442, 27117, 26932, 26874, 26915, 27023, 27173, 27359, 27588, 27873, 28215, 28592, 28943, 29169, 29170, 28904, 28420, 27827, 27237, 26736, 26376, 26179, 26155, }, + /* LAT: 70 */ { 29204, 29286, 29480, 29773, 30146, 30572, 31008, 31388, 31612, 31580, 31301, 30883, 30427, 29998, 29634, 29351, 29155, 29043, 29006, 29037, 29130, 29287, 29511, 29805, 30163, 30562, 30953, 31246, 31335, 31173, 30826, 30404, 29992, 29643, 29386, 29237, 29204, }, // WARNING! black out zone + /* LAT: 80 */ { 31820, 31841, 31914, 32033, 32188, 32362, 32524, 32622, 32598, 32449, 32224, 31969, 31713, 31474, 31265, 31093, 30963, 30878, 30840, 30850, 30908, 31015, 31169, 31368, 31607, 31878, 32167, 32450, 32679, 32767, 32672, 32479, 32271, 32087, 31945, 31855, 31820, }, // WARNING! black out zone + /* LAT: 90 */ { 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, 32694, }, // WARNING! black out zone }; -static constexpr float WMM_INCLINATION_MIN_RAD = -1.526; // latitude: -60, longitude: 130 -static constexpr float WMM_INCLINATION_MAX_RAD = 1.543; // latitude: 80, longitude: 110 +static constexpr float WMM_INCLINATION_SCALE_TO_DEGREES = 0.00269892697f; +static constexpr float WMM_INCLINATION_MIN_DEGREES = -87.4f; // latitude: -60, longitude: 130 +static constexpr float WMM_INCLINATION_MAX_DEGREES = 88.4f; // latitude: 80, longitude: 110 -// Magnetic strength data in milli-Gauss * 10 +// Magnetic totalintensity data in 2.042 nanoTesla // Model: WMM-2020, // Version: 0.5.1.11, -// Date: 2024.0684, -static constexpr const int16_t strength_table[19][37] { - // LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, - /* LAT: -90 */ { 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, 5442, }, - /* LAT: -80 */ { 6049, 5985, 5905, 5812, 5709, 5596, 5478, 5356, 5234, 5114, 5000, 4895, 4802, 4722, 4660, 4615, 4591, 4590, 4612, 4659, 4730, 4825, 4940, 5072, 5216, 5367, 5517, 5660, 5791, 5905, 5997, 6065, 6109, 6128, 6123, 6096, 6049, }, - /* LAT: -70 */ { 6294, 6159, 6007, 5841, 5661, 5468, 5263, 5048, 4829, 4615, 4413, 4231, 4074, 3943, 3840, 3764, 3718, 3706, 3735, 3813, 3942, 4124, 4354, 4623, 4919, 5227, 5531, 5815, 6064, 6268, 6418, 6512, 6553, 6544, 6493, 6407, 6294, }, - /* LAT: -60 */ { 6179, 5985, 5782, 5572, 5352, 5116, 4860, 4581, 4289, 4000, 3734, 3508, 3330, 3196, 3098, 3025, 2974, 2954, 2981, 3074, 3245, 3499, 3829, 4217, 4640, 5075, 5496, 5880, 6204, 6451, 6613, 6690, 6691, 6626, 6511, 6358, 6179, }, - /* LAT: -50 */ { 5838, 5606, 5373, 5140, 4907, 4661, 4390, 4087, 3758, 3427, 3126, 2888, 2728, 2638, 2590, 2555, 2520, 2492, 2498, 2572, 2750, 3045, 3445, 3920, 4428, 4934, 5408, 5826, 6163, 6403, 6540, 6579, 6535, 6423, 6260, 6060, 5838, }, - /* LAT: -40 */ { 5389, 5142, 4895, 4654, 4419, 4181, 3925, 3641, 3327, 3001, 2704, 2483, 2369, 2344, 2363, 2383, 2385, 2371, 2357, 2387, 2523, 2806, 3230, 3748, 4296, 4819, 5283, 5669, 5960, 6146, 6233, 6234, 6164, 6031, 5849, 5629, 5389, }, - /* LAT: -30 */ { 4876, 4633, 4393, 4157, 3930, 3711, 3491, 3260, 3004, 2728, 2471, 2291, 2224, 2250, 2317, 2387, 2451, 2498, 2517, 2528, 2600, 2807, 3178, 3672, 4204, 4700, 5114, 5427, 5628, 5727, 5752, 5725, 5645, 5511, 5331, 5113, 4876, }, - /* LAT: -20 */ { 4320, 4105, 3895, 3689, 3492, 3310, 3141, 2977, 2798, 2599, 2408, 2277, 2239, 2286, 2376, 2487, 2614, 2739, 2823, 2856, 2882, 2985, 3234, 3624, 4077, 4503, 4847, 5077, 5180, 5186, 5156, 5109, 5027, 4899, 4732, 4534, 4320, }, - /* LAT: -10 */ { 3789, 3627, 3472, 3325, 3190, 3069, 2965, 2872, 2773, 2657, 2535, 2437, 2396, 2424, 2514, 2644, 2799, 2955, 3075, 3134, 3147, 3177, 3307, 3565, 3894, 4216, 4478, 4637, 4669, 4616, 4548, 4485, 4398, 4273, 4123, 3959, 3789, }, - /* LAT: 0 */ { 3412, 3317, 3232, 3159, 3103, 3064, 3037, 3017, 2990, 2941, 2861, 2768, 2690, 2664, 2710, 2815, 2947, 3082, 3194, 3267, 3297, 3320, 3399, 3560, 3772, 3986, 4165, 4268, 4272, 4203, 4115, 4023, 3912, 3781, 3646, 3521, 3412, }, - /* LAT: 10 */ { 3282, 3250, 3229, 3224, 3248, 3294, 3348, 3399, 3432, 3421, 3352, 3238, 3113, 3022, 3000, 3044, 3126, 3225, 3325, 3409, 3473, 3536, 3626, 3746, 3884, 4024, 4143, 4212, 4212, 4149, 4038, 3895, 3733, 3573, 3437, 3339, 3282, }, - /* LAT: 20 */ { 3399, 3400, 3425, 3477, 3568, 3688, 3815, 3930, 4009, 4020, 3946, 3805, 3640, 3504, 3432, 3423, 3460, 3535, 3632, 3730, 3821, 3921, 4033, 4145, 4256, 4369, 4472, 4537, 4546, 4485, 4347, 4143, 3915, 3705, 3541, 3439, 3399, }, - /* LAT: 30 */ { 3722, 3726, 3778, 3876, 4017, 4186, 4361, 4515, 4622, 4648, 4575, 4421, 4234, 4074, 3972, 3929, 3935, 3988, 4077, 4176, 4275, 4382, 4499, 4617, 4737, 4866, 4988, 5074, 5098, 5038, 4880, 4639, 4364, 4109, 3909, 3779, 3722, }, - /* LAT: 40 */ { 4222, 4216, 4278, 4399, 4564, 4750, 4932, 5088, 5192, 5218, 5151, 5004, 4820, 4649, 4524, 4451, 4427, 4452, 4515, 4595, 4683, 4781, 4897, 5030, 5182, 5345, 5497, 5606, 5643, 5586, 5428, 5190, 4916, 4657, 4446, 4299, 4222, }, - /* LAT: 50 */ { 4832, 4820, 4872, 4979, 5123, 5281, 5431, 5552, 5627, 5637, 5575, 5450, 5290, 5128, 4993, 4898, 4845, 4836, 4862, 4914, 4984, 5076, 5196, 5346, 5522, 5707, 5873, 5989, 6030, 5984, 5851, 5656, 5432, 5218, 5038, 4906, 4832, }, - /* LAT: 60 */ { 5393, 5376, 5400, 5459, 5543, 5637, 5724, 5792, 5827, 5820, 5768, 5675, 5556, 5430, 5312, 5218, 5153, 5120, 5119, 5148, 5205, 5293, 5412, 5559, 5726, 5894, 6040, 6142, 6183, 6160, 6077, 5951, 5807, 5665, 5543, 5450, 5393, }, - /* LAT: 70 */ { 5726, 5703, 5697, 5707, 5727, 5753, 5778, 5793, 5795, 5777, 5740, 5684, 5616, 5541, 5468, 5405, 5358, 5331, 5327, 5348, 5393, 5463, 5555, 5664, 5781, 5895, 5993, 6065, 6103, 6106, 6077, 6024, 5957, 5887, 5821, 5766, 5726, }, - /* LAT: 80 */ { 5790, 5772, 5756, 5743, 5733, 5723, 5713, 5702, 5688, 5670, 5649, 5625, 5599, 5573, 5549, 5529, 5516, 5511, 5517, 5532, 5558, 5594, 5636, 5684, 5734, 5782, 5824, 5858, 5882, 5895, 5897, 5889, 5875, 5855, 5833, 5811, 5790, }, - /* LAT: 90 */ { 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, 5685, }, +// Date: 2024.41257, +static constexpr const int16_t totalintensity_table[19][37] { + // LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, + /* LAT: -90 */ { 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, 26644, }, + /* LAT: -80 */ { 29615, 29299, 28908, 28453, 27945, 27395, 26815, 26218, 25619, 25032, 24474, 23959, 23502, 23115, 22808, 22592, 22476, 22469, 22578, 22807, 23157, 23621, 24187, 24836, 25543, 26279, 27014, 27716, 28358, 28914, 29365, 29700, 29913, 30004, 29979, 29846, 29615, }, + /* LAT: -70 */ { 30814, 30152, 29407, 28592, 27711, 26765, 25759, 24706, 23635, 22584, 21596, 20706, 19938, 19300, 18794, 18422, 18195, 18139, 18285, 18666, 19302, 20195, 21322, 22642, 24092, 25601, 27090, 28480, 29701, 30696, 31432, 31894, 32090, 32046, 31794, 31371, 30814, }, // WARNING! black out zone + /* LAT: -60 */ { 30256, 29303, 28305, 27273, 26195, 25041, 23783, 22419, 20989, 19575, 18274, 17168, 16296, 15644, 15162, 14803, 14555, 14459, 14593, 15046, 15888, 17136, 18753, 20656, 22732, 24862, 26925, 28803, 30388, 31598, 32391, 32767, 32766, 32449, 31882, 31131, 30256, }, // WARNING! black out zone + /* LAT: -50 */ { 28585, 27448, 26301, 25162, 24017, 22813, 21484, 19998, 18389, 16768, 15296, 14132, 13352, 12914, 12677, 12503, 12330, 12195, 12223, 12590, 13464, 14914, 16881, 19207, 21698, 24175, 26497, 28540, 30193, 31368, 32034, 32224, 32006, 31456, 30654, 29673, 28585, }, + /* LAT: -40 */ { 26388, 25175, 23965, 22783, 21629, 20463, 19212, 17819, 16281, 14687, 13231, 12153, 11593, 11476, 11568, 11662, 11671, 11598, 11530, 11680, 12349, 13743, 15828, 18371, 21056, 23615, 25886, 27774, 29196, 30107, 30531, 30536, 30188, 29538, 28642, 27566, 26388, }, + /* LAT: -30 */ { 23875, 22687, 21506, 20350, 19238, 18163, 17088, 15953, 14699, 13348, 12090, 11211, 10886, 11019, 11346, 11688, 11997, 12225, 12312, 12367, 12723, 13749, 15575, 17999, 20611, 23034, 25059, 26587, 27567, 28051, 28176, 28039, 27646, 26992, 26106, 25040, 23875, }, + /* LAT: -20 */ { 21154, 20100, 19069, 18060, 17097, 16201, 15373, 14569, 13693, 12716, 11782, 11141, 10963, 11194, 11640, 12182, 12805, 13413, 13818, 13974, 14106, 14617, 15845, 17765, 19985, 22068, 23750, 24872, 25370, 25402, 25252, 25023, 24621, 23994, 23174, 22204, 21154, }, + /* LAT: -10 */ { 18558, 17760, 17002, 16280, 15615, 15025, 14516, 14058, 13572, 13001, 12403, 11927, 11727, 11873, 12314, 12952, 13712, 14475, 15055, 15339, 15405, 15556, 16199, 17471, 19086, 20662, 21941, 22713, 22869, 22606, 22275, 21968, 21540, 20930, 20196, 19388, 18558, }, + /* LAT: 0 */ { 16709, 16246, 15828, 15466, 15193, 15003, 14869, 14765, 14634, 14389, 14000, 13543, 13167, 13043, 13274, 13791, 14440, 15095, 15645, 15999, 16143, 16257, 16647, 17443, 18484, 19534, 20407, 20910, 20925, 20587, 20154, 19705, 19162, 18518, 17858, 17244, 16709, }, + /* LAT: 10 */ { 16075, 15916, 15810, 15786, 15900, 16127, 16390, 16638, 16796, 16740, 16399, 15842, 15234, 14793, 14691, 14911, 15314, 15798, 16286, 16698, 17008, 17318, 17762, 18355, 19031, 19718, 20303, 20638, 20637, 20325, 19783, 19078, 18284, 17502, 16834, 16355, 16075, }, + /* LAT: 20 */ { 16646, 16650, 16769, 17024, 17466, 18051, 18672, 19233, 19618, 19672, 19310, 18619, 17813, 17152, 16804, 16764, 16949, 17315, 17793, 18272, 18719, 19208, 19759, 20311, 20853, 21411, 21916, 22235, 22275, 21976, 21295, 20297, 19178, 18148, 17345, 16845, 16646, }, + /* LAT: 30 */ { 18228, 18245, 18498, 18973, 19662, 20491, 21341, 22097, 22620, 22746, 22388, 21634, 20724, 19941, 19447, 19240, 19272, 19535, 19972, 20460, 20944, 21470, 22044, 22622, 23213, 23845, 24444, 24864, 24980, 24684, 23906, 22724, 21376, 20127, 19146, 18510, 18228, }, + /* LAT: 40 */ { 20676, 20646, 20945, 21535, 22339, 23247, 24138, 24900, 25411, 25538, 25208, 24491, 23592, 22759, 22150, 21796, 21685, 21808, 22117, 22515, 22946, 23429, 23995, 24649, 25392, 26192, 26939, 27472, 27650, 27367, 26593, 25423, 24081, 22812, 21778, 21055, 20676, }, + /* LAT: 50 */ { 23666, 23603, 23852, 24371, 25074, 25848, 26580, 27175, 27541, 27593, 27291, 26681, 25898, 25111, 24452, 23986, 23733, 23688, 23819, 24073, 24420, 24871, 25459, 26197, 27059, 27964, 28776, 29343, 29542, 29310, 28661, 27703, 26610, 25561, 24680, 24034, 23666, }, + /* LAT: 60 */ { 26412, 26324, 26436, 26723, 27132, 27589, 28019, 28351, 28524, 28493, 28240, 27789, 27209, 26590, 26018, 25556, 25239, 25081, 25078, 25221, 25503, 25932, 26515, 27239, 28055, 28877, 29590, 30087, 30289, 30171, 29764, 29152, 28446, 27753, 27153, 26695, 26412, }, + /* LAT: 70 */ { 28043, 27927, 27896, 27940, 28040, 28166, 28285, 28364, 28372, 28290, 28109, 27838, 27503, 27138, 26784, 26477, 26247, 26116, 26097, 26198, 26422, 26766, 27217, 27750, 28323, 28879, 29358, 29708, 29894, 29908, 29765, 29507, 29181, 28836, 28513, 28242, 28043, }, // WARNING! black out zone + /* LAT: 80 */ { 28358, 28266, 28189, 28125, 28072, 28025, 27977, 27922, 27854, 27769, 27667, 27549, 27422, 27295, 27178, 27083, 27020, 26999, 27025, 27102, 27229, 27402, 27613, 27847, 28090, 28324, 28531, 28697, 28813, 28875, 28885, 28848, 28776, 28680, 28572, 28462, 28358, }, // WARNING! black out zone + /* LAT: 90 */ { 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, 27849, }, // WARNING! black out zone }; -static constexpr float WMM_STRENGTH_MIN_GS = 22.2; // latitude: -30, longitude: -60 -static constexpr float WMM_STRENGTH_MAX_GS = 66.9; // latitude: -60, longitude: 140 -static constexpr float WMM_STRENGTH_MEAN_GS = 46.4; -static constexpr float WMM_STRENGTH_MEDIAN_GS = 48.8; +static constexpr float WMM_TOTALINTENSITY_SCALE_TO_NANOTESLA = 2.04183477f; +static constexpr float WMM_TOTALINTENSITY_MIN_NANOTESLA = 22226.9f; // latitude: -30, longitude: -60 +static constexpr float WMM_TOTALINTENSITY_MAX_NANOTESLA = 66904.8f; // latitude: -60, longitude: 130 diff --git a/src/lib/world_magnetic_model/test_geo_lookup.cpp b/src/lib/world_magnetic_model/test_geo_lookup.cpp index f8dfe3e45bb3..674d4252f14c 100644 --- a/src/lib/world_magnetic_model/test_geo_lookup.cpp +++ b/src/lib/world_magnetic_model/test_geo_lookup.cpp @@ -40,15 +40,15 @@ TEST(GeoLookupTest, declination) { - EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.6, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.7, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.8, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.8, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.7, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.4, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.5, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.2, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.9, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.6, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.4, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.7, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.5, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.3, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.2, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.1, 0.36 + 1.0); @@ -57,70 +57,70 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.4, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.2, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.6, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.5, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.4, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.7, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.6, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.5, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.0, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.3, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.2, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.4, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.6, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.9, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -1.0, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.1, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.8, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.0, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.7, 0.48 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.1, 0.49 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.3, 0.51 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.2, 0.51 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.3, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.5, 0.53 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -16.9, 0.53 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.7, 0.53 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.4, 0.53 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -16.8, 0.53 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.6, 0.53 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.9, 0.53 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.7, 0.52 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.9, 0.51 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.4, 0.49 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -34.1, 0.47 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -34.2, 0.47 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.9, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.5, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.9, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.6, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -45.0, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -48.1, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.8, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -53.2, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -55.1, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.9, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -53.3, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -55.2, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.6, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.5, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.9, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.6, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.7, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.7, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.9, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.3, 0.47 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.5, 0.50 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.6, 0.52 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.5, 0.52 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.3, 0.55 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.0, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.8, 0.59 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -29.9, 0.57 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.7, 0.59 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.3, 0.59 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.1, 0.59 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.0, 0.59 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.5, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 9.0, 0.55 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 9.1, 0.55 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.6, 0.52 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 19.1, 0.50 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.7, 0.48 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.8, 0.48 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.6, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.7, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.3, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.4, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.8, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.4, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.5, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 31.2, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.6, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.6, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.9, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.7, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.7, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 27.0, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 27.1, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 27.0, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.9, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 27.1, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 27.0, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.8, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.5, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.6, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.4, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.1, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 26.0, 0.36 + 1.0); @@ -128,72 +128,72 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.0, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.0, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.8, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 22.9, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 20.9, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.3, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.2, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.0, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.3, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.2, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.2, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.1, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 2.9, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.2, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -5.0, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -5.1, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.4, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.1, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.3, 0.48 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.9, 0.50 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.0, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -16.8, 0.53 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.5, 0.55 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.1, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -18.8, 0.58 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -19.9, 0.59 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.5, 0.58 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -16.8, 0.54 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.4, 0.55 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.0, 0.57 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -18.7, 0.58 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -19.8, 0.59 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.4, 0.58 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.7, 0.57 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.5, 0.56 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.7, 0.53 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -33.2, 0.51 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.7, 0.49 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -40.1, 0.47 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -43.2, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.8, 0.49 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -40.2, 0.47 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -43.3, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -46.0, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -48.2, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -50.0, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -48.3, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -50.1, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.3, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.9, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.9, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -52.0, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -52.0, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.3, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.9, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.7, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.7, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.8, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.1, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.6, 0.47 + 1.8); - EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.6, 0.48 + 1.8); - EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.4, 0.48 + 1.8); + EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.0, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.5, 0.47 + 1.8); + EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.5, 0.48 + 1.8); + EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.3, 0.48 + 1.8); EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.2, 0.48 + 1.8); EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.4, 0.47 + 1.8); - EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.1, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.0, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.8, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.2, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 12.0, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.4, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 12.1, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.5, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.3, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.7, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.7, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 24.2, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.3, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 26.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.6, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.7, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.8, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 23.1, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 23.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.3, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.4, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.3, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.4, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.2, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 23.0, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.8, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 23.1, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.9, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.7, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.5, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.4, 0.35 + 1.0); @@ -201,68 +201,68 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.5, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.5, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.4, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.1, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.4, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.0, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.1, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.2, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.6, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.3, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.4, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.3, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.0, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.5, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.9, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.9, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.6, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -5.0, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -9.0, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.4, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.1, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.2, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.7, 0.50 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.6, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.3, 0.55 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.6, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -20.8, 0.60 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -20.9, 0.62 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.2, 0.63 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.6, 0.50 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.6, 0.53 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.2, 0.55 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.5, 0.57 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -20.7, 0.60 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -20.8, 0.62 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.1, 0.63 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -21.9, 0.63 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.3, 0.62 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.4, 0.61 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -28.1, 0.58 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -31.2, 0.55 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.4, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.5, 0.49 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -40.2, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.5, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.3, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -28.2, 0.58 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -31.3, 0.55 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.5, 0.52 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.6, 0.49 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -40.3, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.6, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.4, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.6, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -46.1, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -46.2, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -46.1, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.3, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.8, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.5, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.6, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.5, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -34.9, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.6, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.5, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -25.8, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.8, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.8, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.1, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.8, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.7, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.8, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.8, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.9, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.2, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.3, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.2, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.2, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.8, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.2, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.2, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.3, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 19.0, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.4, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.5, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.2, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.7, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 20.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.2, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.3, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 20.1, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.3, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.4, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.4, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.2, 0.34 + 1.0); @@ -275,34 +275,34 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 18.9, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.4, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.3, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.5, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.2, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.4, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 12.9, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.5, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.4, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 0.9, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.8, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.3, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 0.8, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.9, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.4, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.4, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.7, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.8, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.4, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.3, 0.48 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.6, 0.50 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.5, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.0, 0.54 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.2, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.0, 0.60 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.6, 0.62 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -22.9, 0.54 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.1, 0.57 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -22.9, 0.60 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.5, 0.63 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.1, 0.65 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -21.9, 0.66 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -21.8, 0.66 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.2, 0.66 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.3, 0.64 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.2, 0.61 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.6, 0.58 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.7, 0.58 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.4, 0.54 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -33.0, 0.50 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.4, 0.47 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -33.1, 0.50 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.5, 0.47 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.4, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.8, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.6, 0.42 + 1.0); @@ -324,19 +324,19 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.7, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.8, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.9, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.6, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.2, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.4, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.5, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.5, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.8, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.8, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.6, 0.33 + 1.0); @@ -348,67 +348,67 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.4, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.6, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.5, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.5, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.8, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.2, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 6.8, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -2.0, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.7, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -11.2, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -15.1, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.7, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.1, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 6.7, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -2.1, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.8, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -11.3, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -15.2, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.3, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.7, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.4, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.5, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.3, 0.50 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.2, 0.50 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.6, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.6, 0.55 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.1, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.3, 0.60 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.0, 0.63 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.5, 0.55 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.1, 0.58 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.2, 0.60 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -21.9, 0.63 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -20.7, 0.64 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -19.8, 0.65 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.7, 0.63 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.7, 0.64 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.5, 0.61 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -22.1, 0.58 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -24.2, 0.54 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.5, 0.50 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -24.3, 0.54 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.6, 0.50 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.7, 0.47 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.5, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.7, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.3, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.8, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.4, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.3, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.5, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.1, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.0, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.0, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.4, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.4, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.1, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.0, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.0, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.7, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.4, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.3, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.5, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.2, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.9, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.5, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 11.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.6, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 14.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 16.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.7, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 16.1, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.4, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.6, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.6, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.7, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.7, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.7, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.6, 0.32 + 1.0); @@ -416,47 +416,47 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.7, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.9, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.8, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.1, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.1, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.0, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.3, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.7, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.2, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.0, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.6, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.1, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -75), -0.0, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -9.2, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -9.3, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.5, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -17.1, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -20.0, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -17.2, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -20.1, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.2, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.6, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.5, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.9, 0.47 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.0, 0.49 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -24.9, 0.49 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.6, 0.51 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -23.7, 0.53 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.3, 0.55 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.4, 0.57 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.2, 0.55 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.3, 0.57 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.2, 0.59 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.3, 0.59 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.2, 0.59 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.0, 0.58 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.7, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.3, 0.54 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.4, 0.54 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.8, 0.51 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.7, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.7, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.8, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.6, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.9, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -24.0, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.7, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.8, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.2, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.1, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -22.9, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.2, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.0, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.1, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -18.9, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.4, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.7, 0.34 + 1.0); @@ -465,7 +465,7 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.1, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.1, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.5, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.9, 0.32 + 1.0); @@ -475,47 +475,47 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.1, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.8, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.8, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.8, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.9, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.7, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.5, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.0, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 12.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.3, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.0, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.0, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 9.9, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.5, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.0, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -2.1, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.6, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -11.0, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.4, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 1.9, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -2.2, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.7, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -11.1, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -15.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.4, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -21.0, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.8, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.5, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -21.1, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.9, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.9, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.4, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.5, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.4, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.0, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.2, 0.47 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -21.8, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -19.8, 0.49 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.1, 0.47 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -21.7, 0.48 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -19.7, 0.49 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.4, 0.50 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -14.9, 0.51 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.4, 0.51 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -14.8, 0.51 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.3, 0.51 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.4, 0.51 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.3, 0.49 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.1, 0.48 + 1.0); @@ -523,22 +523,22 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.3, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -13.2, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -15.1, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.6, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -18.0, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.7, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.7, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -18.0, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.7, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.9, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -13.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -11.9, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.7, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.3, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.6, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -4.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.6, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.3, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.2, 0.31 + 1.0); @@ -551,9 +551,9 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.5, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.2, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.3, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.3, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.4, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.3, 0.31 + 1.0); @@ -566,37 +566,37 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.3, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.0, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 9.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.9, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -8.2, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -12.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -4.0, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -8.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -12.4, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -16.1, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -19.1, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -19.2, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.4, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.8, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.5, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.6, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.1, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.1, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.7, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -18.8, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.5, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.0, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.0, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.6, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -18.7, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.5, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.0, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.4, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -13.9, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.3, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -8.8, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -6.7, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.2, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.5, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.7, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.6, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.7, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.2, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -9.0, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.6, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -9.0, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.7, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.9, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.5, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.6, 0.33 + 1.0); @@ -604,30 +604,30 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.6, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.9, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.8, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -4.9, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.1, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.5, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.5, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.9, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.2, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.7, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.4, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.5, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.7, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.1, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.7, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.4, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 12.0, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.2, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.1, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.3, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 11.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 11.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 11.0, 0.31 + 1.0); @@ -638,37 +638,37 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 9.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.6, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.1, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.8, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 4.8, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.1, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.0, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.4, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -5.3, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -9.3, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -9.4, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -13.2, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.5, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.6, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.3, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.5, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.1, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.7, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.5, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.0, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.6, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.4, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.1, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -10.7, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.3, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -10.6, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.2, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.0, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.0, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.4, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.5, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.9, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -3.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.6, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.3, 0.32 + 1.0); @@ -676,7 +676,7 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.3, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -4.9, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.4, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.9, 0.30 + 1.0); @@ -685,22 +685,22 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.8, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 0.9, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.2, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.1, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.8, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 3.9, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.7, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.8, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.9, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.8, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.6, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 11.0, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 11.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.6, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.5, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.4, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.0, 0.31 + 1.0); @@ -708,35 +708,35 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.7, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.4, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.1, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.7, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.5, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.2, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.4, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 6.9, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.6, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.5, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 0.8, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 0.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -6.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -10.1, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.6, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.7, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -19.0, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -19.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.3, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.3, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -18.8, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -16.9, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -16.8, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -14.7, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.4, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.1, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -7.9, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -5.9, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.0, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -5.8, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -3.9, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.2, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.8, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.5, 0.33 + 1.0); @@ -749,68 +749,68 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.8, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.2, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.6, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.6, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.5, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.4, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.3, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.3, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.3, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.6, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.4, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.6, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.1, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.0, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.2, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.5, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.0, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 1.9, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.1, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.4, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 7.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.1, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.1, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.9, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.3, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.6, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -180), 10.0, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -180), 10.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -175), 10.0, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.8, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.9, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.4, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.4, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.1, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.9, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.5, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.2, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -115), 7.9, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -115), 7.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.5, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.0, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -105), 6.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.6, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.3, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -75), -7.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.6, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.8, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.5, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.9, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.6, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.8, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.8, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.6, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.4, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.6, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.5, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.2, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -15), -9.9, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, -10), -7.7, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.3, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.5, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.1, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -15), -9.8, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, -10), -7.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, -5), -5.7, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.0, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 0), -3.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.4, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.3, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 10), -0.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.4, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.4, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.3, 0.32 + 1.0); @@ -819,7 +819,7 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.6, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.9, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.8, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.9, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.3, 0.30 + 1.0); @@ -829,12 +829,12 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.2, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.2, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.2, 0.29 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.0, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 115), -0.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 125), -0.2, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.3, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.1, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.3, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.6, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.9, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.2, 0.30 + 1.0); @@ -842,9 +842,9 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.8, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(0, 180), 10.0, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.6, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(0, 180), 10.1, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.7, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.1, 0.32 + 1.0); @@ -859,12 +859,12 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.6, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.4, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.4, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.5, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -85), -1.2, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -85), -1.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.4, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.7, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -70), -11.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.3, 0.33 + 1.0); @@ -874,17 +874,17 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.6, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.4, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.1, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.3, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -15), -7.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, -10), -5.8, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.1, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.6, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.3, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.0, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.5, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 15), 1.1, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 20), 2.0, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 20), 2.1, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.8, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.5, 0.31 + 1.0); @@ -894,7 +894,7 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.4, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.5, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.6, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.4, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.0, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.5, 0.29 + 1.0); @@ -902,12 +902,12 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.4, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.2, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.3, 0.29 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.6, 0.29 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.9, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.7, 0.29 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 120), -1.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 125), -1.0, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.6, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.2, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.3, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.7, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.1, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.6, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.9, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.3, 0.30 + 1.0); @@ -915,8 +915,8 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.6, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.7, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.4, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.1, 0.32 + 1.0); @@ -926,11 +926,11 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.1, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.9, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.5, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.6, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.0, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -110), 6.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -100), 4.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.0, 0.33 + 1.0); @@ -940,22 +940,22 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.9, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -60), -16.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.3, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.8, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.5, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.5, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -35), -14.9, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -30), -12.9, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -25), -10.7, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.8, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.4, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.4, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -35), -14.8, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -30), -12.8, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -25), -10.6, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.4, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.4, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.2, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, -5), -2.8, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.5, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.4, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.4, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.7, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 25), 3.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.3, 0.30 + 1.0); @@ -964,7 +964,7 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.4, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.3, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.9, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.8, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.6, 0.29 + 1.0); @@ -972,12 +972,12 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.5, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.2, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.9, 0.29 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.6, 0.29 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.7, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.7, 0.29 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.9, 0.29 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 110), -1.0, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.4, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.8, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.9, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 125), -2.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 135), -1.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.1, 0.30 + 1.0); @@ -988,27 +988,27 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.9, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 170), 8.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.8, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -175), 9.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.1, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.1, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.1, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.6, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.4, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -115), 7.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.5, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -105), 5.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.4, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -90), -0.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.8, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.6, 0.33 + 1.0); @@ -1019,9 +1019,9 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.4, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.5, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.4, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, -5), -1.8, 0.31 + 1.0); @@ -1033,7 +1033,7 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.5, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.9, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, 40), 3.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.1, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.3, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.6, 0.30 + 1.0); @@ -1045,27 +1045,27 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.0, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 90), -1.0, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.9, 0.29 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.9, 0.29 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, 100), -1.0, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.2, 0.29 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.6, 0.29 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.7, 0.29 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.2, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.7, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.8, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 125), -3.0, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.8, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.9, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.2, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.2, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.3, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.9, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.9, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.1, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -170), 9.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.1, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.8, 0.33 + 1.0); @@ -1073,43 +1073,43 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.8, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.7, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.4, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.1, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.3, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.1, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.6, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.5, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.6, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.5, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -70), -12.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -65), -14.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.8, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.1, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -40), -13.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.2, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.3, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.1, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 0), 0.0, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 0), 0.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 5), 1.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.8, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.5, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.8, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 30), 4.0, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.9, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 30), 4.1, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 35), 4.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.8, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.1, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.4, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 60), 1.0, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.6, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.3, 0.30 + 1.0); @@ -1123,13 +1123,13 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.4, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 115), -3.1, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.8, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 125), -4.1, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 125), -4.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 130), -4.1, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.6, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.7, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.1, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.5, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.4, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.6, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.1, 0.32 + 1.0); @@ -1141,39 +1141,39 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.5, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.9, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.8, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.7, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.1, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.2, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.0, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -110), 7.9, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.8, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -90), -1.1, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -85), -4.1, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -85), -4.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -75), -10.0, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.0, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.1, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.4, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.2, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -40), -12.9, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.5, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.6, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.0, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.1, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -40), -12.8, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.2, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.4, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.5, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.0, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.6, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.5, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.5, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.2, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.3, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 15), 3.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 25), 4.1, 0.31 + 1.0); @@ -1194,8 +1194,8 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.2, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 110), -3.1, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, 115), -4.0, 0.30 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.8, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, 115), -4.1, 0.30 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.9, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.4, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.5, 0.30 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(25, 135), -5.1, 0.31 + 1.0); @@ -1222,7 +1222,7 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.0, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.6, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.5, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.7, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.4, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.6, 0.35 + 1.0); @@ -1236,13 +1236,13 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.1, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.6, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.3, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.7, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.2, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.6, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -30), -8.9, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.1, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.2, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.0, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.7, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.6, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.2, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 0), 1.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.9, 0.32 + 1.0); @@ -1251,23 +1251,23 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(30, 20), 4.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.5, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.8, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.8, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.6, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.2, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.9, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.7, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.8, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.3, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.9, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, 60), 3.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.2, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.8, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.3, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.7, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.6, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 90), -0.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.8, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.7, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.7, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.8, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.9, 0.31 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(30, 115), -5.0, 0.31 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(30, 115), -5.1, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 120), -6.0, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.7, 0.31 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.9, 0.31 + 1.0); @@ -1281,11 +1281,11 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.3, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.3, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.2, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.2, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.1, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.1, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -150), 11.9, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.6, 0.35 + 1.0); @@ -1295,39 +1295,39 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.0, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -115), 10.9, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.6, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.6, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.8, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.2, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.3, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.7, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.3, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.2, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.6, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.2, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.5, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.5, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.0, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -30), -8.7, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -25), -6.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -25), -6.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.2, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.5, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 0), 1.2, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.2, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.1, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.4, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, -5), 0.0, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 0), 1.3, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 10), 3.1, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.8, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.4, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 25), 5.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.3, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.5, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.4, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.2, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.5, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.3, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 50), 5.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.9, 0.32 + 1.0); @@ -1335,13 +1335,13 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(35, 75), 3.0, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.4, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.5, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.6, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.4, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.7, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.9, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.7, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 115), -6.1, 0.32 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.2, 0.32 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.3, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 125), -8.1, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.4, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.3, 0.32 + 1.0); @@ -1351,9 +1351,9 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.6, 0.32 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.0, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.6, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.3, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -175), 5.9, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.5, 0.35 + 1.0); @@ -1362,48 +1362,48 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.6, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.6, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.5, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.4, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.0, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -125), 13.9, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.1, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.0, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.8, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.0, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.7, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.8, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.4, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.2, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.8, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.2, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.0, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.1, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.0, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -60), -15.8, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.6, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -50), -14.9, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -50), -14.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -45), -13.7, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.3, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.7, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -30), -8.9, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.1, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.2, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.6, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -30), -8.8, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.0, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.3, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.6, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.3, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.5, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, -5), 0.0, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.5, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.4, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 15), 4.2, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.9, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.5, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 20), 5.0, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.6, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 30), 6.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.3, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.4, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.5, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.5, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.6, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.5, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 60), 6.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.6, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.1, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.4, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.5, 0.33 + 1.0); @@ -1411,12 +1411,12 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.1, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 100), -2.1, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.8, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.9, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.6, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.5, 0.33 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.9, 0.33 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 130), -10.0, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.8, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.2, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.2, 0.33 + 1.0); @@ -1425,24 +1425,24 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.4, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.5, 0.33 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.4, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.3, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.2, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -165), 8.9, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -165), 8.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.0, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.0, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.4, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.4, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.0, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.2, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.8, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.8, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.2, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.1, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.7, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.7, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.1, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.0, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.3, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.7, 0.41 + 1.0); @@ -1451,164 +1451,164 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.0, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.1, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.3, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -60), -16.8, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -60), -16.7, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.5, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -50), -15.7, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.0, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.3, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.5, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.6, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.4, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.6, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -15), -3.7, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, -10), -1.9, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, -10), -1.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.2, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 0), 1.2, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.5, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.6, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.6, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 0), 1.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.6, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.7, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.7, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.5, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 30), 7.0, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.5, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.9, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.6, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 40), 8.0, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.2, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.3, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.4, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.4, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.8, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.3, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.1, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.6, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.9, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.8, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 95), -0.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.2, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.3, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.4, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.5, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.6, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.4, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.9, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 120), -10.0, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 125), -11.0, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.4, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.3, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.7, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.5, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.4, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.8, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.3, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.6, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.7, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.8, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.8, 0.34 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.8, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.9, 0.34 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.9, 0.34 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.2, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.4, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.6, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.7, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.5, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.6, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.7, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.6, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.3, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -150), 13.8, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.0, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.5, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.6, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.0, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -140), 15.9, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.4, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.5, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.2, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.3, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.8, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.6, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.7, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.7, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.5, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.6, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.1, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.0, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.4, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.7, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.6, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.4, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.4, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.6, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -65), -17.8, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.2, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -55), -17.9, 0.40 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.1, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.5, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -65), -17.7, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.1, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -55), -17.8, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.0, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, -45), -15.8, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.3, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.5, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.5, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.5, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.5, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, -5), -0.7, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 0), 1.0, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.2, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.4, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.4, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.4, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.4, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, -5), -0.6, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 0), 1.1, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.6, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.9, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 15), 5.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 20), 6.2, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 15), 5.2, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 20), 6.3, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.3, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.2, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.3, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 35), 9.1, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.8, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.4, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.7, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.8, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.9, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.8, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.4, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.9, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.5, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.7, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.6, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.1, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.2, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.1, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 90), 2.9, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.4, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.3, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.3, 0.39 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 105), -5.0, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.5, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.3, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.4, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.7, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.4, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.5, 0.37 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.9, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.8, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 145), -11.1, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.6, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.9, 0.35 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 160), -6.0, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.7, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 155), -8.0, 0.35 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 160), -6.1, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 165), -4.0, 0.35 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.9, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.3, 0.36 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.2, 0.36 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.4, 0.36 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -180), 1.8, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.1, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -180), 1.7, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.0, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.3, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.6, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.7, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.6, 0.39 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.3, 0.40 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.5, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.6, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.5, 0.39 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.2, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -145), 15.7, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -140), 16.8, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.5, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.8, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.7, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.4, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.5, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -115), 14.9, 0.48 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -115), 14.8, 0.48 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.4, 0.49 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.1, 0.51 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.0, 0.52 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.4, 0.53 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.5, 0.53 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.2, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.3, 0.51 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.5, 0.49 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -70), -18.7, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -65), -19.9, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.3, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -55), -19.9, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.0, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -45), -17.7, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.0, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.2, 0.51 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.4, 0.49 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -70), -18.6, 0.48 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -65), -19.8, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.2, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -55), -19.8, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -50), -18.9, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -45), -17.6, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -40), -15.9, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.1, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.1, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.0, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, -25), -9.9, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -20), -7.8, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.6, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.4, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.4, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -20), -7.7, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.5, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.3, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.3, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.6, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.4, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 10), 4.1, 0.41 + 1.0); @@ -1617,8 +1617,8 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.6, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.9, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 35), 11.1, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 40), 12.1, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 45), 13.0, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 40), 12.2, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 45), 13.1, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.7, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 55), 14.1, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 60), 14.1, 0.43 + 1.0); @@ -1627,13 +1627,13 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.5, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.6, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.2, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.4, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.2, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.3, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.1, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 100), -2.2, 0.44 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.5, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.4, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.5, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.9, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.7, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.8, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.9, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.4, 0.40 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.2, 0.39 + 1.0); @@ -1641,60 +1641,60 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.4, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.9, 0.38 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(55, 155), -9.1, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 160), -7.1, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 165), -5.0, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.8, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.5, 0.37 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(55, 180), 1.8, 0.38 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.2, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -175), 3.6, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.0, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.4, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 160), -7.2, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 165), -5.1, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.9, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.6, 0.37 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(55, 180), 1.7, 0.38 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.1, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -175), 3.5, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -170), 5.9, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.3, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, -160), 10.6, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -155), 12.8, 0.43 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -150), 14.7, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.3, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.6, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.5, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -130), 18.9, 0.50 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.7, 0.52 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -155), 12.7, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -150), 14.6, 0.44 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.2, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.5, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.4, 0.48 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -130), 18.8, 0.50 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.6, 0.52 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.7, 0.54 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, -115), 15.9, 0.57 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.2, 0.59 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.1, 0.59 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.4, 0.62 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.7, 0.64 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.8, 0.65 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.4, 0.65 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.6, 0.64 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.0, 0.62 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.4, 0.59 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -70), -21.6, 0.56 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -65), -22.8, 0.54 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.0, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -55), -22.6, 0.50 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -50), -21.6, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.1, 0.47 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.3, 0.47 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.3, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.1, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -25), -11.7, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.3, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -15), -6.9, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.7, 0.65 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.3, 0.65 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.5, 0.64 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.0, 0.61 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.3, 0.59 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -70), -21.5, 0.56 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -65), -22.7, 0.54 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -60), -22.9, 0.52 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -55), -22.5, 0.50 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -50), -21.5, 0.48 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.0, 0.47 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.2, 0.47 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.2, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.0, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -25), -11.6, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.2, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -15), -6.8, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.5, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.2, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.1, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 0), 0.1, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 5), 2.3, 0.45 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 10), 4.3, 0.45 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 10), 4.4, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.4, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 20), 8.3, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 25), 10.1, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 20), 8.4, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 25), 10.2, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.9, 0.46 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.5, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.6, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 40), 15.0, 0.47 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 45), 16.2, 0.47 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 45), 16.3, 0.47 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 50), 17.2, 0.47 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.8, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 60), 18.0, 0.49 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.9, 0.48 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 60), 18.1, 0.49 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.8, 0.49 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.9, 0.50 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.3, 0.51 + 1.0); @@ -1704,21 +1704,21 @@ TEST(GeoLookupTest, declination) EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.5, 0.54 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.7, 0.53 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.7, 0.52 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 110), -9.2, 0.51 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 115), -12.0, 0.50 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 110), -9.3, 0.51 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 115), -12.1, 0.50 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 120), -14.1, 0.48 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.3, 0.46 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.4, 0.46 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.8, 0.45 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.6, 0.44 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.8, 0.43 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.9, 0.43 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.6, 0.42 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 150), -12.0, 0.42 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 150), -12.1, 0.42 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 155), -10.2, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 160), -8.1, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.9, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.6, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 160), -8.2, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 165), -6.0, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.7, 0.41 + 1.0); EXPECT_NEAR(get_mag_declination_degrees(60, 175), -1.3, 0.41 + 1.0); - EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.2, 0.41 + 1.0); + EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.1, 0.41 + 1.0); } TEST(GeoLookupTest, inclination) @@ -1729,7 +1729,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.0, 0.21 + 1.2); @@ -1759,10 +1759,10 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -59.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -58.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.1, 0.21 + 1.2); @@ -1820,27 +1820,27 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -45.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -47.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -55.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -57.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.3, 0.21 + 1.2); @@ -1848,9 +1848,9 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.9, 0.21 + 1.2); @@ -1881,7 +1881,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.6, 0.21 + 1.2); @@ -1890,15 +1890,15 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -41.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -41.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -44.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -44.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -46.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -54.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.5, 0.21 + 1.2); @@ -1909,10 +1909,10 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -60.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.7, 0.21 + 1.2); @@ -1920,9 +1920,9 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.5, 0.21 + 1.2); @@ -1933,7 +1933,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.1, 0.21 + 1.2); @@ -1966,24 +1966,24 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -38.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -43.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -46.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -43.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -46.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -55.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -58.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -58.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.1, 0.21 + 1.2); @@ -2036,28 +2036,28 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -33.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -36.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -39.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -43.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -50.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -53.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -56.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -59.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -36.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -39.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -43.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -50.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -53.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -56.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -59.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.2, 0.21 + 1.2); @@ -2084,7 +2084,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.0, 0.21 + 1.2); @@ -2092,11 +2092,11 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.3, 0.21 + 1.2); @@ -2110,28 +2110,28 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -27.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -30.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -34.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -50.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -25.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -27.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -30.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -34.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -43.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -50.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -60.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -60.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.5, 0.21 + 1.2); @@ -2154,26 +2154,26 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -56.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -30.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.8, 0.21 + 1.2); @@ -2181,21 +2181,21 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -17.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -20.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -28.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -33.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -38.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -42.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -50.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -56.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -17.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -20.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -24.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -28.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -33.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -38.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -42.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -50.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -56.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -62.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -63.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.3, 0.21 + 1.2); @@ -2203,7 +2203,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.2, 0.21 + 1.2); @@ -2211,7 +2211,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.0, 0.21 + 1.2); @@ -2221,7 +2221,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.6, 0.21 + 1.2); @@ -2233,17 +2233,17 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -28.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.9, 0.21 + 1.2); @@ -2253,22 +2253,22 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -11.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -9.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -7.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -9.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -12.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -16.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -21.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -26.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -32.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -37.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -41.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -12.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -16.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -21.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -26.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -32.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -37.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -41.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -49.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -54.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -57.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.9, 0.21 + 1.2); @@ -2276,35 +2276,35 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -47.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -47.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -42.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -40.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -42.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -40.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.3, 0.21 + 1.2); @@ -2312,37 +2312,37 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -16.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 1.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), -0.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -3.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -8.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -13.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -19.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -30.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -35.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -39.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 1.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), -0.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -3.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -8.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -13.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -19.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -25.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -30.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -35.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -39.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -49.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -50.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.9, 0.21 + 1.2); @@ -2350,7 +2350,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.7, 0.21 + 1.2); @@ -2364,14 +2364,14 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -36.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -36.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -34.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -33.1, 0.21 + 1.2); @@ -2382,11 +2382,11 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -6.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -6.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.0, 0.21 + 1.2); @@ -2394,25 +2394,25 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 3.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 3.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 10.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 8.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 0.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -4.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -10.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -16.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -22.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -27.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -35.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 8.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 0.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -4.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -10.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -16.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -22.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -27.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -35.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -39.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -41.0, 0.21 + 1.2); @@ -2421,70 +2421,70 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -35.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -35.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -26.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -26.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -24.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -24.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 7.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 6.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 7.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 13.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 9.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 4.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -1.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -7.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -18.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -22.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -25.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 9.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 4.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -1.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -7.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -13.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -18.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -22.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -25.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -29.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -30.1, 0.21 + 1.2); @@ -2495,48 +2495,48 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -15.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -15.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -13.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 7.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 18.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 17.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 18.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 19.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 20.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.2, 0.21 + 1.2); @@ -2548,52 +2548,52 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 18.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 13.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 2.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -7.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -11.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 18.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 13.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 2.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -7.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -11.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -7.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -4.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -3.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -3.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -3.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -4.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -4.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -3.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -3.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -6.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -3.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.6, 0.21 + 1.2); @@ -2605,10 +2605,10 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 26.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 27.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 28.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 29.0, 0.21 + 1.2); @@ -2617,21 +2617,21 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 34.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 32.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 17.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 12.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 7.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 3.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -30), -0.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 32.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 17.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 12.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 7.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 3.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -30), -0.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.5, 0.21 + 1.2); @@ -2640,32 +2640,32 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 6.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 8.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 6.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 8.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 8.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 7.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 7.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 8.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 7.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 7.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 4.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 4.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 6.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.5, 0.21 + 1.2); @@ -2677,34 +2677,34 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 30.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 31.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 30.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 31.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 32.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 33.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 34.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 35.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 36.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 33.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 21.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 36.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 33.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 25.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 21.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 17.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 7.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 7.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.3, 0.21 + 1.2); @@ -2716,10 +2716,10 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 13.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 18.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 19.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 20.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 20.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 20.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.9, 0.21 + 1.2); @@ -2727,8 +2727,8 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 19.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 19.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 19.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 19.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 19.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 19.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 19.0, 0.21 + 1.2); @@ -2736,9 +2736,9 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 14.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 14.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 14.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.8, 0.21 + 1.2); @@ -2753,7 +2753,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 38.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.8, 0.21 + 1.2); @@ -2767,18 +2767,18 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 46.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 30.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 27.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 24.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 33.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 30.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 27.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 24.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 20.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 20.0, 0.21 + 1.2); @@ -2786,24 +2786,24 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 26.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 30.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 30.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 30.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.6, 0.21 + 1.2); @@ -2823,8 +2823,8 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 44.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.7, 0.21 + 1.2); @@ -2840,16 +2840,16 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 43.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 38.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 38.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.9, 0.21 + 1.2); @@ -2863,20 +2863,20 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 36.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 39.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 39.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.8, 0.21 + 1.2); @@ -2885,8 +2885,8 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 34.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.2, 0.21 + 1.2); @@ -2898,10 +2898,10 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 49.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.8, 0.21 + 1.2); @@ -2912,45 +2912,45 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 57.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 56.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 56.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 53.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 51.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 49.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 49.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 47.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 45.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 45.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 43.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 47.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.7, 0.21 + 1.2); @@ -2961,7 +2961,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.4, 0.21 + 1.2); @@ -2988,15 +2988,15 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 56.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 56.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 47.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.7, 0.21 + 1.2); @@ -3011,20 +3011,20 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 54.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.6, 0.21 + 1.2); @@ -3056,13 +3056,13 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 66.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 62.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 58.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.6, 0.21 + 1.2); @@ -3075,14 +3075,14 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 58.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 59.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.1, 0.21 + 1.2); @@ -3090,15 +3090,15 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 61.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 61.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 61.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.6, 0.21 + 1.2); @@ -3132,16 +3132,16 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 65.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 65.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.0, 0.21 + 1.2); @@ -3150,25 +3150,25 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 63.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.4, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 65.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 66.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 66.1, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 66.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.2, 0.21 + 1.2); @@ -3205,8 +3205,8 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 72.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 71.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 70.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 69.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 68.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 67.9, 0.21 + 1.2); @@ -3226,20 +3226,20 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.2, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 70.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 71.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 71.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 71.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.6, 0.21 + 1.2); @@ -3248,7 +3248,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.0, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.3, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.2, 0.21 + 1.2); @@ -3273,18 +3273,18 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.8, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.8, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.0, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 76.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.5, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.5, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 69.9, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.2, 0.21 + 1.2); @@ -3305,7 +3305,7 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.6, 0.21 + 1.2); @@ -3350,13 +3350,13 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 79.9, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.3, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.9, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.3, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.2, 0.21 + 1.2); @@ -3373,20 +3373,20 @@ TEST(GeoLookupTest, inclination) EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.6, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.2, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.6, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.1, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.6, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.7, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.2, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 78.1, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.7, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.8, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.7, 0.21 + 1.2); - EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.4, 0.21 + 1.2); + EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.5, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 78.0, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.4, 0.21 + 1.2); EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.7, 0.21 + 1.2); @@ -3406,1683 +3406,1683 @@ TEST(GeoLookupTest, inclination) TEST(GeoLookupTest, strength) { - EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58381, 145 + 584); - EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57229, 145 + 572); - EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56063, 145 + 561); - EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54893, 145 + 549); - EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53726, 145 + 537); - EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52562, 145 + 526); - EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51404, 145 + 514); - EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50243, 145 + 502); - EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49068, 145 + 491); - EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 47864, 145 + 479); - EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46612, 145 + 466); - EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45295, 145 + 453); - EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 43900, 145 + 439); - EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42422, 145 + 424); - EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 40865, 145 + 409); - EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39243, 145 + 392); - EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37579, 145 + 376); - EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 35908, 145 + 359); - EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34268, 145 + 343); - EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32705, 145 + 327); - EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31261, 145 + 313); - EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 29976, 145 + 300); - EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28878, 145 + 289); - EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 27982, 145 + 280); - EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27283, 145 + 273); - EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26762, 145 + 268); - EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26384, 145 + 264); - EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26111, 145 + 261); - EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25901, 145 + 259); - EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25721, 145 + 257); - EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25548, 145 + 255); - EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25373, 145 + 254); - EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25198, 145 + 252); - EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25040, 145 + 250); - EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 24925, 145 + 249); - EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 24890, 145 + 249); - EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 24979, 145 + 250); - EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25242, 145 + 252); - EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25725, 145 + 257); - EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26469, 145 + 265); - EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27500, 145 + 275); - EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28830, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30449, 145 + 304); - EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32336, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34454, 145 + 345); - EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36757, 145 + 368); - EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39196, 145 + 392); - EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41719, 145 + 417); - EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44280, 145 + 443); - EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46832, 145 + 468); - EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49338, 145 + 493); - EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51765, 145 + 518); - EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 54080, 145 + 541); - EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56254, 145 + 563); - EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58256, 145 + 583); - EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 60058, 145 + 601); - EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61633, 145 + 616); - EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62963, 145 + 630); - EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 64035, 145 + 640); - EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64845, 145 + 648); - EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65399, 145 + 654); - EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65709, 145 + 657); - EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65791, 145 + 658); - EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65664, 145 + 657); - EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65349, 145 + 653); + EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58366, 145 + 584); + EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57212, 145 + 572); + EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56045, 145 + 560); + EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54873, 145 + 549); + EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53703, 145 + 537); + EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52538, 145 + 525); + EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51377, 145 + 514); + EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50215, 145 + 502); + EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49039, 145 + 490); + EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 47834, 145 + 478); + EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46581, 145 + 466); + EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45263, 145 + 453); + EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 43868, 145 + 439); + EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42390, 145 + 424); + EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 40832, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39210, 145 + 392); + EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37547, 145 + 375); + EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 35876, 145 + 359); + EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34237, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32675, 145 + 327); + EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31233, 145 + 312); + EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 29950, 145 + 300); + EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28854, 145 + 289); + EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 27960, 145 + 280); + EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27263, 145 + 273); + EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26744, 145 + 267); + EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26368, 145 + 264); + EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26095, 145 + 261); + EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25885, 145 + 259); + EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25704, 145 + 257); + EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25530, 145 + 255); + EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25353, 145 + 254); + EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25176, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25017, 145 + 250); + EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 24901, 145 + 249); + EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 24866, 145 + 249); + EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 24956, 145 + 250); + EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25221, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25707, 145 + 257); + EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26455, 145 + 265); + EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27492, 145 + 275); + EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28827, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30453, 145 + 305); + EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32345, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34467, 145 + 345); + EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36775, 145 + 368); + EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39216, 145 + 392); + EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41742, 145 + 417); + EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44303, 145 + 443); + EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46856, 145 + 469); + EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49362, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51788, 145 + 518); + EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 54102, 145 + 541); + EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56274, 145 + 563); + EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58275, 145 + 583); + EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 60075, 145 + 601); + EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61649, 145 + 616); + EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62978, 145 + 630); + EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 64047, 145 + 640); + EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64856, 145 + 649); + EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65408, 145 + 654); + EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65716, 145 + 657); + EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65796, 145 + 658); + EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65667, 145 + 657); + EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65350, 145 + 654); EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64864, 145 + 649); - EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64231, 145 + 642); - EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63468, 145 + 635); - EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62596, 145 + 626); - EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61633, 145 + 616); - EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60598, 145 + 606); - EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59508, 145 + 595); - EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58381, 145 + 584); - EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56229, 145 + 956); - EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55022, 145 + 935); - EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53807, 145 + 915); - EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52592, 145 + 894); - EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51384, 145 + 874); - EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50188, 145 + 853); - EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49004, 145 + 833); - EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47828, 145 + 813); - EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46650, 145 + 793); - EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45453, 145 + 773); - EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44217, 145 + 752); - EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 42923, 145 + 730); - EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41554, 145 + 706); - EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40100, 145 + 682); - EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38562, 145 + 656); - EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 36949, 145 + 628); - EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35284, 145 + 600); - EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33598, 145 + 571); - EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 31937, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30351, 145 + 516); - EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 28896, 145 + 491); - EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27622, 145 + 470); - EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26568, 145 + 452); - EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25754, 145 + 438); - EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25177, 145 + 428); - EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24809, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24603, 145 + 418); - EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24505, 145 + 417); - EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24462, 145 + 416); - EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24429, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24379, 145 + 414); - EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24298, 145 + 413); - EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24185, 145 + 411); - EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24053, 145 + 409); - EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 23926, 145 + 407); - EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23840, 145 + 405); - EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23846, 145 + 405); - EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24003, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24375, 145 + 414); - EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25024, 145 + 425); - EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 25994, 145 + 442); - EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27307, 145 + 464); - EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28961, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30928, 145 + 526); - EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33162, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35604, 145 + 605); - EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38189, 145 + 649); - EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40851, 145 + 694); - EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43529, 145 + 740); - EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46171, 145 + 785); - EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48733, 145 + 828); - EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51183, 145 + 870); - EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53492, 145 + 909); - EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55634, 145 + 946); - EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57582, 145 + 979); - EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59309, 145 + 1008); - EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60794, 145 + 1033); - EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 62019, 145 + 1054); - EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62979, 145 + 1071); - EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63675, 145 + 1082); - EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64118, 145 + 1090); - EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64325, 145 + 1094); - EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64313, 145 + 1093); - EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64102, 145 + 1090); - EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63711, 145 + 1083); + EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64229, 145 + 642); + EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63464, 145 + 635); + EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62590, 145 + 626); + EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61624, 145 + 616); + EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60587, 145 + 606); + EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59496, 145 + 595); + EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58366, 145 + 584); + EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56216, 145 + 956); + EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55008, 145 + 935); + EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53791, 145 + 914); + EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52574, 145 + 894); + EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51364, 145 + 873); + EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50166, 145 + 853); + EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 48980, 145 + 833); + EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47803, 145 + 813); + EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46624, 145 + 793); + EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45425, 145 + 772); + EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44189, 145 + 751); + EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 42894, 145 + 729); + EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41524, 145 + 706); + EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40070, 145 + 681); + EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38532, 145 + 655); + EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 36919, 145 + 628); + EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35253, 145 + 599); + EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33568, 145 + 571); + EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 31908, 145 + 542); + EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30323, 145 + 515); + EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 28870, 145 + 491); + EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27598, 145 + 469); + EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26546, 145 + 451); + EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25735, 145 + 437); + EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25160, 145 + 428); + EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24794, 145 + 421); + EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24590, 145 + 418); + EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24492, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24448, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24414, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24362, 145 + 414); + EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24278, 145 + 413); + EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24163, 145 + 411); + EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24029, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 23900, 145 + 406); + EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23814, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23820, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 23978, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24354, 145 + 414); + EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25008, 145 + 425); + EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 25984, 145 + 442); + EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27304, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28965, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30939, 145 + 526); + EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33179, 145 + 564); + EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35626, 145 + 606); + EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38215, 145 + 650); + EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40879, 145 + 695); + EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43558, 145 + 740); + EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46199, 145 + 785); + EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48760, 145 + 829); + EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51209, 145 + 871); + EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53516, 145 + 910); + EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55655, 145 + 946); + EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57601, 145 + 979); + EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59327, 145 + 1009); + EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60810, 145 + 1034); + EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 62034, 145 + 1055); + EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62992, 145 + 1071); + EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63686, 145 + 1083); + EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64127, 145 + 1090); + EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64332, 145 + 1094); + EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64319, 145 + 1093); + EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64106, 145 + 1090); + EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63714, 145 + 1083); EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63158, 145 + 1074); - EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62458, 145 + 1062); - EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61631, 145 + 1048); - EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60693, 145 + 1032); - EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59665, 145 + 1014); - EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58566, 145 + 996); - EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57415, 145 + 976); - EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56229, 145 + 956); - EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53891, 145 + 916); - EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52657, 145 + 895); - EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51417, 145 + 874); - EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50180, 145 + 853); - EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 48951, 145 + 832); - EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47737, 145 + 812); - EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46540, 145 + 791); - EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45359, 145 + 771); - EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44187, 145 + 751); - EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43009, 145 + 731); - EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41807, 145 + 711); - EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40562, 145 + 690); - EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39255, 145 + 667); - EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 37873, 145 + 644); - EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36411, 145 + 619); - EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 34872, 145 + 593); - EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33271, 145 + 566); - EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31637, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30015, 145 + 510); - EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28461, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27040, 145 + 460); - EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25814, 145 + 439); - EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24834, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24126, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23686, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23477, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23442, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23514, 145 + 400); - EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23631, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23745, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23827, 145 + 405); - EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23864, 145 + 406); - EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23851, 145 + 405); - EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23794, 145 + 405); - EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23708, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23618, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23571, 145 + 401); - EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23630, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23874, 145 + 406); - EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24383, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25228, 145 + 429); - EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26449, 145 + 450); - EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28055, 145 + 477); - EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 30022, 145 + 510); - EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32298, 145 + 549); - EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34811, 145 + 592); - EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37480, 145 + 637); - EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40222, 145 + 684); - EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42960, 145 + 730); - EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45631, 145 + 776); - EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48187, 145 + 819); - EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50596, 145 + 860); - EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52831, 145 + 898); - EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54870, 145 + 933); - EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56691, 145 + 964); - EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58272, 145 + 991); - EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59598, 145 + 1013); - EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60660, 145 + 1031); - EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61461, 145 + 1045); - EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 62012, 145 + 1054); - EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62330, 145 + 1060); - EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62435, 145 + 1061); - EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62344, 145 + 1060); - EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62073, 145 + 1055); - EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61636, 145 + 1048); - EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61045, 145 + 1038); - EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60313, 145 + 1025); - EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59455, 145 + 1011); - EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58486, 145 + 994); - EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57425, 145 + 976); - EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56292, 145 + 957); - EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55108, 145 + 937); - EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53891, 145 + 916); - EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51395, 145 + 874); - EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50159, 145 + 853); - EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48920, 145 + 832); - EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47684, 145 + 811); - EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46457, 145 + 790); - EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45244, 145 + 769); - EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44050, 145 + 749); - EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42876, 145 + 729); - EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41719, 145 + 709); - EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40571, 145 + 690); - EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39417, 145 + 670); - EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38241, 145 + 650); - EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37025, 145 + 629); - EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35754, 145 + 608); - EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34415, 145 + 585); - EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33004, 145 + 561); - EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31525, 145 + 536); - EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30000, 145 + 510); - EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28473, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27001, 145 + 459); - EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25658, 145 + 436); - EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24516, 145 + 417); - EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23633, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23041, 145 + 392); - EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22734, 145 + 386); - EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22669, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22780, 145 + 387); - EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 22992, 145 + 391); - EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23243, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23488, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23703, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23879, 145 + 406); - EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24009, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24089, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24115, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24097, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24065, 145 + 409); - EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24076, 145 + 409); - EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24213, 145 + 412); - EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24572, 145 + 418); - EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25246, 145 + 429); - EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26301, 145 + 447); - EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27767, 145 + 472); - EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29634, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31853, 145 + 541); - EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34345, 145 + 584); - EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 37016, 145 + 629); - EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39765, 145 + 676); - EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42499, 145 + 722); - EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 45143, 145 + 767); - EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47642, 145 + 810); - EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49959, 145 + 849); - EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 52070, 145 + 885); - EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53955, 145 + 917); - EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55595, 145 + 945); - EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56975, 145 + 969); - EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58088, 145 + 987); - EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58937, 145 + 1002); - EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59541, 145 + 1012); - EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59924, 145 + 1019); - EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60110, 145 + 1022); - EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60120, 145 + 1022); - EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59966, 145 + 1019); - EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59656, 145 + 1014); - EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59195, 145 + 1006); - EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58591, 145 + 996); - EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57852, 145 + 983); - EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56990, 145 + 969); - EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56016, 145 + 952); - EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54949, 145 + 934); - EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53808, 145 + 915); - EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52617, 145 + 894); - EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51395, 145 + 874); - EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48756, 145 + 488); - EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47544, 145 + 475); - EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46333, 145 + 463); - EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45126, 145 + 451); - EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43927, 145 + 439); - EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42740, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41570, 145 + 416); - EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40422, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39299, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38196, 145 + 382); - EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37106, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36016, 145 + 360); - EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 34912, 145 + 349); - EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33779, 145 + 338); - EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32597, 145 + 326); - EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31351, 145 + 314); - EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30036, 145 + 300); - EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28666, 145 + 287); - EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27279, 145 + 273); - EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 25935, 145 + 259); - EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24708, 145 + 247); - EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23678, 145 + 237); - EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22907, 145 + 229); - EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22429, 145 + 224); - EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22237, 145 + 222); - EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22285, 145 + 223); - EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22503, 145 + 225); - EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22819, 145 + 228); - EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23172, 145 + 232); - EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23528, 145 + 235); - EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23872, 145 + 239); - EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24202, 145 + 242); - EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24508, 145 + 245); - EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24776, 145 + 248); - EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 24980, 145 + 250); - EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25108, 145 + 251); - EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25167, 145 + 252); - EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25198, 145 + 252); - EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25280, 145 + 253); - EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25510, 145 + 255); - EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 25997, 145 + 260); - EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26831, 145 + 268); - EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28071, 145 + 281); - EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29731, 145 + 297); - EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31780, 145 + 318); - EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 34142, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36716, 145 + 367); - EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39386, 145 + 394); - EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 42045, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44603, 145 + 446); - EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46997, 145 + 470); - EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49186, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51141, 145 + 511); - EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52842, 145 + 528); - EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54270, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55414, 145 + 554); - EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56277, 145 + 563); - EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56882, 145 + 569); - EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57266, 145 + 573); - EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57469, 145 + 575); - EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57524, 145 + 575); - EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57449, 145 + 574); - EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57246, 145 + 572); - EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56913, 145 + 569); - EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56445, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55843, 145 + 558); - EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55113, 145 + 551); - EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54264, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53306, 145 + 533); - EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52256, 145 + 523); - EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51132, 145 + 511); - EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49958, 145 + 500); - EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48756, 145 + 488); - EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46003, 145 + 460); - EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44843, 145 + 448); - EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43688, 145 + 437); - EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42540, 145 + 425); - EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41400, 145 + 414); - EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40270, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39156, 145 + 392); - EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38065, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37002, 145 + 370); - EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 35968, 145 + 360); - EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 34961, 145 + 350); - EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 33976, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33002, 145 + 330); - EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32022, 145 + 320); - EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31015, 145 + 310); - EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 29956, 145 + 300); - EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28831, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27647, 145 + 276); - EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26436, 145 + 264); - EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25254, 145 + 253); - EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24176, 145 + 242); - EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23277, 145 + 233); - EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22621, 145 + 226); - EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22242, 145 + 222); - EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22133, 145 + 221); - EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22255, 145 + 223); - EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22541, 145 + 225); - EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22924, 145 + 229); - EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23354, 145 + 234); - EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23805, 145 + 238); - EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24272, 145 + 243); - EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24757, 145 + 248); - EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25249, 145 + 252); - EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25722, 145 + 257); - EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26133, 145 + 261); - EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26446, 145 + 264); - EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26647, 145 + 266); - EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26756, 145 + 268); - EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26835, 145 + 268); - EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 26977, 145 + 270); - EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27290, 145 + 273); - EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27881, 145 + 279); - EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28837, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30207, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31984, 145 + 320); - EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 34111, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36486, 145 + 365); - EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38986, 145 + 390); - EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41492, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43903, 145 + 439); - EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 46147, 145 + 461); - EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48178, 145 + 482); - EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49960, 145 + 500); - EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51465, 145 + 515); - EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52671, 145 + 527); - EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53568, 145 + 536); - EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54171, 145 + 542); - EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54522, 145 + 545); - EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54681, 145 + 547); - EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54707, 145 + 547); - EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54640, 145 + 546); - EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54492, 145 + 545); - EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54255, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53910, 145 + 539); - EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53442, 145 + 534); - EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52848, 145 + 528); - EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52135, 145 + 521); - EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51310, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50386, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49373, 145 + 494); - EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48289, 145 + 483); - EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47158, 145 + 472); - EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46003, 145 + 460); - EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43196, 145 + 432); - EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42117, 145 + 421); - EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41050, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 39994, 145 + 400); - EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 38947, 145 + 389); - EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37911, 145 + 379); - EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36890, 145 + 369); - EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35892, 145 + 359); - EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34924, 145 + 349); - EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 33992, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33096, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32237, 145 + 322); - EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31407, 145 + 314); - EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30591, 145 + 306); - EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29765, 145 + 298); - EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28901, 145 + 289); - EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 27980, 145 + 280); - EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27000, 145 + 270); - EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 25988, 145 + 260); - EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 24993, 145 + 250); - EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24080, 145 + 241); - EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23319, 145 + 233); - EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22766, 145 + 228); - EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22457, 145 + 225); - EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22392, 145 + 224); - EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22542, 145 + 225); - EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22856, 145 + 229); - EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23277, 145 + 233); - EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23763, 145 + 238); - EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24295, 145 + 243); - EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24870, 145 + 249); - EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25491, 145 + 255); - EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144, 145 + 261); - EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26796, 145 + 268); - EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27393, 145 + 274); - EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27882, 145 + 279); - EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28231, 145 + 282); - EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28442, 145 + 284); - EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28557, 145 + 286); - EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28651, 145 + 287); - EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28824, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29189, 145 + 292); - EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29852, 145 + 299); - EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30892, 145 + 309); - EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32337, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34151, 145 + 342); - EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36243, 145 + 362); - EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38491, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40770, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42974, 145 + 430); - EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 45026, 145 + 450); - EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46871, 145 + 469); - EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48468, 145 + 485); - EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49779, 145 + 498); - EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50772, 145 + 508); - EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51436, 145 + 514); - EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51796, 145 + 518); - EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51911, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51864, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51730, 145 + 517); - EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51558, 145 + 516); - EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51352, 145 + 514); - EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51088, 145 + 511); - EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50735, 145 + 507); - EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50269, 145 + 503); - EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49684, 145 + 497); - EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48989, 145 + 490); - EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48197, 145 + 482); - EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47316, 145 + 473); - EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46358, 145 + 464); - EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45338, 145 + 453); - EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44275, 145 + 443); - EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43196, 145 + 432); - EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40441, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39475, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38527, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37595, 145 + 376); - EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36675, 145 + 367); - EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35769, 145 + 358); - EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34880, 145 + 349); - EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34015, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33183, 145 + 332); - EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32388, 145 + 324); - EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31635, 145 + 316); - EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30924, 145 + 309); - EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30253, 145 + 303); - EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29607, 145 + 296); - EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 28964, 145 + 290); - EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28295, 145 + 283); - EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27580, 145 + 276); - EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26812, 145 + 268); - EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26009, 145 + 260); - EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25208, 145 + 252); - EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24461, 145 + 245); - EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23824, 145 + 238); - EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23349, 145 + 233); - EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23070, 145 + 231); - EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23000, 145 + 230); - EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23130, 145 + 231); + EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62457, 145 + 1062); + EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61628, 145 + 1048); + EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60688, 145 + 1032); + EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59658, 145 + 1014); + EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58557, 145 + 995); + EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57404, 145 + 976); + EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56216, 145 + 956); + EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53880, 145 + 916); + EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52645, 145 + 895); + EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51403, 145 + 874); + EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50164, 145 + 853); + EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 48933, 145 + 832); + EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47717, 145 + 811); + EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46519, 145 + 791); + EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45336, 145 + 771); + EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44163, 145 + 751); + EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 42984, 145 + 731); + EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41781, 145 + 710); + EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40535, 145 + 689); + EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39228, 145 + 667); + EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 37846, 145 + 643); + EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36383, 145 + 619); + EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 34844, 145 + 592); + EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33243, 145 + 565); + EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31609, 145 + 537); + EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 29988, 145 + 510); + EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28435, 145 + 483); + EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27015, 145 + 459); + EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25792, 145 + 438); + EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24815, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24110, 145 + 410); + EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23672, 145 + 402); + EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23466, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23432, 145 + 398); + EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23504, 145 + 400); + EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23620, 145 + 402); + EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23732, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23812, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23846, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23831, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23771, 145 + 404); + EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23682, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23591, 145 + 401); + EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23542, 145 + 400); + EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23602, 145 + 401); + EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23849, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24364, 145 + 414); + EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25215, 145 + 429); + EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26445, 145 + 450); + EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28060, 145 + 477); + EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 30036, 145 + 511); + EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32319, 145 + 549); + EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34838, 145 + 592); + EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37511, 145 + 638); + EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40255, 145 + 684); + EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42993, 145 + 731); + EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45663, 145 + 776); + EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48218, 145 + 820); + EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50623, 145 + 861); + EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52855, 145 + 899); + EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54891, 145 + 933); + EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56710, 145 + 964); + EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58289, 145 + 991); + EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59613, 145 + 1013); + EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60674, 145 + 1031); + EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61473, 145 + 1045); + EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 62022, 145 + 1054); + EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62339, 145 + 1060); + EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62442, 145 + 1062); + EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62350, 145 + 1060); + EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62078, 145 + 1055); + EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61638, 145 + 1048); + EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61046, 145 + 1038); + EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60312, 145 + 1025); + EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59452, 145 + 1011); + EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58482, 145 + 994); + EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57419, 145 + 976); + EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56285, 145 + 957); + EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55099, 145 + 937); + EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53880, 145 + 916); + EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51386, 145 + 874); + EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50148, 145 + 853); + EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48908, 145 + 831); + EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47670, 145 + 810); + EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46441, 145 + 790); + EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45226, 145 + 769); + EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44030, 145 + 749); + EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42855, 145 + 729); + EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41698, 145 + 709); + EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40549, 145 + 689); + EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39394, 145 + 670); + EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38217, 145 + 650); + EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37000, 145 + 629); + EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35729, 145 + 607); + EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34390, 145 + 585); + EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 32978, 145 + 561); + EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31499, 145 + 535); + EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 29975, 145 + 510); + EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28447, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 26977, 145 + 459); + EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25635, 145 + 436); + EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24495, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23615, 145 + 401); + EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23026, 145 + 391); + EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22722, 145 + 386); + EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22660, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22772, 145 + 387); + EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 22985, 145 + 391); + EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23235, 145 + 395); + EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23478, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23691, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23864, 145 + 406); + EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 23992, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24068, 145 + 409); + EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24092, 145 + 410); + EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24071, 145 + 409); + EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24036, 145 + 409); + EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24046, 145 + 409); + EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24185, 145 + 411); + EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24550, 145 + 417); + EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25231, 145 + 429); + EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26295, 145 + 447); + EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27772, 145 + 472); + EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29648, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31876, 145 + 542); + EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34375, 145 + 584); + EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 37050, 145 + 630); + EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39801, 145 + 677); + EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42536, 145 + 723); + EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 45178, 145 + 768); + EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47674, 145 + 810); + EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49987, 145 + 850); + EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 52094, 145 + 886); + EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53976, 145 + 918); + EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55613, 145 + 945); + EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56990, 145 + 969); + EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58101, 145 + 988); + EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58949, 145 + 1002); + EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59552, 145 + 1012); + EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59934, 145 + 1019); + EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60119, 145 + 1022); + EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60127, 145 + 1022); + EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59972, 145 + 1020); + EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59660, 145 + 1014); + EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59198, 145 + 1006); + EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58593, 145 + 996); + EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57853, 145 + 983); + EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56988, 145 + 969); + EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56013, 145 + 952); + EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54945, 145 + 934); + EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53803, 145 + 915); + EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52610, 145 + 894); + EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51386, 145 + 874); + EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48750, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47536, 145 + 475); + EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46322, 145 + 463); + EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45113, 145 + 451); + EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43912, 145 + 439); + EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42723, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41552, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40404, 145 + 404); + EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39280, 145 + 393); + EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38176, 145 + 382); + EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37085, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 35995, 145 + 360); + EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 34891, 145 + 349); + EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33756, 145 + 338); + EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32574, 145 + 326); + EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31328, 145 + 313); + EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30012, 145 + 300); + EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28642, 145 + 286); + EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27255, 145 + 273); + EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 25911, 145 + 259); + EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24686, 145 + 247); + EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23658, 145 + 237); + EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22890, 145 + 229); + EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22416, 145 + 224); + EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22227, 145 + 222); + EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22278, 145 + 223); + EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22498, 145 + 225); + EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22814, 145 + 228); + EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23167, 145 + 232); + EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23521, 145 + 235); + EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23864, 145 + 239); + EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24192, 145 + 242); + EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24496, 145 + 245); + EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24760, 145 + 248); + EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 24962, 145 + 250); + EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25085, 145 + 251); + EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25140, 145 + 251); + EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25169, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25250, 145 + 253); + EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25485, 145 + 255); + EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 25978, 145 + 260); + EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26822, 145 + 268); + EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28072, 145 + 281); + EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29744, 145 + 297); + EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31802, 145 + 318); + EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 34173, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36752, 145 + 368); + EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39425, 145 + 394); + EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 42084, 145 + 421); + EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44640, 145 + 446); + EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 47031, 145 + 470); + EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49216, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51166, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52862, 145 + 529); + EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54286, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55427, 145 + 554); + EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56288, 145 + 563); + EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56892, 145 + 569); + EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57275, 145 + 573); + EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57477, 145 + 575); + EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57531, 145 + 575); + EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57454, 145 + 575); + EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57252, 145 + 573); + EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56917, 145 + 569); + EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56448, 145 + 564); + EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55845, 145 + 558); + EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55114, 145 + 551); + EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54263, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53305, 145 + 533); + EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52253, 145 + 523); + EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51128, 145 + 511); + EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49953, 145 + 500); + EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48750, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 45998, 145 + 460); + EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44836, 145 + 448); + EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43679, 145 + 437); + EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42529, 145 + 425); + EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41387, 145 + 414); + EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40255, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39140, 145 + 391); + EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38048, 145 + 380); + EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 36984, 145 + 370); + EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 35950, 145 + 359); + EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 34943, 145 + 349); + EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 33957, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 32983, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32003, 145 + 320); + EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 30994, 145 + 310); + EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 29935, 145 + 299); + EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28809, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27624, 145 + 276); + EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26412, 145 + 264); + EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25230, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24153, 145 + 242); + EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23257, 145 + 233); + EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22604, 145 + 226); + EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22229, 145 + 222); + EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22125, 145 + 221); + EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22250, 145 + 222); + EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22538, 145 + 225); + EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22923, 145 + 229); + EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23353, 145 + 234); + EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23803, 145 + 238); + EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24270, 145 + 243); + EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24753, 145 + 248); + EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25243, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25713, 145 + 257); + EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26120, 145 + 261); + EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26428, 145 + 264); + EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26624, 145 + 266); + EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26729, 145 + 267); + EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26807, 145 + 268); + EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 26950, 145 + 270); + EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27268, 145 + 273); + EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27868, 145 + 279); + EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28836, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30216, 145 + 302); + EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 32004, 145 + 320); + EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 34140, 145 + 341); + EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36520, 145 + 365); + EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 39024, 145 + 390); + EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41531, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43941, 145 + 439); + EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 46182, 145 + 462); + EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48208, 145 + 482); + EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49985, 145 + 500); + EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51484, 145 + 515); + EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52685, 145 + 527); + EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53579, 145 + 536); + EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54179, 145 + 542); + EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54529, 145 + 545); + EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54687, 145 + 547); + EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54713, 145 + 547); + EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54645, 145 + 546); + EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54497, 145 + 545); + EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54260, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53914, 145 + 539); + EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53446, 145 + 534); + EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52851, 145 + 529); + EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52137, 145 + 521); + EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51311, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50385, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49372, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48287, 145 + 483); + EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47155, 145 + 472); + EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 45998, 145 + 460); + EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43192, 145 + 432); + EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42112, 145 + 421); + EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41042, 145 + 410); + EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 39983, 145 + 400); + EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 38935, 145 + 389); + EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37897, 145 + 379); + EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36875, 145 + 369); + EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35877, 145 + 359); + EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34909, 145 + 349); + EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 33976, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33080, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32220, 145 + 322); + EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31390, 145 + 314); + EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30574, 145 + 306); + EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29747, 145 + 297); + EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28882, 145 + 289); + EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 27959, 145 + 280); + EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 26978, 145 + 270); + EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 25964, 145 + 260); + EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 24968, 145 + 250); + EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24057, 145 + 241); + EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23298, 145 + 233); + EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22748, 145 + 227); + EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22443, 145 + 224); + EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22384, 145 + 224); + EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22538, 145 + 225); + EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22855, 145 + 229); + EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23279, 145 + 233); + EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23766, 145 + 238); + EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24298, 145 + 243); + EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24873, 145 + 249); + EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25493, 145 + 255); + EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26145, 145 + 261); + EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26794, 145 + 268); + EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27386, 145 + 274); + EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27870, 145 + 279); + EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28213, 145 + 282); + EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28420, 145 + 284); + EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28532, 145 + 285); + EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28626, 145 + 286); + EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28803, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29174, 145 + 292); + EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29846, 145 + 298); + EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30897, 145 + 309); + EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32352, 145 + 324); + EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34175, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36274, 145 + 363); + EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38526, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40807, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 43010, 145 + 430); + EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 45060, 145 + 451); + EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46901, 145 + 469); + EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48493, 145 + 485); + EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49798, 145 + 498); + EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50785, 145 + 508); + EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51445, 145 + 514); + EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51802, 145 + 518); + EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51916, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51868, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51734, 145 + 517); + EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51561, 145 + 516); + EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51355, 145 + 514); + EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51092, 145 + 511); + EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50739, 145 + 507); + EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50273, 145 + 503); + EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49688, 145 + 497); + EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48992, 145 + 490); + EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48199, 145 + 482); + EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47318, 145 + 473); + EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46359, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45337, 145 + 453); + EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44274, 145 + 443); + EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43192, 145 + 432); + EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40439, 145 + 404); + EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39471, 145 + 395); + EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38520, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37585, 145 + 376); + EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36664, 145 + 367); + EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35756, 145 + 358); + EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34866, 145 + 349); + EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34002, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33169, 145 + 332); + EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32374, 145 + 324); + EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31620, 145 + 316); + EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30910, 145 + 309); + EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30237, 145 + 302); + EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29590, 145 + 296); + EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 28946, 145 + 289); + EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28276, 145 + 283); + EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27559, 145 + 276); + EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26790, 145 + 268); + EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 25985, 145 + 260); + EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25184, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24437, 145 + 244); + EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23802, 145 + 238); + EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23330, 145 + 233); + EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23055, 145 + 231); + EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 22991, 145 + 230); + EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23126, 145 + 231); EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23427, 145 + 234); - EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23852, 145 + 239); - EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24370, 145 + 244); - EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24960, 145 + 250); - EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25616, 145 + 256); - EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26332, 145 + 263); - EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27093, 145 + 271); - EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27860, 145 + 279); - EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28579, 145 + 286); - EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29192, 145 + 292); - EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29657, 145 + 297); - EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 29963, 145 + 300); - EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30129, 145 + 301); - EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30210, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30290, 145 + 303); - EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30476, 145 + 305); - EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30883, 145 + 309); + EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23856, 145 + 239); + EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24376, 145 + 244); + EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24967, 145 + 250); + EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25623, 145 + 256); + EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26339, 145 + 263); + EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27098, 145 + 271); + EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27863, 145 + 279); + EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28578, 145 + 286); + EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29186, 145 + 292); + EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29645, 145 + 296); + EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 29945, 145 + 299); + EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30108, 145 + 301); + EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30188, 145 + 302); + EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30270, 145 + 303); + EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30460, 145 + 305); + EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30874, 145 + 309); EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31612, 145 + 316); - EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32718, 145 + 327); - EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34189, 145 + 342); - EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35952, 145 + 360); - EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37891, 145 + 379); - EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39886, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41832, 145 + 418); - EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43652, 145 + 437); - EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45289, 145 + 453); - EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46694, 145 + 467); - EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47817, 145 + 478); - EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48619, 145 + 486); - EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49084, 145 + 491); - EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49242, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49164, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48951, 145 + 490); - EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48690, 145 + 487); - EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48432, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48176, 145 + 482); - EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47888, 145 + 479); - EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47523, 145 + 475); - EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47053, 145 + 471); - EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46474, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45797, 145 + 458); - EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45039, 145 + 450); - EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44210, 145 + 442); - EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43321, 145 + 433); - EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42384, 145 + 424); + EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32728, 145 + 327); + EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34208, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35978, 145 + 360); + EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37922, 145 + 379); + EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39919, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41865, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43683, 145 + 437); + EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45317, 145 + 453); + EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46717, 145 + 467); + EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47835, 145 + 478); + EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48631, 145 + 486); + EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49092, 145 + 491); + EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49247, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49168, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48954, 145 + 490); + EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48693, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48434, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48179, 145 + 482); + EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47892, 145 + 479); + EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47528, 145 + 475); + EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47058, 145 + 471); + EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46479, 145 + 465); + EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45802, 145 + 458); + EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45042, 145 + 450); + EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44214, 145 + 442); + EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43324, 145 + 433); + EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42385, 145 + 424); EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41416, 145 + 414); - EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40441, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37894, 145 + 379); - EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37070, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36269, 145 + 363); - EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35488, 145 + 355); - EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34724, 145 + 347); - EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 33977, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33252, 145 + 333); - EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32556, 145 + 326); - EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31895, 145 + 319); - EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31273, 145 + 313); - EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30692, 145 + 307); - EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30152, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29653, 145 + 297); - EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29182, 145 + 292); - EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28721, 145 + 287); - EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28245, 145 + 282); - EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27732, 145 + 277); - EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27172, 145 + 272); - EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26571, 145 + 266); - EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 25951, 145 + 260); - EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25349, 145 + 253); - EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24809, 145 + 248); - EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24373, 145 + 244); - EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24080, 145 + 241); - EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 23956, 145 + 240); - EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24012, 145 + 240); + EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40439, 145 + 404); + EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37892, 145 + 379); + EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37066, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36263, 145 + 363); + EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35480, 145 + 355); + EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34714, 145 + 347); + EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 33967, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33241, 145 + 332); + EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32545, 145 + 325); + EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31883, 145 + 319); + EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31261, 145 + 313); + EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30679, 145 + 307); + EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30139, 145 + 301); + EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29639, 145 + 296); + EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29166, 145 + 292); + EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28704, 145 + 287); + EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28226, 145 + 282); + EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27711, 145 + 277); + EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27149, 145 + 271); + EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26546, 145 + 265); + EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 25926, 145 + 259); + EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25324, 145 + 253); + EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24785, 145 + 248); + EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24352, 145 + 244); + EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24063, 145 + 241); + EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 23944, 145 + 239); + EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24006, 145 + 240); EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24242, 145 + 242); - EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24626, 145 + 246); - EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25136, 145 + 251); - EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25746, 145 + 257); - EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26437, 145 + 264); - EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27192, 145 + 272); - EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27988, 145 + 280); - EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28791, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29552, 145 + 296); - EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30217, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30746, 145 + 307); - EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31118, 145 + 311); - EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31336, 145 + 313); - EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31432, 145 + 314); - EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31471, 145 + 315); - EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31546, 145 + 315); - EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31772, 145 + 318); - EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32256, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33071, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34222, 145 + 342); - EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35652, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37262, 145 + 373); - EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38943, 145 + 389); - EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40600, 145 + 406); - EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42161, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43572, 145 + 436); - EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44779, 145 + 448); - EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45726, 145 + 457); - EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46366, 145 + 464); - EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46678, 145 + 467); - EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46690, 145 + 467); - EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46482, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46156, 145 + 462); - EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45806, 145 + 458); - EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45480, 145 + 455); - EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45175, 145 + 452); - EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44852, 145 + 449); - EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44462, 145 + 445); - EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43976, 145 + 440); - EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43393, 145 + 434); - EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42729, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 42004, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41232, 145 + 412); - EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40423, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39586, 145 + 396); + EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24630, 145 + 246); + EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25144, 145 + 251); + EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25756, 145 + 258); + EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26447, 145 + 264); + EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27201, 145 + 272); + EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27997, 145 + 280); + EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28798, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29555, 145 + 296); + EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30216, 145 + 302); + EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30740, 145 + 307); + EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31106, 145 + 311); + EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31320, 145 + 313); + EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31415, 145 + 314); + EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31454, 145 + 315); + EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31531, 145 + 315); + EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31762, 145 + 318); + EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32254, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33077, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34236, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35673, 145 + 357); + EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37288, 145 + 373); + EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38971, 145 + 390); + EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40628, 145 + 406); + EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42189, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43597, 145 + 436); + EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44800, 145 + 448); + EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45743, 145 + 457); + EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46377, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46685, 145 + 467); + EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46695, 145 + 467); + EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46485, 145 + 465); + EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46158, 145 + 462); + EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45807, 145 + 458); + EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45482, 145 + 455); + EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45178, 145 + 452); + EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44855, 145 + 449); + EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44466, 145 + 445); + EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43982, 145 + 440); + EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43399, 145 + 434); + EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42735, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 42009, 145 + 420); + EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41237, 145 + 412); + EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40426, 145 + 404); + EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39588, 145 + 396); EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38737, 145 + 387); - EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37894, 145 + 379); - EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35733, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35073, 145 + 351); - EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34440, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33829, 145 + 338); - EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33238, 145 + 332); - EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32669, 145 + 327); - EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32129, 145 + 321); - EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31625, 145 + 316); - EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31161, 145 + 312); - EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30737, 145 + 307); - EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30352, 145 + 304); - EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30002, 145 + 300); - EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29686, 145 + 297); - EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29395, 145 + 294); - EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29115, 145 + 291); - EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28825, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28503, 145 + 285); - EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28133, 145 + 281); - EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27708, 145 + 277); - EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27238, 145 + 272); - EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26745, 145 + 267); - EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26262, 145 + 263); - EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25827, 145 + 258); - EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25480, 145 + 255); - EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25259, 145 + 253); - EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25194, 145 + 252); - EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25305, 145 + 253); - EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25593, 145 + 256); - EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26038, 145 + 260); - EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26610, 145 + 266); - EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27277, 145 + 273); - EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 28006, 145 + 280); - EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28771, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29538, 145 + 295); - EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30268, 145 + 303); - EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30922, 145 + 309); - EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31464, 145 + 315); - EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31871, 145 + 319); - EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32135, 145 + 321); - EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32270, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32320, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32362, 145 + 324); - EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32500, 145 + 325); - EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32837, 145 + 328); - EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33445, 145 + 334); - EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34337, 145 + 343); - EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35472, 145 + 355); - EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36769, 145 + 368); - EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38138, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39501, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40797, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41977, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42987, 145 + 430); - EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43770, 145 + 438); - EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44275, 145 + 443); - EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44481, 145 + 445); - EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44410, 145 + 444); - EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44136, 145 + 441); - EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43753, 145 + 438); - EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43346, 145 + 433); - EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42962, 145 + 430); - EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42598, 145 + 426); - EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42216, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41777, 145 + 418); - EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41255, 145 + 413); - EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40654, 145 + 407); - EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39994, 145 + 400); - EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39297, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38581, 145 + 386); - EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37857, 145 + 379); - EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37133, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37892, 145 + 379); + EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35732, 145 + 357); + EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35070, 145 + 351); + EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34435, 145 + 344); + EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33822, 145 + 338); + EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33230, 145 + 332); + EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32660, 145 + 327); + EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32119, 145 + 321); + EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31615, 145 + 316); + EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31150, 145 + 312); + EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30726, 145 + 307); + EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30340, 145 + 303); + EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 29990, 145 + 300); + EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29672, 145 + 297); + EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29380, 145 + 294); + EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29098, 145 + 291); + EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28806, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28482, 145 + 285); + EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28109, 145 + 281); + EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27682, 145 + 277); + EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27211, 145 + 272); + EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26718, 145 + 267); + EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26236, 145 + 262); + EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25804, 145 + 258); + EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25461, 145 + 255); + EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25244, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25185, 145 + 252); + EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25302, 145 + 253); + EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25596, 145 + 256); + EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26045, 145 + 260); + EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26620, 145 + 266); + EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27287, 145 + 273); + EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 28017, 145 + 280); + EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28781, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29546, 145 + 295); + EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30274, 145 + 303); + EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30924, 145 + 309); + EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31462, 145 + 315); + EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31865, 145 + 319); + EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32125, 145 + 321); + EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32257, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32306, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32350, 145 + 324); + EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32492, 145 + 325); + EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32834, 145 + 328); + EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33448, 145 + 334); + EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34348, 145 + 343); + EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35489, 145 + 355); + EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36790, 145 + 368); + EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38162, 145 + 382); + EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39526, 145 + 395); + EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40822, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 42000, 145 + 420); + EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 43007, 145 + 430); + EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43786, 145 + 438); + EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44287, 145 + 443); + EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44489, 145 + 445); + EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44416, 145 + 444); + EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44139, 145 + 441); + EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43755, 145 + 438); + EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43349, 145 + 433); + EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42965, 145 + 430); + EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42600, 145 + 426); + EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42220, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41782, 145 + 418); + EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41261, 145 + 413); + EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40661, 145 + 407); + EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 40000, 145 + 400); + EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39303, 145 + 393); + EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38586, 145 + 386); + EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37860, 145 + 379); + EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37135, 145 + 371); EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36422, 145 + 364); - EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35733, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34117, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33632, 145 + 336); - EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33175, 145 + 332); - EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32739, 145 + 327); - EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32324, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31937, 145 + 319); - EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31588, 145 + 316); - EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31286, 145 + 313); - EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31031, 145 + 310); - EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30820, 145 + 308); - EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30645, 145 + 306); - EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30498, 145 + 305); - EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30374, 145 + 304); - EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30267, 145 + 303); - EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30166, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30053, 145 + 301); - EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 29903, 145 + 299); - EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29693, 145 + 297); - EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29407, 145 + 294); - EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29042, 145 + 290); - EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28614, 145 + 286); - EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28147, 145 + 281); - EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27679, 145 + 277); - EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27249, 145 + 272); - EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26903, 145 + 269); - EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26686, 145 + 267); - EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26638, 145 + 266); - EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26778, 145 + 268); - EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27099, 145 + 271); - EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27570, 145 + 276); - EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28149, 145 + 281); - EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28795, 145 + 288); - EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29475, 145 + 295); - EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30158, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30815, 145 + 308); - EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31420, 145 + 314); + EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35732, 145 + 357); + EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34116, 145 + 341); + EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33629, 145 + 336); + EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33171, 145 + 332); + EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32734, 145 + 327); + EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32317, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31929, 145 + 319); + EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31579, 145 + 316); + EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31276, 145 + 313); + EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31021, 145 + 310); + EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30810, 145 + 308); + EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30634, 145 + 306); + EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30486, 145 + 305); + EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30361, 145 + 304); + EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30252, 145 + 303); + EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30148, 145 + 301); + EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30032, 145 + 300); + EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 29880, 145 + 299); + EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29667, 145 + 297); + EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29380, 145 + 294); + EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29014, 145 + 290); + EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28585, 145 + 286); + EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28120, 145 + 281); + EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27653, 145 + 277); + EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27227, 145 + 272); + EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26885, 145 + 269); + EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26673, 145 + 267); + EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26631, 145 + 266); + EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26777, 145 + 268); + EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27103, 145 + 271); + EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27577, 145 + 276); + EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28158, 145 + 282); + EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28805, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29484, 145 + 295); + EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30166, 145 + 302); + EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30821, 145 + 308); + EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31424, 145 + 314); EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31945, 145 + 319); - EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32367, 145 + 324); - EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32672, 145 + 327); - EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32863, 145 + 329); - EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 32970, 145 + 330); - EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33054, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33199, 145 + 332); - EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33490, 145 + 335); - EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33986, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34701, 145 + 347); - EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35602, 145 + 356); - EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36631, 145 + 366); - EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37720, 145 + 377); - EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38814, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39863, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40824, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41649, 145 + 416); - EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42283, 145 + 423); - EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42681, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42820, 145 + 428); - EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42718, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42429, 145 + 424); - EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42031, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41591, 145 + 416); - EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41147, 145 + 411); - EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40700, 145 + 407); - EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40229, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39706, 145 + 397); - EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39119, 145 + 391); - EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38478, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37805, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37125, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36458, 145 + 365); - EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35815, 145 + 358); - EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35207, 145 + 352); - EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34640, 145 + 346); - EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34117, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33141, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32822, 145 + 328); - EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32534, 145 + 325); - EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32266, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32019, 145 + 320); - EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31806, 145 + 318); - EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31642, 145 + 316); - EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31537, 145 + 315); - EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31492, 145 + 315); - EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31497, 145 + 315); - EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31537, 145 + 315); - EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31599, 145 + 316); - EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31673, 145 + 317); - EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31753, 145 + 318); - EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31828, 145 + 318); - EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31879, 145 + 319); - EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31877, 145 + 319); - EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31794, 145 + 318); - EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31605, 145 + 316); - EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31302, 145 + 313); - EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 30895, 145 + 309); - EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30409, 145 + 304); - EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 29880, 145 + 299); - EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29350, 145 + 294); - EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28870, 145 + 289); - EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28492, 145 + 285); - EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28270, 145 + 283); - EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28235, 145 + 282); - EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28391, 145 + 284); - EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28711, 145 + 287); - EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29154, 145 + 292); - EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29676, 145 + 297); - EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30240, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30820, 145 + 308); - EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31395, 145 + 314); - EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31944, 145 + 319); - EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32446, 145 + 324); - EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32878, 145 + 329); - EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33226, 145 + 332); - EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33487, 145 + 335); - EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33684, 145 + 337); - EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33862, 145 + 339); - EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34084, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34412, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34881, 145 + 349); - EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35495, 145 + 355); - EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36232, 145 + 362); - EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 37052, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37916, 145 + 379); - EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38787, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39629, 145 + 396); - EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40405, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 41072, 145 + 411); - EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41583, 145 + 416); - EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41899, 145 + 419); - EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 42002, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41899, 145 + 419); - EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41627, 145 + 416); - EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41235, 145 + 412); - EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40767, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40251, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39696, 145 + 397); - EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39099, 145 + 391); - EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38454, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37768, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37057, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36346, 145 + 363); - EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35661, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35022, 145 + 350); - EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34446, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33940, 145 + 339); - EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33508, 145 + 335); - EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33141, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32823, 145 + 328); - EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32644, 145 + 326); - EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32502, 145 + 325); - EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32382, 145 + 324); - EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32287, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32233, 145 + 322); - EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32240, 145 + 322); - EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32322, 145 + 323); - EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32476, 145 + 325); - EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32690, 145 + 327); - EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 32941, 145 + 329); - EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33210, 145 + 332); - EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33482, 145 + 335); - EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33748, 145 + 337); - EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 33993, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34195, 145 + 342); - EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34321, 145 + 343); - EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34336, 145 + 343); - EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34210, 145 + 342); - EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 33934, 145 + 339); - EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33516, 145 + 335); - EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 32985, 145 + 330); - EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32377, 145 + 324); - EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31741, 145 + 317); - EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31130, 145 + 311); - EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30604, 145 + 306); - EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30220, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30016, 145 + 300); - EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30001, 145 + 300); + EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32364, 145 + 324); + EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32667, 145 + 327); + EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32856, 145 + 329); + EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 32962, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33046, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33193, 145 + 332); + EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33488, 145 + 335); + EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33990, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34710, 145 + 347); + EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35616, 145 + 356); + EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36649, 145 + 366); + EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37741, 145 + 377); + EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38836, 145 + 388); + EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39886, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40846, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41668, 145 + 417); + EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42300, 145 + 423); + EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42694, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42830, 145 + 428); + EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42725, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42435, 145 + 424); + EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42036, 145 + 420); + EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41595, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41151, 145 + 412); + EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40705, 145 + 407); + EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40234, 145 + 402); + EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39712, 145 + 397); + EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39126, 145 + 391); + EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38485, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37812, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37131, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36462, 145 + 365); + EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35819, 145 + 358); + EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35209, 145 + 352); + EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34641, 145 + 346); + EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34116, 145 + 341); + EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33140, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32820, 145 + 328); + EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32531, 145 + 325); + EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32261, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32013, 145 + 320); + EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31798, 145 + 318); + EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31633, 145 + 316); + EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31528, 145 + 315); + EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31482, 145 + 315); + EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31487, 145 + 315); + EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31526, 145 + 315); + EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31586, 145 + 316); + EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31658, 145 + 317); + EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31736, 145 + 317); + EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31808, 145 + 318); + EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31856, 145 + 319); + EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31852, 145 + 319); + EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31767, 145 + 318); + EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31576, 145 + 316); + EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31272, 145 + 313); + EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 30865, 145 + 309); + EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30380, 145 + 304); + EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 29852, 145 + 299); + EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29325, 145 + 293); + EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28847, 145 + 288); + EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28475, 145 + 285); + EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28258, 145 + 283); + EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28229, 145 + 282); + EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28390, 145 + 284); + EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28715, 145 + 287); + EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29161, 145 + 292); + EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29683, 145 + 297); + EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30247, 145 + 302); + EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30827, 145 + 308); + EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31401, 145 + 314); + EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31949, 145 + 319); + EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32449, 145 + 324); + EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32879, 145 + 329); + EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33225, 145 + 332); + EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33485, 145 + 335); + EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33681, 145 + 337); + EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33859, 145 + 339); + EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34083, 145 + 341); + EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34414, 145 + 344); + EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34886, 145 + 349); + EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35505, 145 + 355); + EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36246, 145 + 362); + EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 37069, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37936, 145 + 379); + EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38808, 145 + 388); + EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39652, 145 + 397); + EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40428, 145 + 404); + EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 41093, 145 + 411); + EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41602, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41915, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 42015, 145 + 420); + EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41910, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41636, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41243, 145 + 412); + EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40774, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40257, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39702, 145 + 397); + EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39105, 145 + 391); + EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38460, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37774, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37063, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36352, 145 + 364); + EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35666, 145 + 357); + EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35027, 145 + 350); + EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34449, 145 + 344); + EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33943, 145 + 339); + EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33509, 145 + 335); + EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33140, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32822, 145 + 328); + EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32642, 145 + 326); + EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32498, 145 + 325); + EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32377, 145 + 324); + EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32280, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32225, 145 + 322); + EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32231, 145 + 322); + EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32312, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32466, 145 + 325); + EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32678, 145 + 327); + EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 32928, 145 + 329); + EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33195, 145 + 332); + EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33466, 145 + 335); + EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33729, 145 + 337); + EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 33971, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34170, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34294, 145 + 343); + EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34306, 145 + 343); + EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34179, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 33902, 145 + 339); + EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33485, 145 + 335); + EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 32953, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32346, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31712, 145 + 317); + EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31104, 145 + 311); + EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30583, 145 + 306); + EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30204, 145 + 302); + EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30006, 145 + 300); + EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 29996, 145 + 300); EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30155, 145 + 302); - EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30442, 145 + 304); - EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30822, 145 + 308); - EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31264, 145 + 313); - EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31746, 145 + 317); - EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32250, 145 + 322); - EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32759, 145 + 328); - EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33249, 145 + 332); - EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33699, 145 + 337); - EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34092, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34428, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34726, 145 + 347); - EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35021, 145 + 350); - EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35356, 145 + 354); - EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35764, 145 + 358); - EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36258, 145 + 363); - EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36830, 145 + 368); - EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37463, 145 + 375); - EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38138, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38838, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39546, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40237, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40878, 145 + 409); - EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41431, 145 + 414); - EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41855, 145 + 419); - EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42120, 145 + 421); - EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42208, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42122, 145 + 421); - EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41875, 145 + 419); - EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41490, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40987, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40384, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39698, 145 + 397); - EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38946, 145 + 389); - EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38147, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37326, 145 + 373); - EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36511, 145 + 365); - EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35730, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 35008, 145 + 350); - EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34369, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33827, 145 + 338); - EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33393, 145 + 334); + EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30445, 145 + 304); + EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30827, 145 + 308); + EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31269, 145 + 313); + EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31752, 145 + 318); + EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32256, 145 + 323); + EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32764, 145 + 328); + EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33254, 145 + 333); + EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33703, 145 + 337); + EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34096, 145 + 341); + EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34431, 145 + 344); + EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34728, 145 + 347); + EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35023, 145 + 350); + EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35360, 145 + 354); + EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35770, 145 + 358); + EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36267, 145 + 363); + EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36842, 145 + 368); + EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37478, 145 + 375); + EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38156, 145 + 382); + EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38858, 145 + 389); + EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39568, 145 + 396); + EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40260, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40903, 145 + 409); + EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41455, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41877, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42139, 145 + 421); + EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42225, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42136, 145 + 421); + EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41888, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41501, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40997, 145 + 410); + EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40393, 145 + 404); + EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39706, 145 + 397); + EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38953, 145 + 390); + EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38154, 145 + 382); + EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37333, 145 + 373); + EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36518, 145 + 365); + EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35736, 145 + 357); + EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 35014, 145 + 350); + EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34373, 145 + 344); + EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33830, 145 + 338); + EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33395, 145 + 334); EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33064, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32823, 145 + 328); - EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33125, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33044, 145 + 330); - EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33014, 145 + 330); - EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33016, 145 + 330); - EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33053, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33143, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33307, 145 + 333); - EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33558, 145 + 336); - EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33896, 145 + 339); - EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34302, 145 + 343); - EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34750, 145 + 348); - EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35216, 145 + 352); - EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35678, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36122, 145 + 361); - EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36528, 145 + 365); - EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 36868, 145 + 369); - EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37104, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37196, 145 + 372); - EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37114, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 36845, 145 + 368); - EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36401, 145 + 364); - EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35810, 145 + 358); - EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35118, 145 + 351); - EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34379, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33653, 145 + 337); - EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33003, 145 + 330); - EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32487, 145 + 325); - EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32144, 145 + 321); - EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 31982, 145 + 320); - EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 31987, 145 + 320); - EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32129, 145 + 321); - EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32375, 145 + 324); - EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32706, 145 + 327); - EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33104, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33557, 145 + 336); - EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34043, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34537, 145 + 345); - EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 35012, 145 + 350); - EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35452, 145 + 355); - EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35856, 145 + 359); - EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36245, 145 + 362); - EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36647, 145 + 366); - EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37090, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37582, 145 + 376); - EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38118, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38682, 145 + 387); - EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39259, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39846, 145 + 398); - EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40444, 145 + 404); - EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 41051, 145 + 411); - EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41652, 145 + 417); - EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42216, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42708, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 43092, 145 + 431); - EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43339, 145 + 433); - EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43434, 145 + 434); - EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43371, 145 + 434); - EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43146, 145 + 431); - EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42759, 145 + 428); - EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42211, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41513, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40687, 145 + 407); - EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39767, 145 + 398); - EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38796, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37816, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36868, 145 + 369); - EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35984, 145 + 360); - EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35192, 145 + 352); - EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34514, 145 + 345); - EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33967, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33560, 145 + 336); + EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32822, 145 + 328); + EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33124, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33042, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33010, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33010, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33046, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33134, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33296, 145 + 333); + EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33547, 145 + 335); + EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33883, 145 + 339); + EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34288, 145 + 343); + EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34735, 145 + 347); + EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35198, 145 + 352); + EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35659, 145 + 357); + EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36100, 145 + 361); + EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36503, 145 + 365); + EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 36840, 145 + 368); + EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37074, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37164, 145 + 372); + EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37081, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 36812, 145 + 368); + EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36367, 145 + 364); + EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35776, 145 + 358); + EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35086, 145 + 351); + EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34348, 145 + 343); + EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33624, 145 + 336); + EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 32979, 145 + 330); + EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32468, 145 + 325); + EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32130, 145 + 321); + EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 31974, 145 + 320); + EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 31983, 145 + 320); + EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32128, 145 + 321); + EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32377, 145 + 324); + EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32709, 145 + 327); + EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33109, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33562, 145 + 336); + EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34050, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34544, 145 + 345); + EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 35019, 145 + 350); + EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35458, 145 + 355); + EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35862, 145 + 359); + EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36252, 145 + 363); + EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36655, 145 + 367); + EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37098, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37593, 145 + 376); + EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38131, 145 + 381); + EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38696, 145 + 387); + EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39276, 145 + 393); + EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39864, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40465, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 41074, 145 + 411); + EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41677, 145 + 417); + EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42243, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42735, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 43117, 145 + 431); + EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43362, 145 + 434); + EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43456, 145 + 435); + EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43390, 145 + 434); + EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43163, 145 + 432); + EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42773, 145 + 428); + EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42224, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41524, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40697, 145 + 407); + EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39776, 145 + 398); + EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38804, 145 + 388); + EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37824, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36874, 145 + 369); + EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35990, 145 + 360); + EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35197, 145 + 352); + EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34518, 145 + 345); + EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33970, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33561, 145 + 336); EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33286, 145 + 333); - EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33125, 145 + 331); - EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33989, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33959, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34002, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34098, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34248, 145 + 342); - EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34466, 145 + 345); - EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34772, 145 + 348); - EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35178, 145 + 352); - EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35678, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36254, 145 + 363); - EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36876, 145 + 369); - EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37516, 145 + 375); - EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38148, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38751, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39299, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39760, 145 + 398); - EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40090, 145 + 401); - EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40248, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40201, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 39936, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39465, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38820, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38052, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37223, 145 + 372); - EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36402, 145 + 364); - EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35656, 145 + 357); - EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35042, 145 + 350); - EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34595, 145 + 346); - EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34322, 145 + 343); - EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34210, 145 + 342); - EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34232, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33124, 145 + 331); + EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33988, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33956, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 33997, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34091, 145 + 341); + EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34239, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34455, 145 + 345); + EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34759, 145 + 348); + EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35163, 145 + 352); + EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35662, 145 + 357); + EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36237, 145 + 362); + EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36857, 145 + 369); + EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37495, 145 + 375); + EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38125, 145 + 381); + EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38725, 145 + 387); + EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39271, 145 + 393); + EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39729, 145 + 397); + EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40058, 145 + 401); + EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40214, 145 + 402); + EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40166, 145 + 402); + EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 39900, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39429, 145 + 394); + EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38784, 145 + 388); + EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38017, 145 + 380); + EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37190, 145 + 372); + EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36372, 145 + 364); + EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35630, 145 + 356); + EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35021, 145 + 350); + EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34579, 145 + 346); + EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34311, 145 + 343); + EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34203, 145 + 342); + EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34229, 145 + 342); EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34368, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34605, 145 + 346); - EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34935, 145 + 349); - EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35348, 145 + 353); - EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35820, 145 + 358); - EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36322, 145 + 363); - EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36821, 145 + 368); - EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37298, 145 + 373); - EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37755, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38211, 145 + 382); - EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38689, 145 + 387); - EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39206, 145 + 392); - EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39758, 145 + 398); - EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40329, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40897, 145 + 409); - EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41453, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 42002, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42556, 145 + 426); - EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43122, 145 + 431); - EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43691, 145 + 437); - EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44236, 145 + 442); - EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44720, 145 + 447); - EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 45108, 145 + 451); - EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45373, 145 + 454); - EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45495, 145 + 455); - EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45460, 145 + 455); - EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45251, 145 + 453); - EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44854, 145 + 449); - EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44257, 145 + 443); - EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43467, 145 + 435); - EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42510, 145 + 425); - EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41433, 145 + 414); - EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40293, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39151, 145 + 392); - EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38056, 145 + 381); - EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37049, 145 + 370); - EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36160, 145 + 362); - EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35412, 145 + 354); - EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34820, 145 + 348); - EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34392, 145 + 344); - EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34122, 145 + 341); - EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33989, 145 + 340); - EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35366, 145 + 354); - EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35343, 145 + 353); - EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35423, 145 + 354); - EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35586, 145 + 356); - EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35829, 145 + 358); - EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36161, 145 + 362); - EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36595, 145 + 366); - EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37137, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37778, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38496, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39260, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40041, 145 + 400); - EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40810, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41540, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42201, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42757, 145 + 428); - EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43163, 145 + 432); - EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43375, 145 + 434); - EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43360, 145 + 434); - EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43104, 145 + 431); - EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42617, 145 + 426); - EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 41934, 145 + 419); - EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41112, 145 + 411); - EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40217, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39326, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38509, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37822, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37298, 145 + 373); - EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36941, 145 + 369); - EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36738, 145 + 367); - EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36667, 145 + 367); - EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36714, 145 + 367); - EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36873, 145 + 369); - EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37143, 145 + 371); - EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37516, 145 + 375); - EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37968, 145 + 380); - EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38466, 145 + 385); - EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38975, 145 + 390); - EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39474, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39961, 145 + 400); - EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40452, 145 + 405); - EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40967, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41517, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42096, 145 + 421); - EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42684, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43262, 145 + 433); - EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43823, 145 + 438); - EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44377, 145 + 444); - EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44938, 145 + 449); - EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45518, 145 + 455); - EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 46107, 145 + 461); - EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46679, 145 + 467); - EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47199, 145 + 472); - EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47629, 145 + 476); - EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47938, 145 + 479); - EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 48102, 145 + 481); - EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 48098, 145 + 481); - EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47904, 145 + 479); - EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47494, 145 + 475); - EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46855, 145 + 469); - EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45990, 145 + 460); - EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44928, 145 + 449); - EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43724, 145 + 437); - EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42445, 145 + 424); - EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41160, 145 + 412); - EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39931, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38803, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37810, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36973, 145 + 370); - EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36310, 145 + 363); - EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35826, 145 + 358); - EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35517, 145 + 355); - EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35366, 145 + 354); - EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37220, 145 + 372); - EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37174, 145 + 372); - EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37262, 145 + 373); - EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37466, 145 + 375); - EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37783, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38212, 145 + 382); - EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38758, 145 + 388); - EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39414, 145 + 394); - EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40169, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 40996, 145 + 410); - EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41865, 145 + 419); - EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42744, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43605, 145 + 436); - EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44419, 145 + 444); - EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45153, 145 + 452); - EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45769, 145 + 458); - EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46222, 145 + 462); - EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46471, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46481, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46238, 145 + 462); - EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45752, 145 + 458); - EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45057, 145 + 451); - EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44208, 145 + 442); - EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43278, 145 + 433); - EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42344, 145 + 423); - EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41479, 145 + 415); - EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40736, 145 + 407); - EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40148, 145 + 401); - EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39720, 145 + 397); - EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39439, 145 + 394); - EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39289, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39260, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39349, 145 + 393); - EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39558, 145 + 396); - EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39881, 145 + 399); - EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40295, 145 + 403); - EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40768, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41265, 145 + 413); - EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41761, 145 + 418); - EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42251, 145 + 423); - EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42748, 145 + 427); - EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43267, 145 + 433); - EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43817, 145 + 438); - EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44396, 145 + 444); - EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44988, 145 + 450); - EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45579, 145 + 456); - EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46168, 145 + 462); - EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46761, 145 + 468); - EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47373, 145 + 474); - EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 48008, 145 + 480); - EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48658, 145 + 487); - EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49293, 145 + 493); - EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49877, 145 + 499); - EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50370, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50737, 145 + 507); - EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50950, 145 + 509); - EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50979, 145 + 510); - EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50797, 145 + 508); - EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50379, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49710, 145 + 497); - EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48797, 145 + 488); - EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47670, 145 + 477); - EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46386, 145 + 464); - EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 45016, 145 + 450); - EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43636, 145 + 436); - EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42309, 145 + 423); - EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41087, 145 + 411); - EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 40005, 145 + 400); - EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39086, 145 + 391); - EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38345, 145 + 383); - EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37790, 145 + 378); - EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37419, 145 + 374); - EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37220, 145 + 372); - EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39521, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39439, 145 + 394); - EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39517, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39743, 145 + 397); - EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40110, 145 + 401); - EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40612, 145 + 406); - EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41240, 145 + 412); - EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 41982, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42816, 145 + 428); - EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43712, 145 + 437); - EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44641, 145 + 446); - EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45572, 145 + 456); - EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46474, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47320, 145 + 473); - EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48078, 145 + 481); - EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48711, 145 + 487); - EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49177, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49437, 145 + 494); - EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49459, 145 + 495); - EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49230, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48756, 145 + 488); - EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48071, 145 + 481); - EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47227, 145 + 472); - EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46294, 145 + 463); - EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45346, 145 + 453); - EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44453, 145 + 445); - EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43668, 145 + 437); - EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43023, 145 + 430); - EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42527, 145 + 425); - EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42171, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41946, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34607, 145 + 346); + EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34939, 145 + 349); + EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35353, 145 + 354); + EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35828, 145 + 358); + EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36330, 145 + 363); + EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36830, 145 + 368); + EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37308, 145 + 373); + EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37765, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38221, 145 + 382); + EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38701, 145 + 387); + EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39219, 145 + 392); + EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39773, 145 + 398); + EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40345, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40914, 145 + 409); + EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41472, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 42022, 145 + 420); + EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42578, 145 + 426); + EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43147, 145 + 431); + EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43718, 145 + 437); + EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44265, 145 + 443); + EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44750, 145 + 447); + EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 45137, 145 + 451); + EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45400, 145 + 454); + EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45520, 145 + 455); + EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45482, 145 + 455); + EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45271, 145 + 453); + EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44871, 145 + 449); + EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44273, 145 + 443); + EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43481, 145 + 435); + EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42522, 145 + 425); + EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41444, 145 + 414); + EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40303, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39159, 145 + 392); + EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38063, 145 + 381); + EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37056, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36166, 145 + 362); + EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35416, 145 + 354); + EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34823, 145 + 348); + EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34394, 145 + 344); + EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34123, 145 + 341); + EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33988, 145 + 340); + EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35364, 145 + 354); + EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35340, 145 + 353); + EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35416, 145 + 354); + EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35577, 145 + 356); + EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35817, 145 + 358); + EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36148, 145 + 361); + EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36580, 145 + 366); + EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37120, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37759, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38475, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39238, 145 + 392); + EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40016, 145 + 400); + EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40783, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41510, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42170, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42724, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43128, 145 + 431); + EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43339, 145 + 433); + EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43323, 145 + 433); + EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43066, 145 + 431); + EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42579, 145 + 426); + EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 41897, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41076, 145 + 411); + EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40183, 145 + 402); + EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39295, 145 + 393); + EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38482, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37800, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37281, 145 + 373); + EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36929, 145 + 369); + EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36730, 145 + 367); + EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36663, 145 + 367); + EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36713, 145 + 367); + EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36875, 145 + 369); + EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37148, 145 + 371); + EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37522, 145 + 375); + EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37976, 145 + 380); + EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38476, 145 + 385); + EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38986, 145 + 390); + EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39486, 145 + 395); + EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39974, 145 + 400); + EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40466, 145 + 405); + EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40983, 145 + 410); + EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41535, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42115, 145 + 421); + EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42704, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43282, 145 + 433); + EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43844, 145 + 438); + EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44399, 145 + 444); + EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44962, 145 + 450); + EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45544, 145 + 455); + EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 46135, 145 + 461); + EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46710, 145 + 467); + EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47231, 145 + 472); + EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47660, 145 + 477); + EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47968, 145 + 480); + EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 48130, 145 + 481); + EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 48124, 145 + 481); + EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47926, 145 + 479); + EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47514, 145 + 475); + EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46873, 145 + 469); + EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 46005, 145 + 460); + EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44942, 145 + 449); + EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43736, 145 + 437); + EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42455, 145 + 425); + EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41170, 145 + 412); + EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39940, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38811, 145 + 388); + EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37817, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36979, 145 + 370); + EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36314, 145 + 363); + EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35829, 145 + 358); + EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35518, 145 + 355); + EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35364, 145 + 354); + EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37218, 145 + 372); + EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37170, 145 + 372); + EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37254, 145 + 373); + EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37456, 145 + 375); + EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37770, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38196, 145 + 382); + EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38739, 145 + 387); + EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39394, 145 + 394); + EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40146, 145 + 401); + EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 40971, 145 + 410); + EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41838, 145 + 418); + EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42716, 145 + 427); + EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43575, 145 + 436); + EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44386, 145 + 444); + EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45119, 145 + 451); + EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45733, 145 + 457); + EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46186, 145 + 462); + EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46433, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46443, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46200, 145 + 462); + EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45713, 145 + 457); + EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45019, 145 + 450); + EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44172, 145 + 442); + EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43245, 145 + 432); + EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42314, 145 + 423); + EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41453, 145 + 415); + EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40715, 145 + 407); + EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40132, 145 + 401); + EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39708, 145 + 397); + EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39431, 145 + 394); + EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39284, 145 + 393); + EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39258, 145 + 393); + EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39351, 145 + 394); + EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39563, 145 + 396); + EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39888, 145 + 399); + EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40305, 145 + 403); + EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40780, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41278, 145 + 413); + EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41775, 145 + 418); + EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42267, 145 + 423); + EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42765, 145 + 428); + EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43286, 145 + 433); + EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43838, 145 + 438); + EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44418, 145 + 444); + EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 45010, 145 + 450); + EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45602, 145 + 456); + EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46190, 145 + 462); + EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46785, 145 + 468); + EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47398, 145 + 474); + EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 48036, 145 + 480); + EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48687, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49325, 145 + 493); + EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49910, 145 + 499); + EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50403, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50769, 145 + 508); + EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50979, 145 + 510); + EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 51005, 145 + 510); + EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50821, 145 + 508); + EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50400, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49729, 145 + 497); + EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48813, 145 + 488); + EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47684, 145 + 477); + EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46398, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 45028, 145 + 450); + EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43646, 145 + 436); + EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42319, 145 + 423); + EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41096, 145 + 411); + EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 40013, 145 + 400); + EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39093, 145 + 391); + EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38351, 145 + 384); + EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37794, 145 + 378); + EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37420, 145 + 374); + EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37218, 145 + 372); + EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39520, 145 + 395); + EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39434, 145 + 394); + EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39508, 145 + 395); + EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39731, 145 + 397); + EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40095, 145 + 401); + EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40594, 145 + 406); + EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41220, 145 + 412); + EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 41959, 145 + 420); + EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42790, 145 + 428); + EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43684, 145 + 437); + EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44612, 145 + 446); + EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45540, 145 + 455); + EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46441, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47286, 145 + 473); + EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48042, 145 + 480); + EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48674, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49139, 145 + 491); + EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49398, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49420, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49191, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48718, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48034, 145 + 480); + EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47193, 145 + 472); + EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46262, 145 + 463); + EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45318, 145 + 453); + EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44429, 145 + 444); + EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43649, 145 + 436); + EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43008, 145 + 430); + EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42516, 145 + 425); + EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42164, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41942, 145 + 419); EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41842, 145 + 418); - EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41862, 145 + 419); - EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 42004, 145 + 420); - EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42262, 145 + 423); - EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42618, 145 + 426); - EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 43040, 145 + 430); - EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43496, 145 + 435); - EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43963, 145 + 440); - EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44433, 145 + 444); - EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44912, 145 + 449); - EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45412, 145 + 454); - EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45945, 145 + 459); - EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46510, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 47103, 145 + 471); - EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47716, 145 + 477); - EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48350, 145 + 483); - EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 49009, 145 + 490); - EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49699, 145 + 497); - EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50419, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51152, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51868, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52527, 145 + 525); - EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 53088, 145 + 531); - EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53514, 145 + 535); - EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53771, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53828, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53658, 145 + 537); - EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53238, 145 + 532); - EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52560, 145 + 526); - EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51630, 145 + 516); - EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50484, 145 + 505); - EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49177, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47780, 145 + 478); - EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46365, 145 + 464); - EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44998, 145 + 450); - EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43731, 145 + 437); - EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42599, 145 + 426); - EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41625, 145 + 416); - EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40826, 145 + 408); - EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40208, 145 + 402); - EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39774, 145 + 398); - EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39521, 145 + 395); - EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42218, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42104, 145 + 421); - EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42164, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42394, 145 + 424); - EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42783, 145 + 428); - EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43322, 145 + 433); - EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 43993, 145 + 440); - EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44775, 145 + 448); - EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45641, 145 + 456); - EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46559, 145 + 466); - EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47498, 145 + 475); - EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48428, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49320, 145 + 493); - EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50147, 145 + 501); - EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 50879, 145 + 509); - EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51483, 145 + 515); - EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 51923, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52165, 145 + 522); - EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52182, 145 + 522); - EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 51960, 145 + 520); - EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51507, 145 + 515); - EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 50851, 145 + 509); - EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50038, 145 + 500); - EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49130, 145 + 491); - EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48196, 145 + 482); - EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47298, 145 + 473); - EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46488, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45796, 145 + 458); - EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45236, 145 + 452); - EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44808, 145 + 448); - EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44508, 145 + 445); + EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41864, 145 + 419); + EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 42009, 145 + 420); + EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42271, 145 + 423); + EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42629, 145 + 426); + EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 43053, 145 + 431); + EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43512, 145 + 435); + EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43980, 145 + 440); + EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44451, 145 + 445); + EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44932, 145 + 449); + EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45434, 145 + 454); + EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45968, 145 + 460); + EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46534, 145 + 465); + EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 47127, 145 + 471); + EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47741, 145 + 477); + EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48374, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 49034, 145 + 490); + EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49725, 145 + 497); + EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50447, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51182, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51900, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52560, 145 + 526); + EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 53122, 145 + 531); + EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53546, 145 + 535); + EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53800, 145 + 538); + EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53855, 145 + 539); + EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53681, 145 + 537); + EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53259, 145 + 533); + EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52577, 145 + 526); + EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51646, 145 + 516); + EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50498, 145 + 505); + EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49190, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47791, 145 + 478); + EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46376, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 45008, 145 + 450); + EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43741, 145 + 437); + EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42608, 145 + 426); + EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41634, 145 + 416); + EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40832, 145 + 408); + EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40212, 145 + 402); + EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39776, 145 + 398); + EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39520, 145 + 395); + EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42217, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42099, 145 + 421); + EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42155, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42380, 145 + 424); + EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42766, 145 + 428); + EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43302, 145 + 433); + EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 43970, 145 + 440); + EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44749, 145 + 447); + EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45613, 145 + 456); + EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46529, 145 + 465); + EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47466, 145 + 475); + EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48394, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49285, 145 + 493); + EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50111, 145 + 501); + EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 50842, 145 + 508); + EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51446, 145 + 514); + EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 51886, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52128, 145 + 521); + EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52144, 145 + 521); + EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 51923, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51471, 145 + 515); + EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 50816, 145 + 508); + EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50006, 145 + 500); + EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49102, 145 + 491); + EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48171, 145 + 482); + EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47277, 145 + 473); + EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46471, 145 + 465); + EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45783, 145 + 458); + EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45227, 145 + 452); + EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44802, 145 + 448); + EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44504, 145 + 445); EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330, 145 + 443); - EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44274, 145 + 443); - EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44340, 145 + 443); - EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44520, 145 + 445); - EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44797, 145 + 448); - EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45145, 145 + 451); - EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45538, 145 + 455); - EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45954, 145 + 460); - EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46383, 145 + 464); - EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46830, 145 + 468); - EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47303, 145 + 473); - EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47814, 145 + 478); - EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48368, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48968, 145 + 490); - EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49613, 145 + 496); - EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50303, 145 + 503); - EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 51039, 145 + 510); - EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51819, 145 + 518); - EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52630, 145 + 526); - EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53450, 145 + 534); - EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54244, 145 + 542); - EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54972, 145 + 550); - EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55592, 145 + 556); - EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 56064, 145 + 561); - EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56353, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56431, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56272, 145 + 563); - EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55861, 145 + 559); - EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55194, 145 + 552); - EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54285, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53169, 145 + 532); - EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51898, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50539, 145 + 505); - EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49158, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47818, 145 + 478); - EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46566, 145 + 466); - EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45438, 145 + 454); - EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44456, 145 + 445); - EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43635, 145 + 436); - EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42985, 145 + 430); - EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42512, 145 + 425); - EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42218, 145 + 422); - EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210, 145 + 452); - EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45076, 145 + 451); - EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45117, 145 + 451); - EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45332, 145 + 453); - EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45712, 145 + 457); - EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46242, 145 + 462); - EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 46903, 145 + 469); - EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47669, 145 + 477); - EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48509, 145 + 485); - EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49392, 145 + 494); - EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50285, 145 + 503); - EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51161, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 51992, 145 + 520); - EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52752, 145 + 528); - EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53415, 145 + 534); - EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 53952, 145 + 540); - EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54334, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54533, 145 + 545); - EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54527, 145 + 545); - EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54307, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 53878, 145 + 539); - EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53264, 145 + 533); - EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52504, 145 + 525); - EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51649, 145 + 516); - EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50756, 145 + 508); - EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49880, 145 + 499); - EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49066, 145 + 491); - EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48345, 145 + 483); - EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47737, 145 + 477); - EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47246, 145 + 472); - EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46876, 145 + 469); - EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46624, 145 + 466); - EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46490, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46473, 145 + 465); - EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46565, 145 + 466); - EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46751, 145 + 468); - EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 47011, 145 + 470); - EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47325, 145 + 473); - EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47676, 145 + 477); - EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 48055, 145 + 481); - EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48465, 145 + 485); - EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48913, 145 + 489); - EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49409, 145 + 494); - EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49962, 145 + 500); - EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50579, 145 + 506); - EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51261, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 52008, 145 + 520); - EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52816, 145 + 528); - EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53674, 145 + 537); - EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54561, 145 + 546); - EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55449, 145 + 554); - EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56301, 145 + 563); - EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 57075, 145 + 571); - EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57730, 145 + 577); - EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58228, 145 + 582); - EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58536, 145 + 585); - EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58628, 145 + 586); - EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58484, 145 + 585); - EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58095, 145 + 581); - EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57466, 145 + 575); - EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56614, 145 + 566); - EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55574, 145 + 556); - EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54396, 145 + 544); - EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53137, 145 + 531); - EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51857, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50608, 145 + 506); - EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49434, 145 + 494); - EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48368, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47430, 145 + 474); - EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46636, 145 + 466); - EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45996, 145 + 460); - EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45518, 145 + 455); - EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210, 145 + 452); - EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48320, 145 + 483); - EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48181, 145 + 482); - EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48203, 145 + 482); - EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48385, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48720, 145 + 487); - EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49195, 145 + 492); - EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49789, 145 + 498); - EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50477, 145 + 505); - EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51230, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52018, 145 + 520); - EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52811, 145 + 528); - EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53583, 145 + 536); - EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54307, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 54961, 145 + 550); - EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55522, 145 + 555); - EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 55964, 145 + 560); - EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56267, 145 + 563); - EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56407, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56371, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56150, 145 + 562); - EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55750, 145 + 558); - EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55190, 145 + 552); - EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54500, 145 + 545); - EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53720, 145 + 537); - EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52896, 145 + 529); - EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52070, 145 + 521); - EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51283, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50563, 145 + 506); - EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49932, 145 + 499); - EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49400, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44277, 145 + 443); + EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44346, 145 + 443); + EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44529, 145 + 445); + EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44809, 145 + 448); + EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45160, 145 + 452); + EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45554, 145 + 456); + EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45972, 145 + 460); + EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46403, 145 + 464); + EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46851, 145 + 469); + EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47326, 145 + 473); + EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47838, 145 + 478); + EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48394, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48994, 145 + 490); + EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49638, 145 + 496); + EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50329, 145 + 503); + EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 51065, 145 + 511); + EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51846, 145 + 518); + EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52658, 145 + 527); + EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53480, 145 + 535); + EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54276, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 55004, 145 + 550); + EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55624, 145 + 556); + EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 56094, 145 + 561); + EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56381, 145 + 564); + EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56456, 145 + 565); + EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56294, 145 + 563); + EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55880, 145 + 559); + EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55210, 145 + 552); + EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54298, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53180, 145 + 532); + EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51909, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50549, 145 + 505); + EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49169, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47829, 145 + 478); + EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46578, 145 + 466); + EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45449, 145 + 454); + EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44466, 145 + 445); + EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43644, 145 + 436); + EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42991, 145 + 430); + EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42515, 145 + 425); + EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42217, 145 + 422); + EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45209, 145 + 452); + EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45071, 145 + 451); + EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45108, 145 + 451); + EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45318, 145 + 453); + EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45694, 145 + 457); + EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46220, 145 + 462); + EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 46878, 145 + 469); + EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47641, 145 + 476); + EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48478, 145 + 485); + EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49359, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50252, 145 + 503); + EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51126, 145 + 511); + EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 51956, 145 + 520); + EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52716, 145 + 527); + EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53379, 145 + 534); + EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 53916, 145 + 539); + EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54299, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54498, 145 + 545); + EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54493, 145 + 545); + EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54274, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 53847, 145 + 538); + EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53234, 145 + 532); + EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52476, 145 + 525); + EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51624, 145 + 516); + EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50734, 145 + 507); + EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49862, 145 + 499); + EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49051, 145 + 491); + EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48334, 145 + 483); + EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47729, 145 + 477); + EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47242, 145 + 472); + EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46874, 145 + 469); + EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46625, 145 + 466); + EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46495, 145 + 465); + EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46480, 145 + 465); + EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46575, 145 + 466); + EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46763, 145 + 468); + EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 47026, 145 + 470); + EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47342, 145 + 473); + EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47694, 145 + 477); + EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 48076, 145 + 481); + EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48487, 145 + 485); + EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48936, 145 + 489); + EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49434, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49988, 145 + 500); + EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50605, 145 + 506); + EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51287, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 52035, 145 + 520); + EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52843, 145 + 528); + EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53701, 145 + 537); + EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54590, 145 + 546); + EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55479, 145 + 555); + EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56332, 145 + 563); + EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 57106, 145 + 571); + EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57760, 145 + 578); + EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58256, 145 + 583); + EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58561, 145 + 586); + EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58649, 145 + 586); + EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58502, 145 + 585); + EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58110, 145 + 581); + EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57478, 145 + 575); + EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56624, 145 + 566); + EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55584, 145 + 556); + EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54405, 145 + 544); + EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53147, 145 + 531); + EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51867, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50619, 145 + 506); + EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49447, 145 + 494); + EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48380, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47442, 145 + 474); + EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46646, 145 + 466); + EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 46003, 145 + 460); + EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45522, 145 + 455); + EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45209, 145 + 452); + EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48321, 145 + 483); + EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48177, 145 + 482); + EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48194, 145 + 482); + EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48370, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48701, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49171, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49762, 145 + 498); + EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50447, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51198, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 51984, 145 + 520); + EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52776, 145 + 528); + EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53547, 145 + 535); + EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54272, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 54926, 145 + 549); + EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55487, 145 + 555); + EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 55931, 145 + 559); + EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56234, 145 + 562); + EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56376, 145 + 564); + EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56341, 145 + 563); + EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56122, 145 + 561); + EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55724, 145 + 557); + EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55166, 145 + 552); + EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54478, 145 + 545); + EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53701, 145 + 537); + EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52879, 145 + 529); + EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52056, 145 + 521); + EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51272, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50555, 145 + 506); + EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49926, 145 + 499); + EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49398, 145 + 494); EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48975, 145 + 490); - EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48659, 145 + 487); - EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48453, 145 + 485); - EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48354, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48357, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48450, 145 + 484); - EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48620, 145 + 486); - EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48852, 145 + 489); - EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49136, 145 + 491); - EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49465, 145 + 495); - EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49840, 145 + 498); - EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50269, 145 + 503); - EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50760, 145 + 508); - EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51320, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51958, 145 + 520); - EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52673, 145 + 527); - EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53463, 145 + 535); - EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54319, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55223, 145 + 552); - EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56150, 145 + 562); - EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 57069, 145 + 571); - EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57941, 145 + 579); - EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58727, 145 + 587); - EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59388, 145 + 594); - EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59889, 145 + 599); - EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60201, 145 + 602); - EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60303, 145 + 603); - EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60182, 145 + 602); - EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59835, 145 + 598); - EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59272, 145 + 593); - EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58514, 145 + 585); - EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57595, 145 + 576); - EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56557, 145 + 566); - EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55450, 145 + 555); - EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54323, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53220, 145 + 532); - EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52178, 145 + 522); - EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51224, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50378, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49655, 145 + 497); - EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49065, 145 + 491); - EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48617, 145 + 486); - EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48320, 145 + 483); - EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51313, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51175, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51173, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51305, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51566, 145 + 516); - EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 51944, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52423, 145 + 524); - EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 52982, 145 + 530); - EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53595, 145 + 536); - EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54237, 145 + 542); - EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 54883, 145 + 549); - EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55509, 145 + 555); - EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56092, 145 + 561); - EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56612, 145 + 566); - EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57048, 145 + 570); - EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57382, 145 + 574); - EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57596, 145 + 576); - EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57675, 145 + 577); - EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57608, 145 + 576); - EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57391, 145 + 574); - EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57029, 145 + 570); - EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56534, 145 + 565); - EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 55930, 145 + 559); - EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55246, 145 + 552); - EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54515, 145 + 545); - EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53771, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53044, 145 + 530); - EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52362, 145 + 524); - EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51744, 145 + 517); + EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48662, 145 + 487); + EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48458, 145 + 485); + EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48362, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48367, 145 + 484); + EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48463, 145 + 485); + EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48634, 145 + 486); + EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48868, 145 + 489); + EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49154, 145 + 492); + EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49484, 145 + 495); + EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49862, 145 + 499); + EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50292, 145 + 503); + EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50783, 145 + 508); + EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51345, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51983, 145 + 520); + EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52699, 145 + 527); + EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53490, 145 + 535); + EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54346, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55251, 145 + 553); + EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56179, 145 + 562); + EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 57098, 145 + 571); + EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57970, 145 + 580); + EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58755, 145 + 588); + EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59414, 145 + 594); + EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59913, 145 + 599); + EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60222, 145 + 602); + EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60320, 145 + 603); + EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60196, 145 + 602); + EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59846, 145 + 598); + EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59281, 145 + 593); + EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58522, 145 + 585); + EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57602, 145 + 576); + EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56565, 145 + 566); + EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55459, 145 + 555); + EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54334, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53232, 145 + 532); + EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52191, 145 + 522); + EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51238, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50392, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49667, 145 + 497); + EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49074, 145 + 491); + EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48622, 145 + 486); + EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48321, 145 + 483); + EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51314, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51171, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51163, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51290, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51546, 145 + 515); + EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 51920, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52396, 145 + 524); + EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 52951, 145 + 530); + EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53562, 145 + 536); + EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54203, 145 + 542); + EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 54848, 145 + 548); + EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55474, 145 + 555); + EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56058, 145 + 561); + EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56578, 145 + 566); + EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57016, 145 + 570); + EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57352, 145 + 574); + EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57568, 145 + 576); + EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57648, 145 + 576); + EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57583, 145 + 576); + EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57368, 145 + 574); + EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57008, 145 + 570); + EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56515, 145 + 565); + EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 55914, 145 + 559); + EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55232, 145 + 552); + EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54503, 145 + 545); + EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53761, 145 + 538); + EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53037, 145 + 530); + EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52357, 145 + 524); + EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51741, 145 + 517); EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51204, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50752, 145 + 508); - EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50394, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50133, 145 + 501); - EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49967, 145 + 500); - EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49893, 145 + 499); - EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49906, 145 + 499); - EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49996, 145 + 500); - EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50157, 145 + 502); - EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50381, 145 + 504); - EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50666, 145 + 507); - EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 51014, 145 + 510); - EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51428, 145 + 514); - EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51916, 145 + 519); - EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52482, 145 + 525); - EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53130, 145 + 531); - EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53859, 145 + 539); - EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54662, 145 + 547); - EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55525, 145 + 555); - EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56428, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57346, 145 + 573); - EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58245, 145 + 582); - EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 59091, 145 + 591); - EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59848, 145 + 598); - EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60482, 145 + 605); - EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60963, 145 + 610); - EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61268, 145 + 613); - EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61382, 145 + 614); - EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61296, 145 + 613); - EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 61013, 145 + 610); - EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60546, 145 + 605); - EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59915, 145 + 599); - EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59151, 145 + 592); - EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58290, 145 + 583); - EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57371, 145 + 574); - EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56433, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55512, 145 + 555); - EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54636, 145 + 546); - EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53830, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53110, 145 + 531); - EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52488, 145 + 525); - EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51976, 145 + 520); - EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51582, 145 + 516); - EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51313, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53927, 145 + 539); - EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53791, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53758, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53828, 145 + 538); - EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 53996, 145 + 540); - EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54255, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54591, 145 + 546); - EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 54988, 145 + 550); - EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55430, 145 + 554); - EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 55896, 145 + 559); - EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56365, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56820, 145 + 568); - EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57241, 145 + 572); - EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57612, 145 + 576); - EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 57916, 145 + 579); - EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58139, 145 + 581); - EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58266, 145 + 583); - EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58288, 145 + 583); - EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58198, 145 + 582); - EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 57993, 145 + 580); - EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57676, 145 + 577); - EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57258, 145 + 573); - EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56752, 145 + 568); - EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56180, 145 + 562); - EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55564, 145 + 556); - EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54928, 145 + 549); - EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54297, 145 + 543); - EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53690, 145 + 537); + EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50754, 145 + 508); + EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50399, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50139, 145 + 501); + EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49976, 145 + 500); + EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49904, 145 + 499); + EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49918, 145 + 499); + EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 50011, 145 + 500); + EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50172, 145 + 502); + EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50398, 145 + 504); + EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50685, 145 + 507); + EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 51034, 145 + 510); + EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51450, 145 + 514); + EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51939, 145 + 519); + EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52506, 145 + 525); + EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53155, 145 + 532); + EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53885, 145 + 539); + EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54688, 145 + 547); + EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55552, 145 + 556); + EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56456, 145 + 565); + EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57373, 145 + 574); + EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58272, 145 + 583); + EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 59117, 145 + 591); + EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59872, 145 + 599); + EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60504, 145 + 605); + EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60983, 145 + 610); + EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61285, 145 + 613); + EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61395, 145 + 614); + EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61306, 145 + 613); + EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 61022, 145 + 610); + EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60553, 145 + 606); + EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59921, 145 + 599); + EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59158, 145 + 592); + EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58298, 145 + 583); + EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57380, 145 + 574); + EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56444, 145 + 564); + EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55525, 145 + 555); + EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54651, 145 + 547); + EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53845, 145 + 538); + EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53124, 145 + 531); + EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52501, 145 + 525); + EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51986, 145 + 520); + EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51588, 145 + 516); + EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51314, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53929, 145 + 539); + EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53787, 145 + 538); + EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53749, 145 + 537); + EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53814, 145 + 538); + EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 53978, 145 + 540); + EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54232, 145 + 542); + EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54564, 145 + 546); + EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 54959, 145 + 550); + EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55398, 145 + 554); + EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 55863, 145 + 559); + EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56332, 145 + 563); + EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56788, 145 + 568); + EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57210, 145 + 572); + EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57582, 145 + 576); + EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 57888, 145 + 579); + EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58112, 145 + 581); + EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58242, 145 + 582); + EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58266, 145 + 583); + EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58178, 145 + 582); + EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 57975, 145 + 580); + EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57660, 145 + 577); + EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57244, 145 + 572); + EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56741, 145 + 567); + EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56171, 145 + 562); + EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55557, 145 + 556); + EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54923, 145 + 549); + EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54293, 145 + 543); + EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53688, 145 + 537); EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53125, 145 + 531); - EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52617, 145 + 526); - EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52177, 145 + 522); - EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51812, 145 + 518); - EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51526, 145 + 515); - EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51322, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51200, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51158, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51192, 145 + 512); - EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51300, 145 + 513); - EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51480, 145 + 515); - EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51731, 145 + 517); - EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 52054, 145 + 521); - EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52452, 145 + 525); - EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52927, 145 + 529); - EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53482, 145 + 535); - EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54115, 145 + 541); - EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54822, 145 + 548); - EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55592, 145 + 556); - EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56411, 145 + 564); - EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57259, 145 + 573); - EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 58110, 145 + 581); - EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58937, 145 + 589); - EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59709, 145 + 597); - EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60397, 145 + 604); - EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60974, 145 + 610); - EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61417, 145 + 614); - EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61707, 145 + 617); - EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61834, 145 + 618); - EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61796, 145 + 618); - EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61596, 145 + 616); - EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61246, 145 + 612); - EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60766, 145 + 608); - EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60179, 145 + 602); - EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59515, 145 + 595); - EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58802, 145 + 588); - EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58070, 145 + 581); - EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57346, 145 + 573); - EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56653, 145 + 567); - EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 56009, 145 + 560); - EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55428, 145 + 554); - EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54921, 145 + 549); - EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54497, 145 + 545); - EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54164, 145 + 542); - EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53927, 145 + 539); + EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52620, 145 + 526); + EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52181, 145 + 522); + EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51818, 145 + 518); + EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51534, 145 + 515); + EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51332, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51211, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51170, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51206, 145 + 512); + EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51316, 145 + 513); + EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51496, 145 + 515); + EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51748, 145 + 517); + EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 52073, 145 + 521); + EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52472, 145 + 525); + EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52949, 145 + 529); + EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53505, 145 + 535); + EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54139, 145 + 541); + EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54846, 145 + 548); + EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55617, 145 + 556); + EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56437, 145 + 564); + EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57284, 145 + 573); + EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 58136, 145 + 581); + EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58961, 145 + 590); + EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59732, 145 + 597); + EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60419, 145 + 604); + EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60993, 145 + 610); + EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61433, 145 + 614); + EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61720, 145 + 617); + EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61846, 145 + 618); + EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61805, 145 + 618); + EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61603, 145 + 616); + EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61253, 145 + 613); + EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60772, 145 + 608); + EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60186, 145 + 602); + EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59523, 145 + 595); + EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58812, 145 + 588); + EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58082, 145 + 581); + EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57360, 145 + 574); + EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56668, 145 + 567); + EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 56024, 145 + 560); + EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55442, 145 + 554); + EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54934, 145 + 549); + EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54507, 145 + 545); + EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54170, 145 + 542); + EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53929, 145 + 539); } diff --git a/src/modules/airspeed_selector/AirspeedValidator.cpp b/src/modules/airspeed_selector/AirspeedValidator.cpp index 4707774eb0c3..63343b402322 100644 --- a/src/modules/airspeed_selector/AirspeedValidator.cpp +++ b/src/modules/airspeed_selector/AirspeedValidator.cpp @@ -222,16 +222,13 @@ AirspeedValidator::check_airspeed_innovation(uint64_t time_now, float estimator_ } // reset states if check is disabled, we are not flying or wind estimator was just initialized/reset - if (!_innovation_check_enabled || !_in_fixed_wing_flight || (time_now - _time_wind_estimator_initialized) < 5_s - || _tas_innov_integ_threshold <= 0.f) { + if (!_innovation_check_enabled || !_in_fixed_wing_flight || (time_now - _time_wind_estimator_initialized) < 5_s) { _innovations_check_failed = false; - _time_last_tas_pass = time_now; _aspd_innov_integ_state = 0.f; } else if (!lpos_valid || estimator_status_vel_test_ratio > 1.f || estimator_status_mag_test_ratio > 1.f) { //nav velocity data is likely not good //don't run the test but don't reset the check if it had previously failed when nav velocity data was still likely good - _time_last_tas_pass = time_now; _aspd_innov_integ_state = 0.f; } else { @@ -249,11 +246,7 @@ AirspeedValidator::check_airspeed_innovation(uint64_t time_now, float estimator_ _aspd_innov_integ_state = 0.f; } - if (_tas_innov_integ_threshold > 0.f && _aspd_innov_integ_state < _tas_innov_integ_threshold) { - _time_last_tas_pass = time_now; - } - - _innovations_check_failed = (time_now - _time_last_tas_pass) > TAS_INNOV_FAIL_DELAY; + _innovations_check_failed = _aspd_innov_integ_state > _tas_innov_integ_threshold; } _time_last_aspd_innov_check = time_now; diff --git a/src/modules/airspeed_selector/AirspeedValidator.hpp b/src/modules/airspeed_selector/AirspeedValidator.hpp index ba8f5c1a305a..ed7008a5c621 100644 --- a/src/modules/airspeed_selector/AirspeedValidator.hpp +++ b/src/modules/airspeed_selector/AirspeedValidator.hpp @@ -150,9 +150,7 @@ class AirspeedValidator float _tas_innov_threshold{1.0}; ///< innovation error threshold for triggering innovation check failure float _tas_innov_integ_threshold{-1.0}; ///< integrator innovation error threshold for triggering innovation check failure uint64_t _time_last_aspd_innov_check{0}; ///< time airspeed innovation was last checked (uSec) - uint64_t _time_last_tas_pass{0}; ///< last time innovation checks passed float _aspd_innov_integ_state{0.0f}; ///< integral of excess normalised airspeed innovation (sec) - static constexpr uint64_t TAS_INNOV_FAIL_DELAY{1_s}; ///< time required for innovation levels to pass or fail (usec) uint64_t _time_wind_estimator_initialized{0}; ///< time last time wind estimator was initialized (uSec) // states of load factor check @@ -162,8 +160,8 @@ class AirspeedValidator // states of airspeed valid declaration bool _airspeed_valid{true}; ///< airspeed valid (pitot or groundspeed-windspeed) - int _checks_fail_delay{3}; ///< delay for airspeed invalid declaration after single check failure (Sec) - int _checks_clear_delay{-1}; ///< delay for airspeed valid declaration after all checks passed again (Sec) + float _checks_fail_delay{2.f}; ///< delay for airspeed invalid declaration after single check failure (Sec) + float _checks_clear_delay{-1.f}; ///< delay for airspeed valid declaration after all checks passed again (Sec) uint64_t _time_checks_passed{0}; ///< time the checks have last passed (uSec) uint64_t _time_checks_failed{0}; ///< time the checks have last not passed (uSec) diff --git a/src/modules/airspeed_selector/airspeed_selector_main.cpp b/src/modules/airspeed_selector/airspeed_selector_main.cpp index 4877ee94b620..a25e2d4768c7 100644 --- a/src/modules/airspeed_selector/airspeed_selector_main.cpp +++ b/src/modules/airspeed_selector/airspeed_selector_main.cpp @@ -182,8 +182,8 @@ class AirspeedModule : public ModuleBase, public ModuleParams, (ParamFloat) _tas_innov_threshold, /**< innovation check threshold */ (ParamFloat) _tas_innov_integ_threshold, /**< innovation check integrator threshold */ - (ParamInt) _checks_fail_delay, /**< delay to declare airspeed invalid */ - (ParamInt) _checks_clear_delay, /**< delay to declare airspeed valid again */ + (ParamFloat) _checks_fail_delay, /**< delay to declare airspeed invalid */ + (ParamFloat) _checks_clear_delay, /**< delay to declare airspeed valid again */ (ParamFloat) _param_fw_airspd_stall, (ParamFloat) _param_wind_sigma_max_synth_tas diff --git a/src/modules/airspeed_selector/airspeed_selector_params.c b/src/modules/airspeed_selector/airspeed_selector_params.c index 0b54d3b29760..9ef58a78c8bd 100644 --- a/src/modules/airspeed_selector/airspeed_selector_params.c +++ b/src/modules/airspeed_selector/airspeed_selector_params.c @@ -208,10 +208,10 @@ PARAM_DEFINE_FLOAT(ASPD_FS_INTEG, 10.f); * * @unit s * @group Airspeed Validator - * @min 1 - * @max 10 + * @min 0.0 + * @decimal 1 */ -PARAM_DEFINE_INT32(ASPD_FS_T_STOP, 2); +PARAM_DEFINE_FLOAT(ASPD_FS_T_STOP, 1.f); /** * Airspeed failsafe start delay @@ -221,10 +221,10 @@ PARAM_DEFINE_INT32(ASPD_FS_T_STOP, 2); * * @unit s * @group Airspeed Validator - * @min -1 - * @max 1000 + * @min -1.0 + * @decimal 1 */ -PARAM_DEFINE_INT32(ASPD_FS_T_START, -1); +PARAM_DEFINE_FLOAT(ASPD_FS_T_START, -1.f); /** * Horizontal wind uncertainty threshold for synthetic airspeed. diff --git a/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp b/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp index 7c47cfca30d6..f6b645397a3d 100644 --- a/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp +++ b/src/modules/attitude_estimator_q/attitude_estimator_q_main.cpp @@ -227,8 +227,8 @@ void AttitudeEstimatorQ::update_gps_position() if (_vehicle_gps_position_sub.update(&gps)) { if (_param_att_mag_decl_a.get() && (gps.eph < 20.0f)) { // set magnetic declination automatically - update_mag_declination(get_mag_declination_radians((float)gps.latitude_deg, - (float)gps.longitude_deg)); + float mag_decl_deg = get_mag_declination_degrees(gps.latitude_deg, gps.longitude_deg); + update_mag_declination(math::radians(mag_decl_deg)); } } } diff --git a/src/modules/commander/mag_calibration.cpp b/src/modules/commander/mag_calibration.cpp index 02ab015e0f17..4121549bd2ac 100644 --- a/src/modules/commander/mag_calibration.cpp +++ b/src/modules/commander/mag_calibration.cpp @@ -237,11 +237,8 @@ static float get_sphere_radius() if (gps_sub.copy(&gps)) { if (hrt_elapsed_time(&gps.timestamp) < 100_s && (gps.fix_type >= 2) && (gps.eph < 1000)) { - const double lat = gps.latitude_deg; - const double lon = gps.longitude_deg; - // magnetic field data returned by the geo library using the current GPS position - return get_mag_strength_gauss(lat, lon); + return get_mag_strength_gauss(gps.latitude_deg, gps.longitude_deg); } } } @@ -954,13 +951,14 @@ calibrate_return mag_calibrate_all(orb_advert_t *mavlink_log_pub, int32_t cal_ma return result; } -int do_mag_calibration_quick(orb_advert_t *mavlink_log_pub, float heading_radians, float latitude, float longitude) +int do_mag_calibration_quick(orb_advert_t *mavlink_log_pub, float heading_radians, + float latitude_deg, float longitude_deg) { // magnetometer quick calibration // if GPS available use world magnetic model to zero mag offsets bool mag_earth_available = false; - if (PX4_ISFINITE(latitude) && PX4_ISFINITE(longitude)) { + if (PX4_ISFINITE(latitude_deg) && PX4_ISFINITE(longitude_deg)) { mag_earth_available = true; } else { @@ -969,8 +967,8 @@ int do_mag_calibration_quick(orb_advert_t *mavlink_log_pub, float heading_radian if (vehicle_gps_position_sub.copy(&gps)) { if ((gps.timestamp != 0) && (gps.eph < 1000)) { - latitude = (float)gps.latitude_deg; - longitude = (float)gps.longitude_deg; + latitude_deg = (float)gps.latitude_deg; + longitude_deg = (float)gps.longitude_deg; mag_earth_available = true; } } @@ -981,14 +979,13 @@ int do_mag_calibration_quick(orb_advert_t *mavlink_log_pub, float heading_radian return PX4_ERROR; } else { - // magnetic field data returned by the geo library using the current GPS position - const float mag_declination_gps = get_mag_declination_radians(latitude, longitude); - const float mag_inclination_gps = get_mag_inclination_radians(latitude, longitude); - const float mag_strength_gps = get_mag_strength_gauss(latitude, longitude); + const float declination_rad = math::radians(get_mag_declination_degrees(latitude_deg, longitude_deg)); + const float inclination_rad = math::radians(get_mag_inclination_degrees(latitude_deg, longitude_deg)); + const float field_strength_gauss = get_mag_strength_gauss(latitude_deg, longitude_deg); - const Vector3f mag_earth_pred = Dcmf(Eulerf(0, -mag_inclination_gps, mag_declination_gps)) * Vector3f(mag_strength_gps, - 0, 0); + const Vector3f mag_earth_pred = Dcmf(Eulerf(0, -inclination_rad, declination_rad)) + * Vector3f(field_strength_gauss, 0, 0); uORB::Subscription vehicle_attitude_sub{ORB_ID(vehicle_attitude)}; vehicle_attitude_s attitude{}; diff --git a/src/modules/control_allocator/ControlAllocator.cpp b/src/modules/control_allocator/ControlAllocator.cpp index 2ead22c57079..3399bd619016 100644 --- a/src/modules/control_allocator/ControlAllocator.cpp +++ b/src/modules/control_allocator/ControlAllocator.cpp @@ -393,7 +393,7 @@ ControlAllocator::Run() if (_vehicle_thrust_setpoint_sub.update(&vehicle_thrust_setpoint)) { _thrust_sp = matrix::Vector3f(vehicle_thrust_setpoint.xyz); - if (dt > 5_ms) { + if (dt > 0.005f) { do_update = true; _timestamp_sample = vehicle_thrust_setpoint.timestamp_sample; } diff --git a/src/modules/differential_drive/DifferentialDrive.cpp b/src/modules/differential_drive/DifferentialDrive.cpp index 70553ffeb369..a1d34e01e7d2 100644 --- a/src/modules/differential_drive/DifferentialDrive.cpp +++ b/src/modules/differential_drive/DifferentialDrive.cpp @@ -66,6 +66,7 @@ void DifferentialDrive::Run() if (should_exit()) { ScheduleClear(); exit_and_cleanup(); + return; } hrt_abstime now = hrt_absolute_time(); diff --git a/src/modules/ekf2/EKF/aid_sources/gnss/gps_checks.cpp b/src/modules/ekf2/EKF/aid_sources/gnss/gps_checks.cpp index 71018df1c708..abdbec64fc1a 100644 --- a/src/modules/ekf2/EKF/aid_sources/gnss/gps_checks.cpp +++ b/src/modules/ekf2/EKF/aid_sources/gnss/gps_checks.cpp @@ -99,15 +99,12 @@ void Ekf::collect_gps(const gnssSample &gps) if (gps_rough_2d_fix && (_gps_checks_passed || !_NED_origin_initialised)) { // If we have good GPS data set the origin's WGS-84 position to the last gps fix - const double lat = gps.lat; - #if defined(CONFIG_EKF2_MAGNETOMETER) - const double lon = gps.lon; // set the magnetic field data returned by the geo library using the current GPS position - const float mag_declination_gps = get_mag_declination_radians(lat, lon); - const float mag_inclination_gps = get_mag_inclination_radians(lat, lon); - const float mag_strength_gps = get_mag_strength_gauss(lat, lon); + const float mag_declination_gps = math::radians(get_mag_declination_degrees(gps.lat, gps.lon)); + const float mag_inclination_gps = math::radians(get_mag_inclination_degrees(gps.lat, gps.lon)); + const float mag_strength_gps = get_mag_strength_gauss(gps.lat, gps.lon); if (PX4_ISFINITE(mag_declination_gps) && PX4_ISFINITE(mag_inclination_gps) && PX4_ISFINITE(mag_strength_gps)) { @@ -130,7 +127,7 @@ void Ekf::collect_gps(const gnssSample &gps) } #endif // CONFIG_EKF2_MAGNETOMETER - _earth_rate_NED = calcEarthRateNED((float)math::radians(lat)); + _earth_rate_NED = calcEarthRateNED((float)math::radians(gps.lat)); } _wmm_gps_time_last_checked = _time_delayed_us; diff --git a/src/modules/ekf2/EKF/aid_sources/magnetometer/mag_control.cpp b/src/modules/ekf2/EKF/aid_sources/magnetometer/mag_control.cpp index 458ca5c1db48..5bc5370f4859 100644 --- a/src/modules/ekf2/EKF/aid_sources/magnetometer/mag_control.cpp +++ b/src/modules/ekf2/EKF/aid_sources/magnetometer/mag_control.cpp @@ -52,8 +52,6 @@ void Ekf::controlMagFusion() _control_status.flags.mag_aligned_in_flight = false; } - checkYawAngleObservability(); - if (_params.mag_fusion_type == MagFuseType::NONE) { stopMagFusion(); return; @@ -130,7 +128,9 @@ void Ekf::controlMagFusion() _innov_check_fail_status.flags.reject_mag_z = (aid_src.test_ratio[2] > 1.f); // determine if we should use mag fusion - bool continuing_conditions_passing = (_params.mag_fusion_type != MagFuseType::NONE) + bool continuing_conditions_passing = ((_params.mag_fusion_type == MagFuseType::INIT) + || (_params.mag_fusion_type == MagFuseType::AUTO) + || (_params.mag_fusion_type == MagFuseType::HEADING)) && _control_status.flags.tilt_align && (_control_status.flags.yaw_align || (!_control_status.flags.ev_yaw && !_control_status.flags.yaw_align)) && mag_sample.mag.longerThan(0.f) @@ -275,6 +275,15 @@ void Ekf::stopMagFusion() if (_control_status.flags.mag) { ECL_INFO("stopping mag fusion"); + if (_control_status.flags.yaw_align && (_control_status.flags.mag_3D || _control_status.flags.mag_hdg)) { + // reset yaw alignment from mag unless using GNSS aiding + const bool using_ne_aiding = _control_status.flags.gps || _control_status.flags.aux_gpos; + + if (!using_ne_aiding) { + _control_status.flags.yaw_align = false; + } + } + _control_status.flags.mag = false; _control_status.flags.mag_dec = false; @@ -289,6 +298,8 @@ void Ekf::stopMagFusion() _fault_status.flags.bad_hdg = false; } + _control_status.flags.mag_aligned_in_flight = false; + _fault_status.flags.bad_mag_x = false; _fault_status.flags.bad_mag_y = false; _fault_status.flags.bad_mag_z = false; @@ -389,23 +400,6 @@ void Ekf::resetMagStates(const Vector3f &mag, bool reset_heading) } } -void Ekf::checkYawAngleObservability() -{ - if (_control_status.flags.gps) { - // Check if there has been enough change in horizontal velocity to make yaw observable - // Apply hysteresis to check to avoid rapid toggling - if (_yaw_angle_observable) { - _yaw_angle_observable = _accel_lpf_NE.norm() > _params.mag_acc_gate; - - } else { - _yaw_angle_observable = _accel_lpf_NE.norm() > _params.mag_acc_gate * 2.f; - } - - } else { - _yaw_angle_observable = false; - } -} - void Ekf::checkMagHeadingConsistency(const magSample &mag_sample) { // use mag bias if variance good @@ -435,7 +429,10 @@ void Ekf::checkMagHeadingConsistency(const magSample &mag_sample) } if (fabsf(_mag_heading_innov_lpf.getState()) < _params.mag_heading_noise) { - if (_yaw_angle_observable) { + // Check if there has been enough change in horizontal velocity to make yaw observable + const bool using_ne_aiding = _control_status.flags.gps || _control_status.flags.aux_gpos; + + if (using_ne_aiding && (_accel_lpf_NE.norm() > _params.mag_acc_gate)) { // yaw angle must be observable to consider consistency _control_status.flags.mag_heading_consistent = true; } diff --git a/src/modules/ekf2/EKF/common.h b/src/modules/ekf2/EKF/common.h index 8624501cb261..845c2d4edbfb 100644 --- a/src/modules/ekf2/EKF/common.h +++ b/src/modules/ekf2/EKF/common.h @@ -101,7 +101,8 @@ enum MagFuseType : uint8_t { // Integer definitions for mag_fusion_type AUTO = 0, ///< The selection of either heading or 3D magnetometer fusion will be automatic HEADING = 1, ///< Simple yaw angle fusion will always be used. This is less accurate, but less affected by earth field distortions. It should not be used for pitch angles outside the range from -60 to +60 deg - NONE = 5 ///< Do not use magnetometer under any circumstance.. + NONE = 5, ///< Do not use magnetometer under any circumstance. + INIT = 6 ///< Use the mag for heading initialization only. }; #endif // CONFIG_EKF2_MAGNETOMETER diff --git a/src/modules/ekf2/EKF/ekf.h b/src/modules/ekf2/EKF/ekf.h index c1542e8d046d..258ef6d7e865 100644 --- a/src/modules/ekf2/EKF/ekf.h +++ b/src/modules/ekf2/EKF/ekf.h @@ -703,7 +703,6 @@ class Ekf final : public EstimatorInterface #if defined(CONFIG_EKF2_MAGNETOMETER) // used by magnetometer fusion mode selection - bool _yaw_angle_observable{false}; ///< true when there is enough horizontal acceleration to make yaw observable AlphaFilter _mag_heading_innov_lpf{0.1f}; uint32_t _min_mag_health_time_us{1'000'000}; ///< magnetometer is marked as healthy only after this amount of time @@ -1028,7 +1027,6 @@ class Ekf final : public EstimatorInterface void resetMagStates(const Vector3f &mag, bool reset_heading = true); bool haglYawResetReq(); - void checkYawAngleObservability(); void checkMagHeadingConsistency(const magSample &mag_sample); bool checkMagField(const Vector3f &mag); diff --git a/src/modules/ekf2/EKF/ekf_helper.cpp b/src/modules/ekf2/EKF/ekf_helper.cpp index 40b6a4239d40..7b6b0b0cace7 100644 --- a/src/modules/ekf2/EKF/ekf_helper.cpp +++ b/src/modules/ekf2/EKF/ekf_helper.cpp @@ -96,8 +96,8 @@ bool Ekf::setEkfGlobalOrigin(const double latitude, const double longitude, cons _gps_alt_ref = altitude; #if defined(CONFIG_EKF2_MAGNETOMETER) - const float mag_declination_gps = get_mag_declination_radians(latitude, longitude); - const float mag_inclination_gps = get_mag_inclination_radians(latitude, longitude); + const float mag_declination_gps = math::radians(get_mag_declination_degrees(latitude, longitude)); + const float mag_inclination_gps = math::radians(get_mag_inclination_degrees(latitude, longitude)); const float mag_strength_gps = get_mag_strength_gauss(latitude, longitude); if (PX4_ISFINITE(mag_declination_gps) && PX4_ISFINITE(mag_inclination_gps) && PX4_ISFINITE(mag_strength_gps)) { diff --git a/src/modules/ekf2/EKF2.cpp b/src/modules/ekf2/EKF2.cpp index 7cfefd9d2c26..2d15b7262cc9 100644 --- a/src/modules/ekf2/EKF2.cpp +++ b/src/modules/ekf2/EKF2.cpp @@ -769,6 +769,7 @@ void EKF2::VerifyParams() if ((_param_ekf2_mag_type.get() != MagFuseType::AUTO) && (_param_ekf2_mag_type.get() != MagFuseType::HEADING) && (_param_ekf2_mag_type.get() != MagFuseType::NONE) + && (_param_ekf2_mag_type.get() != MagFuseType::INIT) ) { mavlink_log_critical(&_mavlink_log_pub, "EKF2_MAG_TYPE invalid, resetting to default"); diff --git a/src/modules/ekf2/module.yaml b/src/modules/ekf2/module.yaml index 9f2f83519637..77a6ab547dfa 100644 --- a/src/modules/ekf2/module.yaml +++ b/src/modules/ekf2/module.yaml @@ -401,19 +401,18 @@ parameters: heading or 3-component vector. The fusion of magnetometer data as a three component vector enables vehicle body fixed hard iron errors to be learned, but requires a stable earth field. If set to 'Automatic' magnetic heading - fusion is used when on-ground and 3-axis magnetic field fusion in-flight - with fallback to magnetic heading fusion if there is insufficient motion - to make yaw or magnetic field states observable. If set to 'Magnetic heading' - magnetic heading fusion is used at all times. If set to 'None' the magnetometer - will not be used under any circumstance. If no external source of yaw is - available, it is possible to use post-takeoff horizontal movement combined - with GPS velocity measurements to align the yaw angle with the timer required - (depending on the amount of movement and GPS data quality). + fusion is used when on-ground and 3-axis magnetic field fusion in-flight. + If set to 'Magnetic heading' magnetic heading fusion is used at all times. + If set to 'None' the magnetometer will not be used under any circumstance. + If no external source of yaw is available, it is possible to use post-takeoff + horizontal movement combined with GNSS velocity measurements to align the yaw angle. + If set to 'Init' the magnetometer is only used to initalize the heading. type: enum values: 0: Automatic 1: Magnetic heading 5: None + 6: Init default: 0 reboot_required: true EKF2_MAG_ACCLIM: diff --git a/src/modules/ekf2/test/change_indication/ekf_gsf_reset.csv b/src/modules/ekf2/test/change_indication/ekf_gsf_reset.csv index 6d57f7ba8743..88fa6eb85faa 100644 --- a/src/modules/ekf2/test/change_indication/ekf_gsf_reset.csv +++ b/src/modules/ekf2/test/change_indication/ekf_gsf_reset.csv @@ -67,325 +67,325 @@ Timestamp,state[0],state[1],state[2],state[3],state[4],state[5],state[6],state[7 6490000,1,-0.0093,-0.011,0.00023,0.0049,0.0053,-0.052,0.0023,0.00093,-3.7e+02,-0.0015,-0.0057,-7.5e-05,0,0,-0.00015,0,0,0,0,0,0,0,0,0.0018,0.0018,0.0001,0.26,0.26,1.5,0.15,0.15,0.26,0.00012,0.00012,2.8e-06,0.04,0.04,0.04,0.0025,0.0025,0.0025,0.0025,0.0025,0.0025,1,1 6590000,1,-0.0094,-0.011,0.00016,0.0037,0.0053,-0.099,0.0018,0.00099,-3.7e+02,-0.0015,-0.0057,-7.6e-05,0,0,2.9e-05,0,0,0,0,0,0,0,0,0.0015,0.0015,9.6e-05,0.2,0.2,1.1,0.12,0.12,0.23,9.7e-05,9.7e-05,2.6e-06,0.04,0.04,0.04,0.0025,0.0025,0.0025,0.0025,0.0025,0.0025,1,1 6690000,1,-0.0093,-0.011,9e-05,0.0046,0.0047,-0.076,0.0022,0.0015,-3.7e+02,-0.0015,-0.0057,-7.6e-05,0,0,-0.00029,0,0,0,0,0,0,0,0,0.0016,0.0016,9.9e-05,0.23,0.23,0.78,0.14,0.14,0.21,9.7e-05,9.7e-05,2.6e-06,0.04,0.04,0.04,0.0025,0.0025,0.0025,0.0025,0.0025,0.0025,1,1 -6790000,0.78,-0.024,0.005,-0.63,-0.22,-0.047,-0.11,-0.13,-0.028,-3.7e+02,-0.00035,-0.011,-0.0002,0,0,0.0012,-0.092,-0.02,0.51,-0.00079,-0.075,-0.061,0,0,0.0013,0.0013,0.075,0.18,0.18,0.6,0.11,0.11,0.2,7.5e-05,7.6e-05,2.4e-06,0.04,0.04,0.04,0.0014,0.0005,0.0014,0.0011,0.0015,0.0014,1,1 -6890000,0.78,-0.025,0.0059,-0.63,-0.27,-0.062,-0.12,-0.16,-0.038,-3.7e+02,-0.00018,-0.011,-0.00022,0,0,0.0013,-0.1,-0.022,0.51,-0.0012,-0.083,-0.067,0,0,0.0012,0.0013,0.062,0.2,0.2,0.46,0.13,0.13,0.18,7.4e-05,7.6e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00024,0.0013,0.00089,0.0014,0.0013,1,1 -6990000,0.78,-0.025,0.0061,-0.63,-0.3,-0.073,-0.12,-0.2,-0.048,-3.7e+02,-7.9e-05,-0.011,-0.00022,-0.00057,-6.5e-05,0.00098,-0.1,-0.022,0.5,-0.0016,-0.084,-0.067,0,0,0.0013,0.0013,0.059,0.23,0.23,0.36,0.16,0.16,0.16,7.4e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00018,0.0013,0.00085,0.0014,0.0013,1,1 -7090000,0.78,-0.025,0.0064,-0.63,-0.33,-0.084,-0.12,-0.23,-0.06,-3.7e+02,3.5e-05,-0.011,-0.00023,-0.0013,-0.00028,0.00063,-0.1,-0.023,0.5,-0.002,-0.085,-0.068,0,0,0.0013,0.0013,0.058,0.26,0.26,0.29,0.2,0.2,0.16,7.4e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00015,0.0013,0.00083,0.0014,0.0013,1,1 -7190000,0.78,-0.025,0.0066,-0.63,-0.36,-0.093,-0.15,-0.27,-0.071,-3.7e+02,0.0001,-0.011,-0.00023,-0.0017,-0.00044,0.00086,-0.1,-0.023,0.5,-0.002,-0.085,-0.068,0,0,0.0013,0.0013,0.057,0.3,0.29,0.24,0.25,0.24,0.15,7.4e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00013,0.0013,0.00082,0.0013,0.0013,1,1 -7290000,0.78,-0.025,0.0068,-0.63,-0.38,-0.094,-0.14,-0.3,-0.078,-3.7e+02,4.4e-05,-0.011,-0.00022,-0.0016,-0.0004,0.00018,-0.1,-0.023,0.5,-0.0019,-0.085,-0.068,0,0,0.0013,0.0013,0.056,0.33,0.33,0.2,0.3,0.3,0.14,7.3e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00012,0.0013,0.00081,0.0013,0.0013,1,1 -7390000,0.78,-0.024,0.007,-0.63,-0.41,-0.1,-0.16,-0.34,-0.089,-3.7e+02,6.5e-05,-0.011,-0.00022,-0.0017,-0.00044,2.8e-05,-0.1,-0.023,0.5,-0.0018,-0.085,-0.068,0,0,0.0013,0.0014,0.056,0.37,0.37,0.18,0.36,0.36,0.13,7.3e-05,7.5e-05,2.4e-06,0.04,0.04,0.039,0.0013,0.00011,0.0013,0.00081,0.0013,0.0013,1,1 -7490000,0.78,-0.024,0.007,-0.63,-0.43,-0.11,-0.16,-0.38,-0.11,-3.7e+02,0.0002,-0.011,-0.00023,-0.0019,-0.00051,-0.00073,-0.1,-0.023,0.5,-0.0019,-0.085,-0.069,0,0,0.0013,0.0014,0.055,0.42,0.42,0.15,0.43,0.43,0.12,7.2e-05,7.4e-05,2.4e-06,0.04,0.04,0.039,0.0013,0.0001,0.0013,0.0008,0.0013,0.0013,1,1 -7590000,0.78,-0.024,0.0071,-0.63,-0.45,-0.12,-0.16,-0.41,-0.12,-3.7e+02,0.00019,-0.011,-0.00022,-0.0018,-0.00049,-0.0016,-0.1,-0.023,0.5,-0.0019,-0.085,-0.068,0,0,0.0013,0.0014,0.055,0.46,0.46,0.14,0.52,0.51,0.12,7.2e-05,7.3e-05,2.4e-06,0.04,0.04,0.039,0.0013,0.0001,0.0013,0.0008,0.0013,0.0013,1,1 -7690000,0.78,-0.024,0.0072,-0.63,0,0,-0.16,-0.46,-0.14,-3.7e+02,0.00028,-0.011,-0.00022,-0.002,-0.00046,-0.0036,-0.1,-0.023,0.5,-0.002,-0.085,-0.069,0,0,0.0013,0.0014,0.055,25,25,0.13,1e+02,1e+02,0.11,7.1e-05,7.3e-05,2.4e-06,0.04,0.04,0.039,0.0013,9.6e-05,0.0013,0.0008,0.0013,0.0013,1,1 -7790000,0.78,-0.024,0.0074,-0.63,-0.028,-0.004,-0.16,-0.46,-0.14,-3.7e+02,0.00034,-0.011,-0.00023,-0.002,-0.00046,-0.0056,-0.1,-0.023,0.5,-0.002,-0.085,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.12,1e+02,1e+02,0.11,7e-05,7.2e-05,2.4e-06,0.04,0.04,0.038,0.0013,9.3e-05,0.0013,0.00079,0.0013,0.0013,1,1 -7890000,0.78,-0.024,0.0074,-0.63,-0.053,-0.0088,-0.15,-0.46,-0.14,-3.7e+02,0.00038,-0.011,-0.00022,-0.002,-0.00046,-0.0081,-0.1,-0.023,0.5,-0.0021,-0.086,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.11,1e+02,1e+02,0.1,6.9e-05,7.1e-05,2.4e-06,0.04,0.04,0.038,0.0013,9e-05,0.0013,0.00079,0.0013,0.0013,1,1 -7990000,0.78,-0.024,0.0074,-0.63,-0.079,-0.013,-0.16,-0.47,-0.14,-3.7e+02,0.00039,-0.011,-0.00022,-0.002,-0.00046,-0.0093,-0.1,-0.023,0.5,-0.0021,-0.086,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.1,51,51,0.099,6.7e-05,6.9e-05,2.4e-06,0.04,0.04,0.038,0.0013,8.8e-05,0.0013,0.00079,0.0013,0.0013,1,1 -8090000,0.78,-0.024,0.0072,-0.63,-0.1,-0.018,-0.17,-0.47,-0.14,-3.7e+02,0.00043,-0.01,-0.00021,-0.002,-0.00046,-0.0095,-0.1,-0.023,0.5,-0.0022,-0.086,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.1,52,52,0.097,6.6e-05,6.8e-05,2.4e-06,0.04,0.04,0.037,0.0013,8.6e-05,0.0013,0.00079,0.0013,0.0013,1,1 -8190000,0.78,-0.024,0.0074,-0.63,-0.13,-0.021,-0.18,-0.48,-0.14,-3.7e+02,0.00043,-0.01,-0.00021,-0.002,-0.00046,-0.012,-0.1,-0.023,0.5,-0.0022,-0.086,-0.069,0,0,0.0014,0.0014,0.054,24,25,0.099,35,35,0.094,6.4e-05,6.6e-05,2.4e-06,0.04,0.04,0.037,0.0013,8.4e-05,0.0013,0.00078,0.0013,0.0013,1,1 -8290000,0.78,-0.024,0.0074,-0.63,-0.15,-0.026,-0.17,-0.49,-0.14,-3.7e+02,0.00052,-0.01,-0.00021,-0.002,-0.00046,-0.016,-0.1,-0.023,0.5,-0.0023,-0.086,-0.069,0,0,0.0014,0.0014,0.054,25,25,0.097,37,37,0.091,6.3e-05,6.4e-05,2.4e-06,0.04,0.04,0.036,0.0013,8.3e-05,0.0013,0.00078,0.0013,0.0013,1,1 -8390000,0.78,-0.024,0.0072,-0.63,-0.17,-0.031,-0.17,-0.5,-0.14,-3.7e+02,0.00054,-0.01,-0.00021,-0.002,-0.00046,-0.019,-0.1,-0.023,0.5,-0.0024,-0.086,-0.069,0,0,0.0014,0.0014,0.054,24,24,0.097,29,29,0.091,6.1e-05,6.3e-05,2.4e-06,0.04,0.04,0.035,0.0013,8.1e-05,0.0013,0.00078,0.0013,0.0013,1,1 -8490000,0.78,-0.023,0.0072,-0.63,-0.2,-0.036,-0.17,-0.51,-0.15,-3.7e+02,0.00055,-0.0099,-0.0002,-0.002,-0.00046,-0.024,-0.1,-0.023,0.5,-0.0024,-0.086,-0.069,0,0,0.0014,0.0014,0.054,24,24,0.096,31,31,0.089,5.9e-05,6.1e-05,2.4e-06,0.04,0.04,0.034,0.0013,8e-05,0.0013,0.00077,0.0013,0.0013,1,1 -8590000,0.78,-0.023,0.0074,-0.63,-0.21,-0.033,-0.17,-0.52,-0.15,-3.7e+02,0.00036,-0.0099,-0.0002,-0.002,-0.00046,-0.028,-0.1,-0.023,0.5,-0.0022,-0.086,-0.069,0,0,0.0014,0.0014,0.054,23,23,0.095,25,25,0.088,5.7e-05,5.9e-05,2.4e-06,0.04,0.04,0.034,0.0013,7.9e-05,0.0013,0.00077,0.0013,0.0013,1,1 -8690000,0.78,-0.023,0.007,-0.63,-0.23,-0.038,-0.16,-0.54,-0.15,-3.7e+02,0.00037,-0.0096,-0.00019,-0.002,-0.00046,-0.033,-0.1,-0.023,0.5,-0.0023,-0.086,-0.069,0,0,0.0014,0.0014,0.054,23,23,0.096,28,28,0.088,5.5e-05,5.7e-05,2.4e-06,0.04,0.04,0.033,0.0013,7.8e-05,0.0013,0.00077,0.0013,0.0013,1,1 -8790000,0.78,-0.023,0.0071,-0.63,-0.24,-0.041,-0.15,-0.54,-0.15,-3.7e+02,0.00039,-0.0095,-0.00019,-0.002,-0.00046,-0.039,-0.1,-0.023,0.5,-0.0024,-0.086,-0.069,0,0,0.0014,0.0014,0.054,21,21,0.096,24,24,0.087,5.2e-05,5.4e-05,2.4e-06,0.04,0.04,0.032,0.0013,7.7e-05,0.0013,0.00076,0.0013,0.0013,1,1 -8890000,0.78,-0.023,0.007,-0.63,-0.26,-0.045,-0.15,-0.56,-0.16,-3.7e+02,0.00039,-0.0094,-0.00018,-0.002,-0.00046,-0.043,-0.1,-0.023,0.5,-0.0025,-0.086,-0.069,0,0,0.0014,0.0014,0.054,21,21,0.095,26,26,0.086,5e-05,5.2e-05,2.4e-06,0.04,0.04,0.03,0.0013,7.6e-05,0.0013,0.00076,0.0013,0.0013,1,1 -8990000,0.78,-0.023,0.007,-0.63,-0.28,-0.05,-0.14,-0.59,-0.16,-3.7e+02,0.00044,-0.0093,-0.00018,-0.0021,-0.00036,-0.049,-0.11,-0.023,0.5,-0.0025,-0.086,-0.069,0,0,0.0013,0.0014,0.054,21,21,0.096,29,29,0.087,4.8e-05,5e-05,2.4e-06,0.04,0.04,0.029,0.0013,7.6e-05,0.0013,0.00075,0.0013,0.0013,1,1 -9090000,0.78,-0.022,0.007,-0.63,-0.3,-0.05,-0.14,-0.61,-0.17,-3.7e+02,0.00036,-0.0092,-0.00018,-0.0021,-0.00019,-0.052,-0.11,-0.023,0.5,-0.0025,-0.086,-0.069,0,0,0.0013,0.0014,0.054,21,21,0.095,33,33,0.086,4.6e-05,4.8e-05,2.4e-06,0.04,0.04,0.028,0.0013,7.5e-05,0.0013,0.00075,0.0013,0.0013,1,1 -9190000,0.77,-0.022,0.0063,-0.63,-0.3,-0.06,-0.14,-0.63,-0.18,-3.7e+02,0.00037,-0.0088,-0.00017,-0.0019,4e-05,-0.055,-0.11,-0.023,0.5,-0.0027,-0.087,-0.069,0,0,0.0013,0.0013,0.054,21,21,0.094,37,37,0.085,4.3e-05,4.5e-05,2.4e-06,0.04,0.04,0.027,0.0012,7.4e-05,0.0013,0.00074,0.0013,0.0013,1,1 -9290000,0.77,-0.022,0.006,-0.63,-0.32,-0.068,-0.14,-0.66,-0.19,-3.7e+02,0.0004,-0.0086,-0.00016,-0.002,0.00028,-0.059,-0.11,-0.023,0.5,-0.0028,-0.087,-0.069,0,0,0.0013,0.0013,0.054,21,21,0.093,41,41,0.085,4.1e-05,4.3e-05,2.4e-06,0.04,0.04,0.025,0.0012,7.3e-05,0.0013,0.00074,0.0013,0.0013,1,1 -9390000,0.77,-0.022,0.0059,-0.63,-0.34,-0.077,-0.13,-0.69,-0.2,-3.7e+02,0.00042,-0.0085,-0.00016,-0.0021,0.00046,-0.063,-0.11,-0.023,0.5,-0.0029,-0.087,-0.069,0,0,0.0013,0.0013,0.054,21,21,0.093,46,46,0.086,3.9e-05,4.1e-05,2.4e-06,0.04,0.04,0.024,0.0012,7.3e-05,0.0013,0.00074,0.0013,0.0013,1,1 -9490000,0.77,-0.022,0.0054,-0.63,-0.34,-0.09,-0.13,-0.71,-0.21,-3.7e+02,0.00045,-0.0082,-0.00015,-0.002,0.00072,-0.067,-0.11,-0.023,0.5,-0.0031,-0.087,-0.069,0,0,0.0013,0.0013,0.054,21,21,0.091,51,51,0.085,3.7e-05,3.9e-05,2.4e-06,0.04,0.04,0.023,0.0012,7.2e-05,0.0013,0.00073,0.0013,0.0013,1,1 -9590000,0.77,-0.022,0.0051,-0.63,-0.35,-0.089,-0.13,-0.73,-0.22,-3.7e+02,0.0003,-0.008,-0.00014,-0.002,0.001,-0.07,-0.11,-0.023,0.5,-0.0031,-0.087,-0.069,0,0,0.0012,0.0013,0.054,21,21,0.09,57,57,0.085,3.5e-05,3.7e-05,2.4e-06,0.04,0.04,0.022,0.0012,7.2e-05,0.0013,0.00073,0.0013,0.0013,1,1 -9690000,0.77,-0.022,0.0053,-0.63,-0.37,-0.086,-0.12,-0.77,-0.22,-3.7e+02,0.00022,-0.0081,-0.00014,-0.0022,0.0012,-0.075,-0.11,-0.023,0.5,-0.0029,-0.087,-0.069,0,0,0.0012,0.0012,0.054,21,21,0.089,63,63,0.086,3.3e-05,3.5e-05,2.4e-06,0.04,0.04,0.02,0.0012,7.1e-05,0.0013,0.00072,0.0013,0.0013,1,1 -9790000,0.77,-0.022,0.0049,-0.63,-0.37,-0.099,-0.11,-0.79,-0.24,-3.7e+02,0.00023,-0.0078,-0.00014,-0.0023,0.0016,-0.081,-0.11,-0.023,0.5,-0.0031,-0.087,-0.069,0,0,0.0012,0.0012,0.054,21,21,0.087,69,69,0.085,3.1e-05,3.4e-05,2.4e-06,0.04,0.04,0.019,0.0012,7.1e-05,0.0013,0.00072,0.0013,0.0013,1,1 -9890000,0.77,-0.021,0.0047,-0.63,-0.38,-0.1,-0.11,-0.82,-0.24,-3.7e+02,0.00014,-0.0077,-0.00013,-0.0023,0.0018,-0.083,-0.11,-0.023,0.5,-0.003,-0.087,-0.069,0,0,0.0012,0.0012,0.054,21,22,0.084,76,76,0.085,3e-05,3.2e-05,2.4e-06,0.04,0.04,0.018,0.0012,7e-05,0.0013,0.00072,0.0013,0.0013,1,1 -9990000,0.77,-0.021,0.0047,-0.63,-0.4,-0.1,-0.1,-0.85,-0.25,-3.7e+02,9.4e-05,-0.0077,-0.00013,-0.0025,0.002,-0.087,-0.11,-0.023,0.5,-0.003,-0.087,-0.069,0,0,0.0012,0.0012,0.054,22,22,0.083,83,83,0.086,2.8e-05,3e-05,2.4e-06,0.04,0.04,0.017,0.0012,7e-05,0.0013,0.00071,0.0013,0.0013,1,1 -10090000,0.77,-0.021,0.0044,-0.63,-0.4,-0.099,-0.096,-0.87,-0.26,-3.7e+02,-1.2e-05,-0.0075,-0.00012,-0.0025,0.0022,-0.09,-0.11,-0.023,0.5,-0.003,-0.088,-0.069,0,0,0.0011,0.0012,0.054,22,22,0.08,91,91,0.085,2.6e-05,2.9e-05,2.4e-06,0.04,0.04,0.016,0.0012,7e-05,0.0013,0.00071,0.0013,0.0013,1,1 -10190000,0.77,-0.021,0.0047,-0.63,-0.42,-0.097,-0.096,-0.92,-0.26,-3.7e+02,-4.4e-05,-0.0076,-0.00012,-0.0025,0.0022,-0.091,-0.11,-0.023,0.5,-0.0029,-0.088,-0.069,0,0,0.0011,0.0011,0.054,22,22,0.078,99,99,0.084,2.5e-05,2.7e-05,2.4e-06,0.04,0.04,0.015,0.0012,6.9e-05,0.0013,0.00071,0.0013,0.0013,1,1 -10290000,0.77,-0.021,0.0049,-0.63,-0.44,-0.096,-0.083,-0.96,-0.27,-3.7e+02,-7.1e-05,-0.0076,-0.00012,-0.0028,0.0025,-0.097,-0.11,-0.023,0.5,-0.0028,-0.088,-0.069,0,0,0.0011,0.0011,0.054,22,22,0.076,1.1e+02,1.1e+02,0.085,2.4e-05,2.6e-05,2.4e-06,0.04,0.04,0.014,0.0012,6.9e-05,0.0013,0.0007,0.0013,0.0013,1,1 -10390000,0.77,-0.021,0.0047,-0.63,-0.0086,-0.022,0.0097,7.7e-05,-0.0019,-3.7e+02,-6e-05,-0.0075,-0.00012,-0.0028,0.0027,-0.1,-0.11,-0.023,0.5,-0.0029,-0.088,-0.069,0,0,0.0011,0.0011,0.054,0.25,0.25,0.56,0.25,0.25,0.078,2.2e-05,2.4e-05,2.3e-06,0.04,0.04,0.013,0.0012,6.9e-05,0.0013,0.0007,0.0013,0.0013,1,1 -10490000,0.77,-0.021,0.0048,-0.63,-0.028,-0.024,0.023,-0.0017,-0.0042,-3.7e+02,-8.3e-05,-0.0075,-0.00012,-0.0029,0.0028,-0.1,-0.11,-0.024,0.5,-0.0029,-0.088,-0.069,0,0,0.0011,0.0011,0.054,0.25,0.25,0.55,0.26,0.26,0.08,2.1e-05,2.3e-05,2.3e-06,0.04,0.04,0.012,0.0012,6.9e-05,0.0013,0.0007,0.0013,0.0013,1,1 -10590000,0.77,-0.02,0.0045,-0.63,-0.026,-0.013,0.026,0.0015,-0.0009,-3.7e+02,-0.00027,-0.0074,-0.00011,-0.0021,0.0027,-0.1,-0.11,-0.024,0.5,-0.0027,-0.088,-0.069,0,0,0.001,0.0011,0.054,0.13,0.13,0.27,0.13,0.13,0.073,2e-05,2.2e-05,2.3e-06,0.04,0.04,0.012,0.0012,6.9e-05,0.0013,0.0007,0.0013,0.0013,1,1 -10690000,0.77,-0.02,0.0044,-0.63,-0.043,-0.014,0.03,-0.002,-0.0023,-3.7e+02,-0.00028,-0.0073,-0.00011,-0.0021,0.0028,-0.11,-0.11,-0.024,0.5,-0.0027,-0.088,-0.069,0,0,0.001,0.001,0.054,0.13,0.13,0.26,0.14,0.14,0.078,1.9e-05,2.1e-05,2.3e-06,0.04,0.04,0.011,0.0012,6.9e-05,0.0013,0.00069,0.0013,0.0013,1,1 -10790000,0.77,-0.02,0.004,-0.63,-0.04,-0.0098,0.024,0.001,-0.001,-3.7e+02,-0.00033,-0.0072,-0.0001,-0.00033,0.0016,-0.11,-0.11,-0.024,0.5,-0.0028,-0.088,-0.069,0,0,0.001,0.001,0.054,0.091,0.092,0.17,0.09,0.09,0.072,1.7e-05,1.9e-05,2.3e-06,0.039,0.039,0.011,0.0012,6.9e-05,0.0013,0.00069,0.0013,0.0013,1,1 -10890000,0.77,-0.02,0.0039,-0.63,-0.057,-0.012,0.02,-0.0037,-0.0022,-3.7e+02,-0.00035,-0.0071,-0.0001,-0.00027,0.0017,-0.11,-0.11,-0.024,0.5,-0.0028,-0.088,-0.069,0,0,0.00098,0.00098,0.053,0.099,0.1,0.16,0.096,0.096,0.075,1.7e-05,1.8e-05,2.3e-06,0.039,0.039,0.011,0.0012,6.9e-05,0.0013,0.00069,0.0013,0.0013,1,1 -10990000,0.77,-0.02,0.0031,-0.63,-0.048,-0.0092,0.015,0.00014,-0.0011,-3.7e+02,-0.00038,-0.0069,-9.7e-05,0.0035,-0.0006,-0.11,-0.11,-0.024,0.5,-0.003,-0.089,-0.069,0,0,0.00093,0.00093,0.053,0.078,0.079,0.12,0.098,0.098,0.071,1.5e-05,1.7e-05,2.3e-06,0.038,0.038,0.011,0.0012,6.9e-05,0.0013,0.00069,0.0013,0.0013,1,1 -11090000,0.77,-0.02,0.0028,-0.63,-0.06,-0.013,0.02,-0.0047,-0.0024,-3.7e+02,-0.00042,-0.0068,-9.2e-05,0.0035,-0.00017,-0.11,-0.11,-0.024,0.5,-0.003,-0.089,-0.069,0,0,0.00092,0.00092,0.053,0.087,0.088,0.11,0.11,0.11,0.074,1.5e-05,1.6e-05,2.3e-06,0.038,0.038,0.011,0.0012,6.8e-05,0.0013,0.00068,0.0013,0.0013,1,1 -11190000,0.77,-0.019,0.0023,-0.63,-0.054,-0.0091,0.0082,0.0007,-0.00036,-3.7e+02,-0.00052,-0.0067,-8.9e-05,0.008,-0.0035,-0.11,-0.11,-0.024,0.5,-0.0031,-0.089,-0.07,0,0,0.00085,0.00085,0.053,0.073,0.074,0.084,0.11,0.11,0.069,1.3e-05,1.5e-05,2.3e-06,0.037,0.037,0.011,0.0012,6.8e-05,0.0013,0.00068,0.0013,0.0013,1,1 -11290000,0.77,-0.019,0.0024,-0.63,-0.069,-0.011,0.008,-0.0057,-0.0014,-3.7e+02,-0.00049,-0.0067,-9.1e-05,0.0081,-0.0036,-0.11,-0.11,-0.024,0.5,-0.0031,-0.089,-0.069,0,0,0.00084,0.00084,0.053,0.083,0.084,0.078,0.12,0.12,0.072,1.3e-05,1.4e-05,2.3e-06,0.037,0.037,0.01,0.0012,6.8e-05,0.0013,0.00068,0.0013,0.0013,1,1 -11390000,0.78,-0.019,0.002,-0.63,-0.064,-0.0096,0.0024,0.00035,-0.00029,-3.7e+02,-0.00058,-0.0067,-8.9e-05,0.012,-0.0074,-0.11,-0.11,-0.024,0.5,-0.0031,-0.089,-0.07,0,0,0.00076,0.00077,0.052,0.068,0.068,0.063,0.081,0.081,0.068,1.2e-05,1.3e-05,2.3e-06,0.035,0.035,0.01,0.0012,6.8e-05,0.0013,0.00068,0.0013,0.0012,1,1 -11490000,0.78,-0.019,0.0022,-0.63,-0.078,-0.011,0.0032,-0.0072,-0.0011,-3.7e+02,-0.00056,-0.0068,-9.2e-05,0.012,-0.0079,-0.11,-0.11,-0.024,0.5,-0.0032,-0.089,-0.07,0,0,0.00075,0.00076,0.052,0.078,0.079,0.058,0.088,0.088,0.069,1.1e-05,1.2e-05,2.3e-06,0.035,0.035,0.01,0.0012,6.8e-05,0.0013,0.00068,0.0013,0.0012,1,1 -11590000,0.78,-0.019,0.0017,-0.63,-0.069,-0.011,-0.0027,-0.0022,-0.00067,-3.7e+02,-0.0006,-0.0067,-9.1e-05,0.017,-0.012,-0.11,-0.11,-0.024,0.5,-0.0033,-0.089,-0.07,0,0,0.00067,0.00069,0.052,0.066,0.066,0.049,0.068,0.068,0.066,1e-05,1.1e-05,2.3e-06,0.033,0.033,0.01,0.0012,6.8e-05,0.0013,0.00067,0.0013,0.0012,1,1 -11690000,0.78,-0.019,0.0018,-0.63,-0.08,-0.014,-0.0071,-0.0098,-0.0021,-3.7e+02,-0.00056,-0.0067,-9.2e-05,0.017,-0.012,-0.11,-0.11,-0.024,0.5,-0.0034,-0.089,-0.07,0,0,0.00067,0.00068,0.052,0.076,0.077,0.046,0.074,0.074,0.066,9.9e-06,1.1e-05,2.3e-06,0.033,0.033,0.01,0.0012,6.8e-05,0.0013,0.00067,0.0013,0.0012,1,1 -11790000,0.78,-0.019,0.0012,-0.63,-0.072,-0.0097,-0.0089,-0.0061,-4.1e-05,-3.7e+02,-0.00061,-0.0066,-9.1e-05,0.023,-0.015,-0.11,-0.11,-0.024,0.5,-0.0035,-0.09,-0.07,0,0,0.00059,0.00061,0.051,0.065,0.065,0.039,0.06,0.06,0.063,9.1e-06,9.9e-06,2.3e-06,0.03,0.03,0.01,0.0012,6.8e-05,0.0013,0.00067,0.0013,0.0012,1,1 -11890000,0.78,-0.019,0.0013,-0.63,-0.084,-0.01,-0.0098,-0.014,-0.001,-3.7e+02,-0.0006,-0.0066,-9.2e-05,0.023,-0.016,-0.11,-0.11,-0.024,0.5,-0.0035,-0.09,-0.07,0,0,0.00059,0.0006,0.051,0.075,0.076,0.037,0.066,0.066,0.063,8.7e-06,9.5e-06,2.3e-06,0.03,0.03,0.01,0.0012,6.8e-05,0.0013,0.00067,0.0013,0.0012,1,1 -11990000,0.78,-0.019,0.00071,-0.63,-0.072,-0.0052,-0.015,-0.009,0.0011,-3.7e+02,-0.00075,-0.0065,-8.7e-05,0.027,-0.019,-0.11,-0.11,-0.024,0.5,-0.0034,-0.09,-0.07,0,0,0.00052,0.00053,0.051,0.063,0.064,0.033,0.055,0.055,0.061,8.1e-06,8.8e-06,2.3e-06,0.028,0.028,0.01,0.0012,6.8e-05,0.0013,0.00066,0.0013,0.0012,1,1 -12090000,0.78,-0.018,0.00055,-0.63,-0.078,-0.0073,-0.021,-0.016,0.00038,-3.7e+02,-0.0008,-0.0065,-8.3e-05,0.026,-0.017,-0.11,-0.11,-0.024,0.5,-0.0034,-0.09,-0.07,0,0,0.00051,0.00053,0.051,0.073,0.074,0.031,0.061,0.061,0.061,7.7e-06,8.5e-06,2.3e-06,0.028,0.028,0.01,0.0012,6.8e-05,0.0013,0.00066,0.0013,0.0012,1,1 -12190000,0.78,-0.018,-0.00013,-0.63,-0.064,-0.0098,-0.016,-0.0085,-0.00012,-3.7e+02,-0.00081,-0.0064,-8.3e-05,0.032,-0.022,-0.11,-0.11,-0.024,0.5,-0.0036,-0.091,-0.07,0,0,0.00045,0.00047,0.051,0.062,0.062,0.028,0.052,0.052,0.059,7.2e-06,7.8e-06,2.3e-06,0.026,0.026,0.01,0.0012,6.8e-05,0.0012,0.00066,0.0013,0.0012,1,1 -12290000,0.78,-0.018,-0.00015,-0.63,-0.07,-0.012,-0.015,-0.015,-0.0016,-3.7e+02,-0.00078,-0.0064,-8.3e-05,0.033,-0.022,-0.11,-0.11,-0.024,0.5,-0.0037,-0.091,-0.07,0,0,0.00045,0.00047,0.051,0.071,0.071,0.028,0.058,0.058,0.059,6.9e-06,7.6e-06,2.3e-06,0.026,0.026,0.01,0.0012,6.8e-05,0.0012,0.00066,0.0013,0.0012,1,1 -12390000,0.78,-0.018,-0.00055,-0.63,-0.057,-0.01,-0.013,-0.0083,-0.00071,-3.7e+02,-0.00085,-0.0063,-8.3e-05,0.037,-0.026,-0.11,-0.11,-0.024,0.5,-0.0037,-0.091,-0.07,0,0,0.0004,0.00042,0.05,0.059,0.06,0.026,0.05,0.05,0.057,6.5e-06,7e-06,2.3e-06,0.024,0.024,0.01,0.0012,6.7e-05,0.0012,0.00066,0.0013,0.0012,1,1 -12490000,0.78,-0.018,-0.00042,-0.63,-0.064,-0.012,-0.016,-0.015,-0.0018,-3.7e+02,-0.00083,-0.0064,-8.5e-05,0.037,-0.027,-0.11,-0.11,-0.024,0.5,-0.0037,-0.091,-0.07,0,0,0.0004,0.00041,0.05,0.068,0.068,0.026,0.056,0.057,0.057,6.2e-06,6.8e-06,2.3e-06,0.024,0.024,0.01,0.0012,6.7e-05,0.0012,0.00066,0.0013,0.0012,1,1 -12590000,0.78,-0.018,-0.00062,-0.63,-0.06,-0.01,-0.022,-0.013,-0.00071,-3.7e+02,-0.00091,-0.0063,-8.3e-05,0.038,-0.028,-0.11,-0.11,-0.024,0.5,-0.0036,-0.091,-0.07,0,0,0.00036,0.00037,0.05,0.057,0.057,0.025,0.048,0.048,0.055,5.9e-06,6.4e-06,2.3e-06,0.022,0.022,0.0099,0.0012,6.7e-05,0.0012,0.00065,0.0013,0.0012,1,1 -12690000,0.78,-0.018,-0.00055,-0.63,-0.065,-0.0094,-0.025,-0.019,-0.00092,-3.7e+02,-0.00098,-0.0064,-8.2e-05,0.036,-0.028,-0.11,-0.11,-0.024,0.5,-0.0035,-0.091,-0.07,0,0,0.00035,0.00037,0.05,0.064,0.064,0.025,0.055,0.055,0.055,5.7e-06,6.2e-06,2.3e-06,0.022,0.022,0.0099,0.0012,6.7e-05,0.0012,0.00065,0.0013,0.0012,1,1 -12790000,0.78,-0.018,-0.00083,-0.63,-0.061,-0.0086,-0.029,-0.017,-0.00085,-3.7e+02,-0.00097,-0.0063,-8.2e-05,0.039,-0.029,-0.11,-0.11,-0.024,0.5,-0.0036,-0.091,-0.07,0,0,0.00032,0.00033,0.05,0.054,0.054,0.024,0.048,0.048,0.053,5.3e-06,5.8e-06,2.3e-06,0.02,0.021,0.0097,0.0012,6.7e-05,0.0012,0.00065,0.0013,0.0012,1,1 -12890000,0.78,-0.018,-0.00082,-0.63,-0.068,-0.0098,-0.028,-0.024,-0.0022,-3.7e+02,-0.00092,-0.0063,-8.3e-05,0.041,-0.029,-0.11,-0.11,-0.024,0.5,-0.0037,-0.091,-0.07,0,0,0.00032,0.00033,0.05,0.06,0.061,0.025,0.055,0.055,0.054,5.2e-06,5.6e-06,2.3e-06,0.02,0.021,0.0097,0.0012,6.7e-05,0.0012,0.00065,0.0013,0.0012,1,1 -12990000,0.78,-0.018,-0.0013,-0.63,-0.055,-0.0092,-0.028,-0.018,-0.0022,-3.7e+02,-0.00096,-0.0062,-8.1e-05,0.044,-0.031,-0.11,-0.11,-0.024,0.5,-0.0038,-0.091,-0.07,0,0,0.00029,0.00031,0.05,0.054,0.055,0.025,0.057,0.057,0.052,4.9e-06,5.4e-06,2.3e-06,0.019,0.02,0.0094,0.0012,6.7e-05,0.0012,0.00065,0.0013,0.0012,1,1 -13090000,0.78,-0.018,-0.0012,-0.63,-0.061,-0.009,-0.028,-0.024,-0.0029,-3.7e+02,-0.00094,-0.0063,-8.3e-05,0.045,-0.033,-0.11,-0.11,-0.024,0.5,-0.0038,-0.091,-0.07,0,0,0.00029,0.00031,0.05,0.061,0.061,0.025,0.065,0.065,0.052,4.7e-06,5.2e-06,2.3e-06,0.019,0.02,0.0094,0.0012,6.7e-05,0.0012,0.00065,0.0012,0.0012,1,1 -13190000,0.78,-0.018,-0.0015,-0.63,-0.049,-0.0085,-0.025,-0.017,-0.0023,-3.7e+02,-0.001,-0.0063,-8.3e-05,0.047,-0.035,-0.11,-0.11,-0.024,0.5,-0.0038,-0.091,-0.07,0,0,0.00027,0.00028,0.05,0.054,0.054,0.025,0.066,0.066,0.051,4.5e-06,4.9e-06,2.3e-06,0.018,0.019,0.0091,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13290000,0.78,-0.018,-0.0016,-0.63,-0.053,-0.011,-0.022,-0.022,-0.0043,-3.7e+02,-0.00094,-0.0062,-8.2e-05,0.049,-0.035,-0.12,-0.11,-0.024,0.5,-0.004,-0.091,-0.07,0,0,0.00026,0.00028,0.05,0.06,0.06,0.027,0.075,0.075,0.051,4.4e-06,4.8e-06,2.3e-06,0.018,0.018,0.0091,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13390000,0.78,-0.018,-0.0018,-0.63,-0.044,-0.011,-0.018,-0.016,-0.0036,-3.7e+02,-0.00098,-0.0062,-8.1e-05,0.051,-0.035,-0.12,-0.11,-0.024,0.5,-0.004,-0.091,-0.07,0,0,0.00024,0.00026,0.05,0.053,0.053,0.026,0.076,0.076,0.05,4.2e-06,4.6e-06,2.3e-06,0.017,0.018,0.0088,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13490000,0.78,-0.018,-0.0019,-0.63,-0.047,-0.012,-0.016,-0.021,-0.0051,-3.7e+02,-0.00097,-0.0062,-8e-05,0.051,-0.035,-0.12,-0.11,-0.024,0.5,-0.004,-0.091,-0.07,0,0,0.00024,0.00026,0.05,0.059,0.059,0.028,0.086,0.086,0.05,4e-06,4.5e-06,2.3e-06,0.017,0.017,0.0087,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13590000,0.78,-0.018,-0.002,-0.63,-0.038,-0.011,-0.019,-0.014,-0.0037,-3.7e+02,-0.001,-0.0062,-8.1e-05,0.053,-0.037,-0.12,-0.11,-0.024,0.5,-0.004,-0.091,-0.07,0,0,0.00023,0.00024,0.049,0.052,0.052,0.028,0.086,0.086,0.05,3.9e-06,4.3e-06,2.3e-06,0.016,0.017,0.0084,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13690000,0.78,-0.018,-0.0021,-0.63,-0.041,-0.014,-0.023,-0.018,-0.0054,-3.7e+02,-0.001,-0.0061,-7.9e-05,0.053,-0.036,-0.12,-0.11,-0.024,0.5,-0.004,-0.091,-0.07,0,0,0.00023,0.00024,0.049,0.057,0.057,0.029,0.096,0.096,0.05,3.8e-06,4.2e-06,2.3e-06,0.016,0.017,0.0083,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13790000,0.78,-0.018,-0.0023,-0.63,-0.03,-0.012,-0.024,-0.0066,-0.0043,-3.7e+02,-0.001,-0.0061,-7.9e-05,0.054,-0.038,-0.12,-0.11,-0.024,0.5,-0.004,-0.091,-0.07,0,0,0.00021,0.00023,0.049,0.044,0.044,0.029,0.071,0.071,0.049,3.6e-06,4e-06,2.3e-06,0.015,0.016,0.0079,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13890000,0.78,-0.018,-0.0023,-0.63,-0.033,-0.014,-0.029,-0.01,-0.0061,-3.7e+02,-0.00099,-0.0061,-7.9e-05,0.056,-0.037,-0.12,-0.11,-0.024,0.5,-0.0041,-0.092,-0.069,0,0,0.00021,0.00022,0.049,0.048,0.048,0.03,0.079,0.08,0.05,3.5e-06,3.9e-06,2.3e-06,0.015,0.016,0.0078,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -13990000,0.78,-0.018,-0.0025,-0.63,-0.025,-0.013,-0.028,-0.0036,-0.0053,-3.7e+02,-0.001,-0.0061,-7.9e-05,0.056,-0.038,-0.12,-0.11,-0.024,0.5,-0.004,-0.092,-0.069,0,0,0.0002,0.00021,0.049,0.039,0.039,0.03,0.062,0.062,0.05,3.4e-06,3.7e-06,2.4e-06,0.014,0.015,0.0074,0.0012,6.7e-05,0.0012,0.00064,0.0012,0.0012,1,1 -14090000,0.78,-0.018,-0.0025,-0.63,-0.026,-0.014,-0.029,-0.0058,-0.0068,-3.7e+02,-0.001,-0.0061,-7.7e-05,0.055,-0.037,-0.12,-0.11,-0.024,0.5,-0.0039,-0.092,-0.069,0,0,0.00019,0.00021,0.049,0.042,0.042,0.031,0.07,0.07,0.05,3.3e-06,3.6e-06,2.4e-06,0.014,0.015,0.0073,0.0012,6.7e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14190000,0.78,-0.017,-0.0027,-0.63,-0.021,-0.012,-0.031,-0.00022,-0.0047,-3.7e+02,-0.0011,-0.006,-7.6e-05,0.057,-0.037,-0.12,-0.11,-0.024,0.5,-0.004,-0.092,-0.069,0,0,0.00018,0.0002,0.049,0.036,0.036,0.03,0.057,0.057,0.05,3.1e-06,3.5e-06,2.4e-06,0.013,0.014,0.0069,0.0012,6.7e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14290000,0.78,-0.017,-0.0027,-0.63,-0.022,-0.014,-0.03,-0.0022,-0.006,-3.7e+02,-0.0011,-0.006,-7.5e-05,0.057,-0.036,-0.12,-0.11,-0.024,0.5,-0.0039,-0.092,-0.069,0,0,0.00018,0.0002,0.049,0.039,0.039,0.032,0.063,0.063,0.051,3.1e-06,3.4e-06,2.4e-06,0.013,0.014,0.0067,0.0012,6.7e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14390000,0.78,-0.017,-0.0029,-0.63,-0.017,-0.014,-0.032,0.0018,-0.0047,-3.7e+02,-0.0011,-0.006,-7.3e-05,0.059,-0.036,-0.12,-0.11,-0.024,0.5,-0.004,-0.092,-0.069,0,0,0.00018,0.00019,0.049,0.033,0.033,0.031,0.053,0.053,0.05,2.9e-06,3.3e-06,2.4e-06,0.013,0.014,0.0063,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14490000,0.78,-0.017,-0.0029,-0.63,-0.019,-0.017,-0.035,-0.00046,-0.0066,-3.7e+02,-0.001,-0.006,-7.4e-05,0.061,-0.036,-0.12,-0.11,-0.024,0.5,-0.0041,-0.092,-0.069,0,0,0.00017,0.00019,0.049,0.036,0.036,0.032,0.059,0.059,0.051,2.9e-06,3.2e-06,2.4e-06,0.013,0.014,0.0062,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14590000,0.78,-0.017,-0.0028,-0.63,-0.02,-0.017,-0.035,-0.0013,-0.0063,-3.7e+02,-0.00099,-0.006,-7.5e-05,0.062,-0.037,-0.12,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00017,0.00018,0.049,0.031,0.031,0.031,0.05,0.05,0.051,2.8e-06,3.1e-06,2.4e-06,0.012,0.013,0.0058,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14690000,0.78,-0.017,-0.0029,-0.63,-0.023,-0.016,-0.032,-0.0035,-0.0082,-3.7e+02,-0.00098,-0.006,-7.4e-05,0.063,-0.036,-0.12,-0.11,-0.024,0.5,-0.0041,-0.092,-0.069,0,0,0.00017,0.00018,0.049,0.034,0.034,0.032,0.056,0.056,0.051,2.7e-06,3e-06,2.4e-06,0.012,0.013,0.0056,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14790000,0.78,-0.017,-0.0029,-0.63,-0.023,-0.016,-0.028,-0.0036,-0.0076,-3.7e+02,-0.00098,-0.006,-7.4e-05,0.064,-0.036,-0.12,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00016,0.00018,0.049,0.03,0.03,0.031,0.048,0.048,0.051,2.6e-06,2.9e-06,2.4e-06,0.012,0.013,0.0053,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14890000,0.78,-0.017,-0.0029,-0.63,-0.026,-0.019,-0.031,-0.0061,-0.0095,-3.7e+02,-0.00097,-0.006,-7.3e-05,0.064,-0.036,-0.12,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00016,0.00018,0.049,0.032,0.033,0.031,0.054,0.054,0.052,2.5e-06,2.9e-06,2.4e-06,0.012,0.013,0.0051,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -14990000,0.78,-0.017,-0.0029,-0.63,-0.024,-0.016,-0.027,-0.0046,-0.0074,-3.7e+02,-0.00097,-0.006,-7.4e-05,0.065,-0.037,-0.12,-0.11,-0.024,0.5,-0.0042,-0.091,-0.069,0,0,0.00016,0.00017,0.049,0.029,0.029,0.03,0.047,0.047,0.051,2.4e-06,2.8e-06,2.4e-06,0.011,0.012,0.0048,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -15090000,0.78,-0.017,-0.0028,-0.63,-0.026,-0.016,-0.03,-0.0072,-0.009,-3.7e+02,-0.00097,-0.006,-7.4e-05,0.065,-0.037,-0.12,-0.11,-0.024,0.5,-0.0042,-0.091,-0.069,0,0,0.00016,0.00017,0.049,0.031,0.031,0.031,0.052,0.052,0.052,2.4e-06,2.7e-06,2.4e-06,0.011,0.012,0.0046,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -15190000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.015,-0.027,-0.0058,-0.0073,-3.7e+02,-0.00096,-0.006,-7.5e-05,0.066,-0.038,-0.12,-0.11,-0.024,0.5,-0.0042,-0.091,-0.069,0,0,0.00015,0.00017,0.049,0.027,0.027,0.03,0.046,0.046,0.052,2.3e-06,2.6e-06,2.4e-06,0.011,0.012,0.0043,0.0012,6.6e-05,0.0012,0.00063,0.0012,0.0012,1,1 -15290000,0.78,-0.017,-0.0028,-0.63,-0.026,-0.017,-0.025,-0.0081,-0.0089,-3.7e+02,-0.00097,-0.006,-7.3e-05,0.066,-0.037,-0.12,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00015,0.00017,0.049,0.03,0.03,0.03,0.051,0.051,0.052,2.2e-06,2.6e-06,2.4e-06,0.011,0.012,0.0041,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -15390000,0.78,-0.017,-0.0029,-0.63,-0.025,-0.017,-0.023,-0.0076,-0.0091,-3.7e+02,-0.00099,-0.006,-7.1e-05,0.066,-0.036,-0.13,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00015,0.00016,0.049,0.028,0.029,0.029,0.053,0.053,0.051,2.2e-06,2.5e-06,2.4e-06,0.011,0.012,0.0038,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -15490000,0.78,-0.017,-0.0028,-0.63,-0.028,-0.018,-0.023,-0.01,-0.011,-3.7e+02,-0.00099,-0.006,-7.2e-05,0.066,-0.037,-0.13,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00015,0.00016,0.049,0.031,0.031,0.029,0.06,0.06,0.053,2.1e-06,2.5e-06,2.4e-06,0.011,0.011,0.0037,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -15590000,0.78,-0.017,-0.0028,-0.63,-0.026,-0.016,-0.022,-0.0097,-0.0098,-3.7e+02,-0.001,-0.006,-7.3e-05,0.066,-0.038,-0.13,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00014,0.00016,0.049,0.029,0.029,0.028,0.062,0.062,0.052,2.1e-06,2.4e-06,2.4e-06,0.01,0.011,0.0035,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -15690000,0.78,-0.017,-0.0027,-0.63,-0.027,-0.016,-0.022,-0.012,-0.011,-3.7e+02,-0.001,-0.006,-7.2e-05,0.065,-0.038,-0.13,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00014,0.00016,0.049,0.031,0.032,0.028,0.069,0.069,0.052,2e-06,2.3e-06,2.4e-06,0.01,0.011,0.0033,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -15790000,0.78,-0.017,-0.0028,-0.63,-0.025,-0.015,-0.025,-0.0085,-0.0096,-3.7e+02,-0.001,-0.006,-7.3e-05,0.065,-0.038,-0.12,-0.11,-0.024,0.5,-0.0041,-0.092,-0.069,0,0,0.00014,0.00015,0.049,0.026,0.027,0.027,0.056,0.056,0.051,1.9e-06,2.3e-06,2.4e-06,0.01,0.011,0.0031,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -15890000,0.78,-0.017,-0.0027,-0.63,-0.027,-0.016,-0.023,-0.011,-0.011,-3.7e+02,-0.001,-0.006,-7.2e-05,0.065,-0.038,-0.13,-0.11,-0.024,0.5,-0.0041,-0.091,-0.069,0,0,0.00014,0.00015,0.049,0.028,0.028,0.027,0.062,0.062,0.052,1.9e-06,2.2e-06,2.4e-06,0.0099,0.011,0.003,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -15990000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.016,-0.018,-0.0079,-0.0099,-3.7e+02,-0.001,-0.006,-7.1e-05,0.065,-0.037,-0.13,-0.11,-0.024,0.5,-0.004,-0.091,-0.069,0,0,0.00014,0.00015,0.049,0.024,0.024,0.026,0.052,0.052,0.051,1.8e-06,2.1e-06,2.4e-06,0.0097,0.011,0.0028,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16090000,0.78,-0.017,-0.0029,-0.63,-0.026,-0.018,-0.015,-0.01,-0.012,-3.7e+02,-0.0011,-0.006,-6.8e-05,0.065,-0.036,-0.13,-0.11,-0.024,0.5,-0.0039,-0.092,-0.069,0,0,0.00013,0.00015,0.049,0.026,0.026,0.025,0.058,0.058,0.052,1.8e-06,2.1e-06,2.4e-06,0.0096,0.01,0.0027,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16190000,0.78,-0.017,-0.0029,-0.63,-0.024,-0.016,-0.014,-0.0074,-0.0092,-3.7e+02,-0.0011,-0.006,-6.7e-05,0.064,-0.036,-0.13,-0.11,-0.024,0.5,-0.0039,-0.092,-0.069,0,0,0.00013,0.00015,0.049,0.023,0.023,0.025,0.049,0.05,0.051,1.7e-06,2e-06,2.4e-06,0.0094,0.01,0.0025,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16290000,0.78,-0.017,-0.003,-0.63,-0.026,-0.018,-0.015,-0.0099,-0.011,-3.7e+02,-0.0011,-0.0059,-6.5e-05,0.065,-0.035,-0.13,-0.11,-0.024,0.5,-0.0038,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.024,0.025,0.024,0.055,0.055,0.052,1.7e-06,2e-06,2.4e-06,0.0093,0.01,0.0024,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16390000,0.78,-0.017,-0.0029,-0.63,-0.023,-0.014,-0.014,-0.0074,-0.0088,-3.7e+02,-0.0011,-0.006,-6.4e-05,0.064,-0.035,-0.13,-0.11,-0.024,0.5,-0.0038,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.022,0.022,0.023,0.047,0.047,0.051,1.6e-06,1.9e-06,2.4e-06,0.0092,0.01,0.0022,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16490000,0.78,-0.017,-0.0029,-0.63,-0.022,-0.016,-0.017,-0.0094,-0.01,-3.7e+02,-0.0011,-0.006,-6.4e-05,0.063,-0.035,-0.13,-0.11,-0.024,0.5,-0.0037,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.023,0.023,0.023,0.052,0.052,0.052,1.6e-06,1.9e-06,2.4e-06,0.0091,0.01,0.0021,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16590000,0.78,-0.017,-0.0029,-0.63,-0.023,-0.012,-0.018,-0.0097,-0.0063,-3.7e+02,-0.0011,-0.006,-6.1e-05,0.063,-0.035,-0.13,-0.11,-0.024,0.5,-0.0037,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.021,0.021,0.022,0.046,0.046,0.051,1.6e-06,1.9e-06,2.4e-06,0.0089,0.0098,0.002,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16690000,0.78,-0.017,-0.0029,-0.63,-0.024,-0.012,-0.014,-0.012,-0.0073,-3.7e+02,-0.0011,-0.006,-6.2e-05,0.063,-0.036,-0.13,-0.11,-0.024,0.5,-0.0037,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.022,0.022,0.022,0.05,0.05,0.051,1.5e-06,1.8e-06,2.4e-06,0.0088,0.0097,0.0019,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16790000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.0091,-0.013,-0.012,-0.004,-3.7e+02,-0.0011,-0.006,-6e-05,0.063,-0.036,-0.13,-0.11,-0.024,0.5,-0.0038,-0.092,-0.069,0,0,0.00012,0.00014,0.049,0.02,0.02,0.021,0.044,0.044,0.05,1.5e-06,1.8e-06,2.4e-06,0.0087,0.0096,0.0018,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16890000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.01,-0.01,-0.014,-0.0048,-3.7e+02,-0.0011,-0.006,-6e-05,0.063,-0.036,-0.13,-0.11,-0.024,0.5,-0.0037,-0.092,-0.069,0,0,0.00012,0.00014,0.049,0.021,0.021,0.021,0.049,0.049,0.051,1.5e-06,1.7e-06,2.4e-06,0.0086,0.0095,0.0017,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -16990000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.0099,-0.0099,-0.013,-0.0047,-3.7e+02,-0.0011,-0.006,-6.2e-05,0.062,-0.037,-0.13,-0.11,-0.024,0.5,-0.0038,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.019,0.019,0.02,0.043,0.043,0.05,1.4e-06,1.7e-06,2.4e-06,0.0085,0.0094,0.0016,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -17090000,0.78,-0.017,-0.0027,-0.63,-0.025,-0.012,-0.0098,-0.015,-0.0057,-3.7e+02,-0.0012,-0.006,-6.1e-05,0.062,-0.036,-0.13,-0.11,-0.024,0.5,-0.0037,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.02,0.021,0.02,0.048,0.048,0.05,1.4e-06,1.7e-06,2.4e-06,0.0084,0.0093,0.0015,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -17190000,0.78,-0.017,-0.0028,-0.63,-0.023,-0.014,-0.011,-0.014,-0.006,-3.7e+02,-0.0012,-0.006,-6e-05,0.061,-0.036,-0.13,-0.11,-0.024,0.5,-0.0037,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.018,0.019,0.019,0.042,0.042,0.049,1.4e-06,1.6e-06,2.4e-06,0.0083,0.0092,0.0015,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -17290000,0.78,-0.017,-0.0027,-0.63,-0.026,-0.015,-0.0061,-0.016,-0.0071,-3.7e+02,-0.0012,-0.006,-6.1e-05,0.06,-0.036,-0.13,-0.11,-0.024,0.5,-0.0037,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.02,0.02,0.019,0.047,0.047,0.049,1.3e-06,1.6e-06,2.4e-06,0.0083,0.0091,0.0014,0.0012,6.6e-05,0.0012,0.00062,0.0012,0.0012,1,1 -17390000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.017,-0.0042,-0.013,-0.0073,-3.7e+02,-0.0012,-0.006,-5.9e-05,0.06,-0.036,-0.13,-0.11,-0.024,0.5,-0.0036,-0.091,-0.069,0,0,0.00012,0.00013,0.049,0.018,0.018,0.018,0.042,0.042,0.048,1.3e-06,1.5e-06,2.4e-06,0.0082,0.009,0.0013,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -17490000,0.78,-0.017,-0.0028,-0.63,-0.026,-0.018,-0.0025,-0.016,-0.0092,-3.7e+02,-0.0012,-0.006,-5.9e-05,0.061,-0.036,-0.13,-0.11,-0.024,0.5,-0.0036,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.019,0.019,0.018,0.046,0.046,0.049,1.3e-06,1.5e-06,2.4e-06,0.0081,0.0089,0.0013,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -17590000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.018,0.003,-0.014,-0.0088,-3.7e+02,-0.0012,-0.006,-5.8e-05,0.06,-0.036,-0.13,-0.11,-0.024,0.5,-0.0036,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.017,0.018,0.017,0.041,0.041,0.048,1.2e-06,1.5e-06,2.4e-06,0.008,0.0088,0.0012,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -17690000,0.78,-0.017,-0.0028,-0.63,-0.026,-0.02,0.0024,-0.016,-0.011,-3.7e+02,-0.0012,-0.006,-5.8e-05,0.061,-0.035,-0.13,-0.11,-0.024,0.5,-0.0036,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.019,0.019,0.017,0.045,0.045,0.048,1.2e-06,1.5e-06,2.4e-06,0.0079,0.0087,0.0011,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -17790000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.021,0.0011,-0.014,-0.012,-3.7e+02,-0.0012,-0.006,-5.3e-05,0.06,-0.034,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.018,0.019,0.016,0.048,0.048,0.048,1.2e-06,1.4e-06,2.4e-06,0.0078,0.0086,0.0011,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -17890000,0.78,-0.017,-0.0029,-0.63,-0.026,-0.022,0.0012,-0.017,-0.014,-3.7e+02,-0.0012,-0.006,-5.2e-05,0.061,-0.034,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.02,0.02,0.016,0.052,0.053,0.048,1.2e-06,1.4e-06,2.4e-06,0.0078,0.0086,0.001,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -17990000,0.78,-0.017,-0.0028,-0.63,-0.025,-0.02,0.0024,-0.015,-0.014,-3.7e+02,-0.0012,-0.006,-5.2e-05,0.061,-0.034,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.019,0.02,0.016,0.055,0.055,0.047,1.1e-06,1.4e-06,2.4e-06,0.0077,0.0085,0.00099,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18090000,0.78,-0.017,-0.0028,-0.63,-0.027,-0.02,0.0047,-0.018,-0.015,-3.7e+02,-0.0012,-0.006,-5.4e-05,0.061,-0.035,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.021,0.021,0.016,0.06,0.061,0.047,1.1e-06,1.3e-06,2.4e-06,0.0076,0.0084,0.00096,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18190000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.019,0.0061,-0.013,-0.013,-3.7e+02,-0.0012,-0.006,-5.1e-05,0.061,-0.035,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.018,0.018,0.015,0.051,0.051,0.047,1.1e-06,1.3e-06,2.4e-06,0.0076,0.0083,0.0009,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18290000,0.78,-0.017,-0.0027,-0.63,-0.025,-0.019,0.0072,-0.016,-0.014,-3.7e+02,-0.0012,-0.006,-5.2e-05,0.061,-0.035,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.019,0.019,0.015,0.056,0.056,0.046,1.1e-06,1.3e-06,2.4e-06,0.0075,0.0082,0.00087,0.0012,6.6e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18390000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.02,0.0084,-0.012,-0.012,-3.7e+02,-0.0012,-0.006,-4.9e-05,0.062,-0.035,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.017,0.017,0.014,0.048,0.048,0.046,1e-06,1.2e-06,2.3e-06,0.0074,0.0082,0.00083,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18490000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.022,0.0081,-0.014,-0.014,-3.7e+02,-0.0012,-0.006,-4.8e-05,0.061,-0.035,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.018,0.018,0.014,0.053,0.053,0.046,1e-06,1.2e-06,2.3e-06,0.0074,0.0081,0.0008,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18590000,0.78,-0.016,-0.0028,-0.63,-0.022,-0.022,0.0062,-0.011,-0.012,-3.7e+02,-0.0012,-0.006,-4.3e-05,0.061,-0.034,-0.13,-0.11,-0.024,0.5,-0.0034,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.016,0.016,0.014,0.046,0.046,0.045,9.8e-07,1.2e-06,2.3e-06,0.0073,0.008,0.00076,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18690000,0.78,-0.017,-0.0028,-0.63,-0.024,-0.022,0.0043,-0.014,-0.015,-3.7e+02,-0.0012,-0.006,-4.4e-05,0.062,-0.034,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.017,0.018,0.013,0.05,0.05,0.045,9.6e-07,1.2e-06,2.3e-06,0.0072,0.008,0.00074,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18790000,0.78,-0.017,-0.0027,-0.63,-0.022,-0.021,0.004,-0.012,-0.012,-3.7e+02,-0.0012,-0.006,-4.2e-05,0.061,-0.035,-0.13,-0.11,-0.024,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00011,0.049,0.015,0.016,0.013,0.044,0.044,0.045,9.4e-07,1.1e-06,2.3e-06,0.0072,0.0079,0.0007,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18890000,0.78,-0.016,-0.0028,-0.63,-0.022,-0.023,0.0046,-0.014,-0.015,-3.7e+02,-0.0013,-0.006,-3.9e-05,0.061,-0.034,-0.13,-0.11,-0.024,0.5,-0.0034,-0.092,-0.069,0,0,0.00011,0.00011,0.049,0.016,0.017,0.013,0.048,0.048,0.045,9.2e-07,1.1e-06,2.3e-06,0.0071,0.0078,0.00068,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -18990000,0.78,-0.016,-0.0029,-0.63,-0.019,-0.023,0.0033,-0.0094,-0.013,-3.7e+02,-0.0013,-0.006,-3.6e-05,0.06,-0.033,-0.13,-0.11,-0.024,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.015,0.012,0.043,0.043,0.044,9e-07,1.1e-06,2.3e-06,0.0071,0.0078,0.00065,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -19090000,0.78,-0.016,-0.0028,-0.63,-0.019,-0.025,0.0063,-0.011,-0.015,-3.7e+02,-0.0013,-0.006,-3.5e-05,0.06,-0.033,-0.13,-0.11,-0.024,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.016,0.016,0.012,0.046,0.047,0.044,8.9e-07,1.1e-06,2.3e-06,0.007,0.0077,0.00063,0.0012,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -19190000,0.78,-0.016,-0.0029,-0.63,-0.015,-0.024,0.0063,-0.0074,-0.013,-3.7e+02,-0.0013,-0.006,-3.1e-05,0.059,-0.033,-0.13,-0.11,-0.024,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.015,0.012,0.041,0.042,0.044,8.6e-07,1.1e-06,2.3e-06,0.0069,0.0076,0.0006,0.0011,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -19290000,0.78,-0.016,-0.0029,-0.63,-0.016,-0.024,0.0091,-0.0091,-0.015,-3.7e+02,-0.0013,-0.006,-3.3e-05,0.059,-0.033,-0.13,-0.11,-0.024,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.016,0.012,0.045,0.045,0.044,8.5e-07,1e-06,2.3e-06,0.0069,0.0076,0.00058,0.0011,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -19390000,0.78,-0.016,-0.0028,-0.63,-0.015,-0.022,0.013,-0.0081,-0.014,-3.7e+02,-0.0013,-0.006,-2.9e-05,0.059,-0.033,-0.13,-0.11,-0.024,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.014,0.015,0.012,0.04,0.041,0.043,8.3e-07,1e-06,2.3e-06,0.0068,0.0075,0.00056,0.0011,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -19490000,0.78,-0.016,-0.0029,-0.63,-0.015,-0.023,0.0093,-0.0097,-0.017,-3.7e+02,-0.0013,-0.006,-2.6e-05,0.06,-0.033,-0.13,-0.11,-0.024,0.5,-0.0032,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.016,0.011,0.044,0.044,0.043,8.2e-07,1e-06,2.3e-06,0.0068,0.0075,0.00055,0.0011,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -19590000,0.78,-0.016,-0.003,-0.63,-0.014,-0.022,0.0085,-0.0082,-0.015,-3.7e+02,-0.0013,-0.0059,-1.9e-05,0.06,-0.032,-0.13,-0.11,-0.024,0.5,-0.0032,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.014,0.015,0.011,0.04,0.04,0.042,8e-07,9.7e-07,2.3e-06,0.0067,0.0074,0.00052,0.0011,6.5e-05,0.0012,0.00061,0.0012,0.0012,1,1 -19690000,0.78,-0.016,-0.003,-0.63,-0.014,-0.02,0.01,-0.0091,-0.017,-3.7e+02,-0.0013,-0.006,-2.1e-05,0.059,-0.032,-0.13,-0.11,-0.024,0.5,-0.0032,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.016,0.011,0.043,0.044,0.042,7.9e-07,9.6e-07,2.3e-06,0.0067,0.0074,0.00051,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -19790000,0.78,-0.016,-0.003,-0.63,-0.012,-0.018,0.01,-0.0077,-0.015,-3.7e+02,-0.0013,-0.006,-1.7e-05,0.058,-0.032,-0.13,-0.11,-0.024,0.5,-0.0032,-0.092,-0.068,0,0,9.9e-05,0.00011,0.049,0.014,0.014,0.011,0.039,0.039,0.042,7.7e-07,9.4e-07,2.3e-06,0.0066,0.0073,0.00049,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -19890000,0.78,-0.016,-0.003,-0.63,-0.012,-0.02,0.012,-0.0093,-0.018,-3.7e+02,-0.0013,-0.0059,-1.3e-05,0.059,-0.032,-0.13,-0.11,-0.024,0.5,-0.0031,-0.092,-0.068,0,0,9.9e-05,0.00011,0.049,0.015,0.015,0.011,0.043,0.043,0.042,7.6e-07,9.3e-07,2.3e-06,0.0066,0.0073,0.00048,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -19990000,0.78,-0.016,-0.0031,-0.63,-0.0098,-0.02,0.014,-0.0081,-0.016,-3.7e+02,-0.0013,-0.0059,-4.6e-06,0.06,-0.031,-0.13,-0.11,-0.024,0.5,-0.003,-0.092,-0.068,0,0,9.8e-05,0.00011,0.049,0.014,0.014,0.01,0.039,0.039,0.041,7.4e-07,9e-07,2.3e-06,0.0066,0.0072,0.00046,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20090000,0.78,-0.016,-0.0031,-0.63,-0.0098,-0.021,0.015,-0.0088,-0.019,-3.7e+02,-0.0013,-0.0059,1.3e-07,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,9.8e-05,0.00011,0.049,0.014,0.015,0.01,0.042,0.042,0.042,7.3e-07,8.9e-07,2.3e-06,0.0065,0.0072,0.00045,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20190000,0.78,-0.016,-0.0032,-0.63,-0.01,-0.019,0.017,-0.009,-0.018,-3.7e+02,-0.0013,-0.0059,6.1e-06,0.061,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,9.7e-05,0.0001,0.048,0.013,0.014,0.01,0.038,0.038,0.041,7.1e-07,8.7e-07,2.3e-06,0.0065,0.0071,0.00043,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20290000,0.78,-0.016,-0.0032,-0.63,-0.0091,-0.019,0.015,-0.0094,-0.02,-3.7e+02,-0.0013,-0.0059,7.8e-06,0.061,-0.029,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,9.7e-05,0.0001,0.048,0.014,0.015,0.0099,0.042,0.042,0.041,7e-07,8.6e-07,2.3e-06,0.0064,0.0071,0.00042,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20390000,0.78,-0.016,-0.0032,-0.63,-0.0087,-0.016,0.017,-0.0093,-0.017,-3.7e+02,-0.0013,-0.0059,1.2e-05,0.061,-0.029,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,9.6e-05,0.0001,0.048,0.013,0.014,0.0097,0.038,0.038,0.041,6.8e-07,8.4e-07,2.3e-06,0.0064,0.007,0.00041,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20490000,0.78,-0.016,-0.0032,-0.63,-0.0089,-0.017,0.017,-0.01,-0.019,-3.7e+02,-0.0013,-0.0059,1e-05,0.061,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,9.6e-05,0.0001,0.048,0.014,0.015,0.0096,0.041,0.042,0.041,6.8e-07,8.3e-07,2.3e-06,0.0064,0.007,0.0004,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20590000,0.78,-0.016,-0.0032,-0.63,-0.0084,-0.014,0.014,-0.0087,-0.016,-3.7e+02,-0.0013,-0.0059,1.2e-05,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.003,-0.092,-0.068,0,0,9.5e-05,0.0001,0.048,0.013,0.014,0.0093,0.037,0.038,0.04,6.6e-07,8.1e-07,2.3e-06,0.0063,0.0069,0.00038,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20690000,0.78,-0.016,-0.0032,-0.63,-0.0091,-0.015,0.015,-0.0096,-0.018,-3.7e+02,-0.0013,-0.0059,1.4e-05,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,9.5e-05,0.0001,0.048,0.014,0.015,0.0093,0.041,0.041,0.04,6.5e-07,8e-07,2.3e-06,0.0063,0.0069,0.00037,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20790000,0.78,-0.016,-0.0032,-0.63,-0.0068,-0.014,0.015,-0.008,-0.016,-3.7e+02,-0.0013,-0.0059,1.8e-05,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,9.4e-05,0.0001,0.048,0.013,0.014,0.0091,0.037,0.038,0.04,6.4e-07,7.8e-07,2.3e-06,0.0062,0.0068,0.00036,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20890000,0.78,-0.016,-0.0033,-0.63,-0.007,-0.014,0.014,-0.0086,-0.018,-3.7e+02,-0.0013,-0.0059,2.2e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9.4e-05,0.0001,0.048,0.014,0.015,0.009,0.041,0.041,0.04,6.3e-07,7.7e-07,2.3e-06,0.0062,0.0068,0.00035,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -20990000,0.78,-0.016,-0.0033,-0.63,-0.0054,-0.012,0.015,-0.0083,-0.018,-3.7e+02,-0.0013,-0.0059,2.4e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9.3e-05,9.9e-05,0.048,0.014,0.015,0.0088,0.043,0.043,0.039,6.2e-07,7.6e-07,2.3e-06,0.0062,0.0067,0.00034,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21090000,0.78,-0.016,-0.0033,-0.63,-0.0065,-0.012,0.015,-0.0092,-0.02,-3.7e+02,-0.0013,-0.0059,2.6e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9.3e-05,9.9e-05,0.048,0.015,0.016,0.0088,0.047,0.047,0.039,6.1e-07,7.5e-07,2.3e-06,0.0061,0.0067,0.00034,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21190000,0.78,-0.016,-0.0033,-0.63,-0.0066,-0.011,0.014,-0.0097,-0.02,-3.7e+02,-0.0013,-0.0059,2.7e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9.2e-05,9.8e-05,0.048,0.015,0.016,0.0086,0.049,0.05,0.039,6e-07,7.4e-07,2.3e-06,0.0061,0.0067,0.00033,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21290000,0.78,-0.016,-0.0034,-0.63,-0.0062,-0.012,0.016,-0.0097,-0.022,-3.7e+02,-0.0013,-0.0059,3.2e-05,0.061,-0.028,-0.13,-0.11,-0.024,0.5,-0.0027,-0.092,-0.068,0,0,9.3e-05,9.8e-05,0.048,0.016,0.017,0.0085,0.053,0.054,0.039,5.9e-07,7.3e-07,2.3e-06,0.0061,0.0066,0.00032,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21390000,0.78,-0.016,-0.0034,-0.63,-0.0055,-0.0074,0.016,-0.0085,-0.017,-3.7e+02,-0.0013,-0.0059,3.5e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9.1e-05,9.7e-05,0.048,0.014,0.015,0.0084,0.046,0.047,0.039,5.8e-07,7.1e-07,2.3e-06,0.006,0.0066,0.00031,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21490000,0.78,-0.016,-0.0034,-0.63,-0.0061,-0.0083,0.016,-0.0096,-0.019,-3.7e+02,-0.0013,-0.0059,3.7e-05,0.061,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9.1e-05,9.7e-05,0.048,0.015,0.016,0.0083,0.05,0.051,0.038,5.7e-07,7e-07,2.3e-06,0.006,0.0065,0.0003,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21590000,0.78,-0.016,-0.0034,-0.63,-0.0047,-0.0066,0.016,-0.008,-0.014,-3.7e+02,-0.0013,-0.0059,4.1e-05,0.061,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9e-05,9.5e-05,0.048,0.013,0.014,0.0081,0.044,0.045,0.038,5.6e-07,6.8e-07,2.3e-06,0.006,0.0065,0.0003,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21690000,0.78,-0.016,-0.0034,-0.63,-0.0063,-0.0077,0.017,-0.0093,-0.016,-3.7e+02,-0.0013,-0.0059,4.3e-05,0.061,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,9e-05,9.5e-05,0.048,0.014,0.015,0.0081,0.048,0.049,0.038,5.5e-07,6.8e-07,2.3e-06,0.0059,0.0065,0.00029,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21790000,0.78,-0.016,-0.0032,-0.63,-0.0054,-0.0054,0.016,-0.0081,-0.01,-3.7e+02,-0.0013,-0.0059,4.8e-05,0.061,-0.029,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,8.9e-05,9.4e-05,0.048,0.013,0.014,0.008,0.042,0.043,0.038,5.4e-07,6.6e-07,2.3e-06,0.0059,0.0064,0.00028,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21890000,0.78,-0.016,-0.0033,-0.63,-0.006,-0.0063,0.016,-0.0088,-0.011,-3.7e+02,-0.0013,-0.0059,4.8e-05,0.061,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.9e-05,9.4e-05,0.048,0.014,0.015,0.0079,0.046,0.047,0.038,5.3e-07,6.5e-07,2.3e-06,0.0059,0.0064,0.00028,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -21990000,0.78,-0.016,-0.0032,-0.63,-0.0059,-0.0035,0.017,-0.0082,-0.0069,-3.7e+02,-0.0013,-0.0059,5.5e-05,0.061,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,8.8e-05,9.3e-05,0.048,0.013,0.013,0.0078,0.041,0.042,0.038,5.2e-07,6.4e-07,2.2e-06,0.0058,0.0064,0.00027,0.0011,6.5e-05,0.0012,0.0006,0.0012,0.0012,1,1 -22090000,0.78,-0.016,-0.0032,-0.63,-0.0056,-0.0051,0.015,-0.0086,-0.0073,-3.7e+02,-0.0013,-0.0059,5.5e-05,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,8.8e-05,9.3e-05,0.048,0.013,0.014,0.0078,0.045,0.045,0.037,5.2e-07,6.3e-07,2.2e-06,0.0058,0.0063,0.00027,0.0011,6.4e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22190000,0.78,-0.016,-0.0032,-0.63,-0.0043,-0.0057,0.015,-0.0072,-0.0066,-3.7e+02,-0.0013,-0.0059,5.8e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.093,-0.068,0,0,8.7e-05,9.2e-05,0.048,0.012,0.013,0.0076,0.04,0.04,0.037,5.1e-07,6.2e-07,2.2e-06,0.0058,0.0063,0.00026,0.0011,6.4e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22290000,0.78,-0.016,-0.0032,-0.63,-0.0038,-0.0053,0.016,-0.0079,-0.007,-3.7e+02,-0.0013,-0.0059,5.7e-05,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,8.7e-05,9.2e-05,0.048,0.013,0.014,0.0076,0.043,0.044,0.037,5e-07,6.1e-07,2.2e-06,0.0058,0.0063,0.00025,0.0011,6.4e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22390000,0.78,-0.016,-0.0032,-0.63,-0.0013,-0.0053,0.017,-0.0061,-0.0063,-3.7e+02,-0.0013,-0.0059,6.1e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.6e-05,9.1e-05,0.048,0.012,0.013,0.0075,0.039,0.04,0.037,4.9e-07,6e-07,2.2e-06,0.0057,0.0062,0.00025,0.0011,6.4e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22490000,0.78,-0.016,-0.0033,-0.63,-0.00016,-0.006,0.018,-0.0055,-0.0068,-3.7e+02,-0.0014,-0.0059,6.2e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.6e-05,9.1e-05,0.048,0.013,0.014,0.0074,0.042,0.043,0.037,4.9e-07,5.9e-07,2.2e-06,0.0057,0.0062,0.00024,0.0011,6.3e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22590000,0.78,-0.016,-0.0032,-0.63,0.0017,-0.0049,0.017,-0.0038,-0.0062,-3.7e+02,-0.0014,-0.0059,6.5e-05,0.059,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.5e-05,9e-05,0.048,0.013,0.014,0.0073,0.045,0.045,0.036,4.8e-07,5.8e-07,2.2e-06,0.0057,0.0062,0.00024,0.0011,6.3e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22690000,0.78,-0.016,-0.0033,-0.63,0.0032,-0.0063,0.019,-0.0031,-0.0072,-3.7e+02,-0.0014,-0.0059,6.9e-05,0.059,-0.028,-0.13,-0.11,-0.024,0.5,-0.0027,-0.092,-0.068,0,0,8.6e-05,9.1e-05,0.048,0.014,0.015,0.0073,0.048,0.049,0.036,4.8e-07,5.8e-07,2.2e-06,0.0057,0.0062,0.00024,0.0011,6.3e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22790000,0.78,-0.016,-0.0032,-0.63,0.0043,-0.0056,0.02,-0.0026,-0.0059,-3.7e+02,-0.0014,-0.0059,6.3e-05,0.059,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.5e-05,9e-05,0.048,0.014,0.015,0.0072,0.051,0.052,0.036,4.7e-07,5.7e-07,2.2e-06,0.0057,0.0061,0.00023,0.0011,6.3e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22890000,0.78,-0.016,-0.0032,-0.63,0.0049,-0.0065,0.021,-0.0027,-0.0066,-3.7e+02,-0.0014,-0.0059,6.2e-05,0.059,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.5e-05,9e-05,0.048,0.015,0.016,0.0072,0.055,0.056,0.036,4.7e-07,5.7e-07,2.2e-06,0.0056,0.0061,0.00023,0.0011,6.3e-05,0.0012,0.00059,0.0012,0.0012,1,1 -22990000,0.78,-0.016,-0.0032,-0.63,0.0047,-0.0067,0.022,-0.0028,-0.0075,-3.7e+02,-0.0014,-0.0059,6.7e-05,0.059,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.5e-05,8.9e-05,0.048,0.015,0.016,0.0071,0.057,0.059,0.036,4.6e-07,5.6e-07,2.2e-06,0.0056,0.0061,0.00022,0.0011,6.2e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23090000,0.78,-0.016,-0.0032,-0.63,0.0049,-0.0064,0.023,-0.0026,-0.0072,-3.7e+02,-0.0014,-0.0059,6.3e-05,0.059,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.5e-05,9e-05,0.048,0.016,0.017,0.007,0.062,0.064,0.036,4.6e-07,5.6e-07,2.2e-06,0.0056,0.0061,0.00022,0.0011,6.2e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23190000,0.78,-0.016,-0.0032,-0.63,0.0025,-0.0052,0.024,-0.0053,-0.0071,-3.7e+02,-0.0014,-0.0059,6.6e-05,0.059,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.093,-0.068,0,0,8.4e-05,8.9e-05,0.048,0.016,0.017,0.0069,0.065,0.066,0.035,4.5e-07,5.4e-07,2.2e-06,0.0056,0.006,0.00021,0.0011,6.2e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23290000,0.78,-0.016,-0.0031,-0.63,0.0021,-0.005,0.025,-0.0057,-0.0081,-3.7e+02,-0.0014,-0.0059,6.7e-05,0.059,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.093,-0.068,0,0,8.5e-05,8.9e-05,0.048,0.016,0.018,0.0069,0.07,0.071,0.036,4.5e-07,5.4e-07,2.2e-06,0.0056,0.006,0.00021,0.0011,6.2e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23390000,0.78,-0.016,-0.0032,-0.63,-0.0012,-0.0048,0.022,-0.0098,-0.0083,-3.7e+02,-0.0013,-0.0059,6.9e-05,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.0028,-0.093,-0.068,0,0,8.4e-05,8.8e-05,0.048,0.016,0.017,0.0068,0.072,0.074,0.035,4.4e-07,5.3e-07,2.2e-06,0.0055,0.006,0.00021,0.0011,6.2e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23490000,0.78,-0.013,-0.0053,-0.63,0.0044,-0.0044,-0.011,-0.01,-0.0098,-3.7e+02,-0.0013,-0.0059,7.3e-05,0.06,-0.029,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.4e-05,8.8e-05,0.048,0.017,0.018,0.0068,0.078,0.08,0.035,4.3e-07,5.3e-07,2.2e-06,0.0055,0.006,0.0002,0.0011,6.2e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23590000,0.78,-0.0046,-0.0096,-0.63,0.015,-0.00046,-0.043,-0.0096,-0.006,-3.7e+02,-0.0013,-0.0059,7.6e-05,0.06,-0.03,-0.13,-0.11,-0.024,0.5,-0.0028,-0.092,-0.068,0,0,8.2e-05,8.6e-05,0.047,0.014,0.015,0.0067,0.062,0.063,0.035,4.2e-07,5.1e-07,2.2e-06,0.0055,0.0059,0.0002,0.0011,6.1e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23690000,0.78,0.001,-0.0086,-0.63,0.043,0.013,-0.093,-0.0072,-0.0058,-3.7e+02,-0.0013,-0.0059,7.8e-05,0.061,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.068,0,0,8.2e-05,8.7e-05,0.047,0.015,0.016,0.0067,0.066,0.068,0.035,4.2e-07,5.1e-07,2.2e-06,0.0055,0.0059,0.0002,0.0011,6.1e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23790000,0.78,-0.0026,-0.0061,-0.63,0.064,0.031,-0.15,-0.0072,-0.0038,-3.7e+02,-0.0013,-0.0059,8.4e-05,0.062,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.092,-0.067,0,0,8.1e-05,8.5e-05,0.047,0.013,0.014,0.0066,0.055,0.056,0.035,4.1e-07,4.9e-07,2.1e-06,0.0055,0.0059,0.00019,0.0011,6.1e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23890000,0.78,-0.0089,-0.0042,-0.63,0.078,0.042,-0.2,0.00037,-0.00011,-3.7e+02,-0.0013,-0.0059,8.5e-05,0.061,-0.03,-0.13,-0.11,-0.024,0.5,-0.003,-0.091,-0.067,0,0,8.1e-05,8.6e-05,0.047,0.014,0.015,0.0066,0.059,0.06,0.035,4.1e-07,4.9e-07,2.1e-06,0.0054,0.0059,0.00019,0.0011,6e-05,0.0012,0.00059,0.0012,0.0012,1,1 -23990000,0.78,-0.014,-0.0033,-0.63,0.073,0.042,-0.25,-0.0051,-0.0016,-3.7e+02,-0.0013,-0.0059,8.3e-05,0.062,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.091,-0.067,0,0,8.1e-05,8.5e-05,0.047,0.014,0.015,0.0066,0.061,0.063,0.035,4e-07,4.9e-07,2.1e-06,0.0054,0.0059,0.00019,0.0011,6e-05,0.0012,0.00059,0.0012,0.0012,1,1 -24090000,0.78,-0.012,-0.0045,-0.63,0.073,0.041,-0.3,0.0013,0.0017,-3.7e+02,-0.0013,-0.0059,8.7e-05,0.063,-0.03,-0.13,-0.11,-0.024,0.5,-0.0029,-0.091,-0.067,0,0,8.1e-05,8.5e-05,0.047,0.015,0.016,0.0065,0.066,0.067,0.035,4e-07,4.9e-07,2.1e-06,0.0054,0.0058,0.00019,0.0011,6e-05,0.0012,0.00059,0.0012,0.0012,1,1 -24190000,0.78,-0.01,-0.0053,-0.62,0.071,0.04,-0.35,-0.0059,-0.00053,-3.7e+02,-0.0013,-0.0059,8.4e-05,0.064,-0.03,-0.13,-0.11,-0.024,0.5,-0.0028,-0.091,-0.068,0,0,8.1e-05,8.5e-05,0.047,0.015,0.016,0.0065,0.069,0.07,0.034,4e-07,4.8e-07,2.1e-06,0.0054,0.0058,0.00018,0.0011,6e-05,0.0012,0.00059,0.0012,0.0012,1,1 -24290000,0.78,-0.0092,-0.0057,-0.62,0.079,0.044,-0.4,0.0006,0.0037,-3.7e+02,-0.0013,-0.0059,8.3e-05,0.064,-0.03,-0.13,-0.11,-0.024,0.5,-0.0028,-0.091,-0.068,0,0,8.1e-05,8.5e-05,0.047,0.016,0.017,0.0065,0.074,0.075,0.034,3.9e-07,4.8e-07,2.1e-06,0.0054,0.0058,0.00018,0.0011,6e-05,0.0012,0.00059,0.0012,0.0012,1,1 -24390000,0.78,-0.0096,-0.0058,-0.62,0.076,0.043,-0.46,-0.012,-0.0026,-3.7e+02,-0.0012,-0.0059,6.8e-05,0.065,-0.03,-0.13,-0.11,-0.025,0.5,-0.0028,-0.091,-0.068,0,0,8.1e-05,8.5e-05,0.047,0.016,0.017,0.0064,0.076,0.078,0.034,3.9e-07,4.7e-07,2.1e-06,0.0054,0.0058,0.00018,0.0011,6e-05,0.0012,0.00058,0.0012,0.0012,1,1 -24490000,0.78,-0.0054,-0.0062,-0.62,0.087,0.05,-0.51,-0.0037,0.002,-3.7e+02,-0.0012,-0.0059,6.9e-05,0.065,-0.03,-0.13,-0.11,-0.025,0.5,-0.0028,-0.091,-0.068,0,0,8.1e-05,8.5e-05,0.047,0.017,0.018,0.0064,0.082,0.083,0.034,3.9e-07,4.7e-07,2.1e-06,0.0054,0.0058,0.00018,0.0011,5.9e-05,0.0012,0.00058,0.0012,0.0012,1,1 -24590000,0.78,-0.0019,-0.0064,-0.62,0.091,0.054,-0.56,-0.017,-0.0069,-3.7e+02,-0.0012,-0.0059,6.3e-05,0.067,-0.029,-0.13,-0.11,-0.025,0.5,-0.0027,-0.091,-0.068,0,0,8.1e-05,8.4e-05,0.047,0.017,0.018,0.0063,0.084,0.086,0.034,3.8e-07,4.6e-07,2.1e-06,0.0053,0.0058,0.00017,0.0011,5.9e-05,0.0012,0.00058,0.0011,0.0012,1,1 -24690000,0.78,-0.001,-0.0064,-0.62,0.11,0.069,-0.64,-0.0078,-0.002,-3.7e+02,-0.0012,-0.0059,7e-05,0.067,-0.029,-0.13,-0.11,-0.025,0.5,-0.0028,-0.09,-0.068,0,0,8.1e-05,8.5e-05,0.047,0.018,0.019,0.0063,0.09,0.092,0.034,3.8e-07,4.6e-07,2.1e-06,0.0053,0.0058,0.00017,0.0011,5.9e-05,0.0012,0.00058,0.0011,0.0012,1,1 -24790000,0.78,-0.0025,-0.0063,-0.62,0.11,0.078,-0.73,-0.027,-0.0066,-3.7e+02,-0.0012,-0.0059,5.9e-05,0.069,-0.03,-0.13,-0.11,-0.025,0.5,-0.0026,-0.09,-0.068,0,0,8e-05,8.4e-05,0.047,0.018,0.019,0.0062,0.092,0.094,0.034,3.7e-07,4.6e-07,2.1e-06,0.0053,0.0057,0.00017,0.0011,5.9e-05,0.0012,0.00058,0.0011,0.0012,1,1 -24890000,0.78,-0.00067,-0.0078,-0.62,0.13,0.092,-0.75,-0.016,0.0019,-3.7e+02,-0.0012,-0.0059,5.9e-05,0.069,-0.03,-0.13,-0.11,-0.025,0.5,-0.0027,-0.089,-0.068,0,0,8.1e-05,8.4e-05,0.047,0.019,0.02,0.0062,0.099,0.1,0.034,3.7e-07,4.6e-07,2.1e-06,0.0053,0.0057,0.00017,0.0011,5.8e-05,0.0012,0.00058,0.0011,0.0012,1,1 -24990000,0.78,0.0011,-0.0094,-0.62,0.14,0.1,-0.81,-0.038,-0.0043,-3.7e+02,-0.0011,-0.0059,4.4e-05,0.071,-0.03,-0.13,-0.11,-0.025,0.5,-0.0024,-0.089,-0.069,0,0,8e-05,8.4e-05,0.047,0.019,0.019,0.0062,0.1,0.1,0.034,3.7e-07,4.5e-07,2.1e-06,0.0053,0.0057,0.00016,0.0011,5.8e-05,0.0012,0.00058,0.0011,0.0012,1,1 -25090000,0.78,0.00051,-0.0098,-0.62,0.16,0.12,-0.86,-0.023,0.0068,-3.7e+02,-0.0011,-0.0059,4.1e-05,0.071,-0.03,-0.13,-0.11,-0.025,0.5,-0.0025,-0.088,-0.068,0,0,8.1e-05,8.4e-05,0.047,0.02,0.021,0.0062,0.11,0.11,0.034,3.7e-07,4.5e-07,2.1e-06,0.0053,0.0057,0.00016,0.0011,5.8e-05,0.0012,0.00058,0.0011,0.0012,1,1 -25190000,0.78,-0.0014,-0.0095,-0.62,0.15,0.11,-0.91,-0.067,-0.015,-3.7e+02,-0.0011,-0.0058,2.2e-05,0.074,-0.03,-0.13,-0.11,-0.025,0.5,-0.0022,-0.088,-0.069,0,0,8e-05,8.3e-05,0.047,0.019,0.02,0.0061,0.11,0.11,0.033,3.6e-07,4.4e-07,2.1e-06,0.0053,0.0057,0.00016,0.0011,5.7e-05,0.0012,0.00057,0.0011,0.0012,1,1 -25290000,0.78,0.0055,-0.011,-0.62,0.18,0.12,-0.96,-0.051,-0.0042,-3.7e+02,-0.0011,-0.0058,2.4e-05,0.074,-0.03,-0.13,-0.11,-0.025,0.5,-0.0023,-0.087,-0.069,0,0,8.1e-05,8.4e-05,0.047,0.02,0.021,0.0061,0.12,0.12,0.033,3.6e-07,4.4e-07,2.1e-06,0.0053,0.0057,0.00016,0.0011,5.7e-05,0.0012,0.00057,0.0011,0.0012,1,1 -25390000,0.79,0.012,-0.011,-0.62,0.18,0.13,-1,-0.099,-0.028,-3.7e+02,-0.001,-0.0058,4.9e-06,0.078,-0.03,-0.13,-0.12,-0.025,0.5,-0.0021,-0.087,-0.069,0,0,8e-05,8.3e-05,0.046,0.02,0.021,0.0061,0.12,0.12,0.033,3.6e-07,4.4e-07,2.1e-06,0.0052,0.0057,0.00016,0.0011,5.6e-05,0.0012,0.00057,0.0011,0.0012,1,1 -25490000,0.78,0.013,-0.011,-0.62,0.22,0.16,-1.1,-0.08,-0.015,-3.7e+02,-0.001,-0.0058,1.4e-05,0.078,-0.03,-0.13,-0.12,-0.026,0.5,-0.0024,-0.086,-0.069,0,0,8.1e-05,8.4e-05,0.046,0.022,0.023,0.0061,0.13,0.13,0.033,3.6e-07,4.4e-07,2.1e-06,0.0052,0.0057,0.00015,0.001,5.5e-05,0.0012,0.00057,0.0011,0.0011,1,1 -25590000,0.78,0.011,-0.011,-0.62,0.25,0.19,-1.1,-0.057,0.00062,-3.7e+02,-0.001,-0.0058,1.9e-05,0.078,-0.03,-0.13,-0.12,-0.026,0.5,-0.0027,-0.085,-0.068,0,0,8.2e-05,8.4e-05,0.046,0.023,0.024,0.0061,0.14,0.14,0.033,3.5e-07,4.4e-07,2.1e-06,0.0052,0.0057,0.00015,0.001,5.5e-05,0.0011,0.00057,0.0011,0.0011,1,1 -25690000,0.78,0.018,-0.014,-0.62,0.3,0.21,-1.2,-0.03,0.019,-3.7e+02,-0.00099,-0.0058,2.7e-05,0.078,-0.03,-0.13,-0.12,-0.026,0.5,-0.0031,-0.084,-0.068,0,0,8.2e-05,8.5e-05,0.046,0.025,0.026,0.0061,0.14,0.15,0.033,3.5e-07,4.4e-07,2.1e-06,0.0052,0.0057,0.00015,0.001,5.4e-05,0.0011,0.00056,0.0011,0.0011,1,1 -25790000,0.78,0.025,-0.016,-0.62,0.35,0.25,-1.2,0.0028,0.039,-3.7e+02,-0.00099,-0.0058,3.9e-05,0.078,-0.03,-0.13,-0.12,-0.026,0.5,-0.0035,-0.083,-0.067,0,0,8.3e-05,8.5e-05,0.045,0.027,0.028,0.0061,0.15,0.16,0.033,3.5e-07,4.4e-07,2.1e-06,0.0052,0.0057,0.00015,0.001,5.3e-05,0.0011,0.00056,0.001,0.0011,1,1 -25890000,0.78,0.025,-0.016,-0.63,0.41,0.28,-1.3,0.042,0.061,-3.7e+02,-0.00099,-0.0058,5.3e-05,0.078,-0.03,-0.13,-0.12,-0.027,0.5,-0.0041,-0.081,-0.066,0,0,8.4e-05,8.6e-05,0.045,0.029,0.031,0.0061,0.16,0.17,0.033,3.5e-07,4.4e-07,2.1e-06,0.0052,0.0057,0.00015,0.00098,5.2e-05,0.0011,0.00056,0.001,0.0011,1,1 -25990000,0.78,0.022,-0.016,-0.63,0.47,0.32,-1.3,0.086,0.089,-3.7e+02,-0.00099,-0.0058,6.2e-05,0.079,-0.03,-0.13,-0.12,-0.027,0.5,-0.0045,-0.08,-0.065,0,0,8.4e-05,8.6e-05,0.045,0.031,0.033,0.0061,0.18,0.18,0.033,3.5e-07,4.4e-07,2e-06,0.0052,0.0057,0.00015,0.00096,5.1e-05,0.0011,0.00055,0.001,0.0011,1,1 -26090000,0.78,0.032,-0.02,-0.62,0.53,0.35,-1.3,0.14,0.12,-3.7e+02,-0.00098,-0.0058,6e-05,0.079,-0.031,-0.13,-0.12,-0.027,0.5,-0.0046,-0.079,-0.065,0,0,8.5e-05,8.7e-05,0.044,0.033,0.036,0.0061,0.19,0.19,0.033,3.5e-07,4.4e-07,2e-06,0.0052,0.0057,0.00015,0.00094,5e-05,0.0011,0.00055,0.00098,0.0011,1,1 -26190000,0.78,0.042,-0.021,-0.62,0.6,0.4,-1.3,0.19,0.16,-3.7e+02,-0.00098,-0.0058,7.1e-05,0.079,-0.031,-0.13,-0.13,-0.028,0.5,-0.0054,-0.075,-0.063,0,0,8.6e-05,8.7e-05,0.043,0.035,0.039,0.0061,0.2,0.21,0.033,3.5e-07,4.4e-07,2e-06,0.0052,0.0057,0.00014,0.00091,4.9e-05,0.001,0.00054,0.00094,0.001,1,1 -26290000,0.78,0.044,-0.022,-0.63,0.68,0.45,-1.3,0.25,0.2,-3.7e+02,-0.00097,-0.0058,7.4e-05,0.079,-0.031,-0.13,-0.13,-0.028,0.49,-0.0057,-0.073,-0.061,0,0,8.7e-05,8.8e-05,0.042,0.039,0.043,0.0061,0.21,0.22,0.033,3.5e-07,4.5e-07,2e-06,0.0052,0.0057,0.00014,0.00088,4.7e-05,0.001,0.00053,0.00091,0.00099,1,1 -26390000,0.78,0.041,-0.022,-0.63,0.76,0.5,-1.3,0.33,0.24,-3.7e+02,-0.00097,-0.0058,8.2e-05,0.079,-0.032,-0.13,-0.13,-0.029,0.49,-0.0063,-0.071,-0.06,0,0,8.8e-05,8.9e-05,0.041,0.041,0.047,0.0061,0.23,0.23,0.033,3.5e-07,4.5e-07,2e-06,0.0052,0.0057,0.00014,0.00085,4.6e-05,0.00097,0.00051,0.00088,0.00096,1,1 -26490000,0.77,0.057,-0.028,-0.63,0.84,0.55,-1.3,0.41,0.29,-3.7e+02,-0.00097,-0.0058,8.7e-05,0.079,-0.032,-0.13,-0.13,-0.029,0.49,-0.0065,-0.069,-0.058,0,0,8.9e-05,8.9e-05,0.039,0.044,0.051,0.0061,0.24,0.25,0.033,3.6e-07,4.5e-07,2e-06,0.0052,0.0057,0.00014,0.00081,4.4e-05,0.00093,0.00049,0.00084,0.00093,1,1 -26590000,0.77,0.074,-0.033,-0.63,0.96,0.63,-1.3,0.49,0.35,-3.7e+02,-0.00096,-0.0058,8.1e-05,0.08,-0.032,-0.13,-0.14,-0.03,0.49,-0.0062,-0.066,-0.057,0,0,9e-05,9e-05,0.038,0.048,0.056,0.0061,0.26,0.27,0.033,3.6e-07,4.5e-07,2e-06,0.0052,0.0057,0.00014,0.00077,4.2e-05,0.00088,0.00047,0.0008,0.00088,1,1 -26690000,0.77,0.077,-0.034,-0.64,1.1,0.71,-1.3,0.6,0.41,-3.7e+02,-0.00096,-0.0058,9.7e-05,0.08,-0.032,-0.13,-0.14,-0.031,0.49,-0.0073,-0.061,-0.052,0,0,9e-05,9.1e-05,0.035,0.052,0.062,0.0061,0.28,0.29,0.033,3.6e-07,4.5e-07,2e-06,0.0052,0.0057,0.00014,0.00071,3.9e-05,0.00082,0.00045,0.00074,0.00082,1,1 -26790000,0.77,0.071,-0.033,-0.64,1.2,0.79,-1.3,0.71,0.48,-3.7e+02,-0.00095,-0.0058,9.8e-05,0.08,-0.032,-0.13,-0.14,-0.032,0.48,-0.0071,-0.057,-0.049,0,0,9.1e-05,9.1e-05,0.032,0.055,0.068,0.0061,0.3,0.3,0.033,3.6e-07,4.5e-07,2e-06,0.0052,0.0056,0.00014,0.00067,3.7e-05,0.00078,0.00042,0.00069,0.00077,1,1 -26890000,0.76,0.093,-0.04,-0.64,1.4,0.86,-1.3,0.85,0.56,-3.7e+02,-0.00095,-0.0058,0.0001,0.08,-0.032,-0.13,-0.15,-0.033,0.48,-0.0077,-0.053,-0.047,0,0,9.2e-05,9.2e-05,0.03,0.059,0.073,0.0061,0.32,0.32,0.033,3.6e-07,4.5e-07,2e-06,0.0052,0.0056,0.00014,0.00063,3.5e-05,0.00073,0.00039,0.00065,0.00073,1,1 -26990000,0.76,0.12,-0.045,-0.64,1.5,0.97,-1.3,0.99,0.65,-3.7e+02,-0.00095,-0.0058,0.00011,0.08,-0.032,-0.13,-0.15,-0.034,0.48,-0.0079,-0.047,-0.043,0,0,9.2e-05,9.2e-05,0.027,0.062,0.079,0.0061,0.34,0.35,0.033,3.6e-07,4.5e-07,2e-06,0.0051,0.0056,0.00013,0.00057,3.2e-05,0.00066,0.00035,0.00059,0.00066,1,1 -27090000,0.76,0.12,-0.045,-0.64,1.7,1.1,-1.3,1.2,0.75,-3.7e+02,-0.00095,-0.0058,0.00011,0.08,-0.031,-0.13,-0.16,-0.035,0.47,-0.0078,-0.043,-0.038,0,0,9.3e-05,9.3e-05,0.024,0.066,0.086,0.0061,0.36,0.37,0.033,3.6e-07,4.5e-07,2e-06,0.0051,0.0056,0.00013,0.00052,2.9e-05,0.00059,0.00032,0.00053,0.00059,1,1 -27190000,0.76,0.11,-0.043,-0.64,1.9,1.2,-1.2,1.3,0.87,-3.7e+02,-0.00096,-0.0058,0.00011,0.08,-0.031,-0.13,-0.16,-0.036,0.47,-0.0074,-0.04,-0.035,0,0,9.3e-05,9.3e-05,0.021,0.07,0.092,0.0061,0.38,0.39,0.034,3.6e-07,4.4e-07,2e-06,0.0051,0.0056,0.00013,0.00048,2.7e-05,0.00055,0.00029,0.00049,0.00054,1,1 -27290000,0.76,0.094,-0.038,-0.64,2,1.3,-1.2,1.5,0.99,-3.7e+02,-0.00096,-0.0058,0.00011,0.08,-0.03,-0.13,-0.17,-0.036,0.47,-0.0075,-0.036,-0.033,0,0,9.4e-05,9.4e-05,0.019,0.071,0.095,0.0061,0.4,0.42,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00013,0.00045,2.6e-05,0.00052,0.00026,0.00046,0.00051,1,1 -27390000,0.76,0.078,-0.034,-0.64,2.2,1.4,-1.2,1.7,1.1,-3.7e+02,-0.00095,-0.0058,0.00011,0.08,-0.03,-0.13,-0.17,-0.037,0.47,-0.0074,-0.035,-0.032,0,0,9.4e-05,9.4e-05,0.017,0.072,0.095,0.0061,0.43,0.44,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00013,0.00043,2.5e-05,0.0005,0.00023,0.00044,0.00049,1,1 -27490000,0.76,0.062,-0.029,-0.64,2.2,1.4,-1.2,2,1.3,-3.7e+02,-0.00095,-0.0058,0.00011,0.08,-0.029,-0.13,-0.17,-0.037,0.47,-0.0071,-0.034,-0.032,0,0,9.5e-05,9.5e-05,0.015,0.073,0.094,0.0061,0.45,0.47,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00013,0.00042,2.4e-05,0.00049,0.00021,0.00043,0.00048,1,1 -27590000,0.77,0.049,-0.025,-0.64,2.3,1.5,-1.2,2.2,1.4,-3.7e+02,-0.00095,-0.0058,0.0001,0.081,-0.028,-0.13,-0.17,-0.037,0.47,-0.0066,-0.033,-0.031,0,0,9.6e-05,9.5e-05,0.014,0.073,0.093,0.0061,0.48,0.5,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00013,0.00041,2.4e-05,0.00048,0.0002,0.00042,0.00048,1,1 -27690000,0.77,0.048,-0.025,-0.64,2.3,1.5,-1.2,2.4,1.6,-3.7e+02,-0.00095,-0.0058,9.9e-05,0.081,-0.027,-0.13,-0.17,-0.037,0.47,-0.0062,-0.032,-0.031,0,0,9.7e-05,9.6e-05,0.013,0.073,0.091,0.0061,0.51,0.53,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0055,0.00013,0.0004,2.4e-05,0.00048,0.00018,0.00042,0.00047,1,1 -27790000,0.77,0.05,-0.025,-0.64,2.3,1.5,-1.2,2.6,1.7,-3.7e+02,-0.00095,-0.0058,9.4e-05,0.082,-0.026,-0.13,-0.17,-0.037,0.47,-0.0056,-0.032,-0.031,0,0,9.7e-05,9.6e-05,0.012,0.073,0.09,0.0061,0.54,0.56,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0055,0.00012,0.0004,2.3e-05,0.00047,0.00017,0.00041,0.00047,1,1 -27890000,0.77,0.048,-0.024,-0.64,2.4,1.6,-1.2,2.9,1.9,-3.7e+02,-0.00095,-0.0058,9.3e-05,0.082,-0.026,-0.13,-0.17,-0.038,0.46,-0.0056,-0.031,-0.031,0,0,9.8e-05,9.7e-05,0.011,0.074,0.089,0.0061,0.57,0.6,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0055,0.00012,0.00039,2.3e-05,0.00047,0.00016,0.0004,0.00047,1,1 -27990000,0.77,0.044,-0.024,-0.64,2.4,1.6,-1.2,3.1,2.1,-3.7e+02,-0.00095,-0.0058,9.1e-05,0.082,-0.026,-0.13,-0.17,-0.038,0.47,-0.0055,-0.031,-0.031,0,0,9.9e-05,9.7e-05,0.01,0.075,0.089,0.0061,0.61,0.63,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0055,0.00012,0.00039,2.3e-05,0.00047,0.00016,0.0004,0.00046,1,1 -28090000,0.77,0.057,-0.028,-0.63,2.4,1.6,-1.2,3.3,2.2,-3.7e+02,-0.00095,-0.0058,8.6e-05,0.082,-0.025,-0.13,-0.17,-0.038,0.46,-0.005,-0.03,-0.03,0,0,0.0001,9.8e-05,0.0096,0.076,0.089,0.0061,0.64,0.67,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00038,2.2e-05,0.00046,0.00015,0.00039,0.00046,1,1 -28190000,0.77,0.071,-0.032,-0.63,2.5,1.6,-0.93,3.6,2.4,-3.7e+02,-0.00095,-0.0058,8.5e-05,0.082,-0.025,-0.13,-0.17,-0.038,0.46,-0.005,-0.03,-0.03,0,0,0.0001,9.9e-05,0.0091,0.077,0.089,0.0061,0.68,0.71,0.033,3.7e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00037,2.2e-05,0.00046,0.00014,0.00038,0.00045,1,1 -28290000,0.77,0.053,-0.026,-0.63,2.5,1.7,-0.069,3.8,2.6,-3.7e+02,-0.00094,-0.0058,8.1e-05,0.083,-0.024,-0.13,-0.17,-0.038,0.46,-0.0047,-0.029,-0.029,0,0,0.0001,9.9e-05,0.0086,0.076,0.087,0.0061,0.71,0.75,0.033,3.7e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00036,2.1e-05,0.00045,0.00014,0.00038,0.00045,1,1 -28390000,0.77,0.02,-0.013,-0.64,2.4,1.7,0.79,4,2.7,-3.7e+02,-0.00095,-0.0058,7.7e-05,0.083,-0.023,-0.13,-0.17,-0.038,0.46,-0.0045,-0.028,-0.029,0,0,0.0001,0.0001,0.0082,0.076,0.084,0.0061,0.75,0.79,0.033,3.7e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00036,2.1e-05,0.00045,0.00013,0.00037,0.00045,1,1 -28490000,0.77,0.0015,-0.0059,-0.64,2.4,1.7,1.1,4.3,2.9,-3.7e+02,-0.00096,-0.0058,7.2e-05,0.082,-0.022,-0.13,-0.17,-0.038,0.46,-0.0045,-0.028,-0.029,0,0,0.0001,0.0001,0.0079,0.076,0.083,0.0061,0.79,0.83,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00036,2.1e-05,0.00045,0.00013,0.00037,0.00045,1,1 -28590000,0.77,-0.0022,-0.0045,-0.63,2.3,1.6,0.98,4.5,3.1,-3.7e+02,-0.00096,-0.0058,7e-05,0.082,-0.022,-0.13,-0.17,-0.038,0.46,-0.0045,-0.028,-0.029,0,0,0.0001,0.0001,0.0075,0.077,0.082,0.0061,0.83,0.87,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00036,2.1e-05,0.00045,0.00012,0.00037,0.00044,1,1 -28690000,0.77,-0.0032,-0.0039,-0.63,2.3,1.6,0.99,4.8,3.2,-3.7e+02,-0.00097,-0.0058,6.6e-05,0.082,-0.022,-0.12,-0.17,-0.038,0.46,-0.0044,-0.028,-0.029,0,0,0.0001,0.0001,0.0072,0.077,0.082,0.0061,0.87,0.91,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00036,2.1e-05,0.00045,0.00012,0.00037,0.00044,1,1 -28790000,0.78,-0.0035,-0.0037,-0.63,2.2,1.6,0.99,5,3.4,-3.7e+02,-0.00097,-0.0058,6.2e-05,0.082,-0.021,-0.12,-0.17,-0.038,0.46,-0.0042,-0.028,-0.029,0,0,0.00011,0.0001,0.0069,0.078,0.082,0.006,0.91,0.96,0.033,3.6e-07,4.4e-07,2e-06,0.005,0.0054,0.00012,0.00036,2.1e-05,0.00044,0.00012,0.00037,0.00044,1,1 -28890000,0.78,-0.0033,-0.0037,-0.63,2.2,1.5,0.98,5.2,3.6,-3.7e+02,-0.00098,-0.0058,5.8e-05,0.081,-0.021,-0.12,-0.17,-0.038,0.46,-0.0041,-0.028,-0.029,0,0,0.00011,0.0001,0.0067,0.079,0.083,0.006,0.96,1,0.033,3.5e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00036,2.1e-05,0.00044,0.00011,0.00037,0.00044,1,1 -28990000,0.78,-0.0029,-0.0038,-0.63,2.1,1.5,0.98,5.4,3.7,-3.7e+02,-0.00099,-0.0058,5.1e-05,0.08,-0.02,-0.12,-0.17,-0.038,0.46,-0.0038,-0.028,-0.028,0,0,0.00011,0.0001,0.0065,0.08,0.084,0.006,1,1.1,0.033,3.5e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.1e-05,0.00044,0.00011,0.00037,0.00044,1,1 -29090000,0.78,-0.0024,-0.004,-0.63,2,1.5,0.97,5.7,3.9,-3.7e+02,-0.001,-0.0058,4.7e-05,0.08,-0.019,-0.12,-0.17,-0.038,0.46,-0.0037,-0.028,-0.028,0,0,0.00011,0.0001,0.0063,0.081,0.086,0.006,1,1.1,0.033,3.5e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.1e-05,0.00044,0.00011,0.00037,0.00043,1,1 -29190000,0.78,-0.0022,-0.004,-0.63,2,1.5,0.97,5.9,4,-3.7e+02,-0.001,-0.0058,4.7e-05,0.08,-0.019,-0.12,-0.17,-0.038,0.46,-0.0038,-0.028,-0.028,0,0,0.00011,0.0001,0.0061,0.082,0.088,0.006,1.1,1.2,0.033,3.5e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.1e-05,0.00044,0.00011,0.00037,0.00043,1,1 -29290000,0.78,-0.0013,-0.0043,-0.63,1.9,1.4,0.99,6.1,4.2,-3.7e+02,-0.001,-0.0058,4.2e-05,0.08,-0.019,-0.12,-0.17,-0.038,0.46,-0.0036,-0.028,-0.028,0,0,0.00011,0.0001,0.006,0.084,0.09,0.006,1.1,1.2,0.033,3.4e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.1e-05,0.00044,0.0001,0.00037,0.00043,1,1 -29390000,0.78,7.2e-05,-0.0046,-0.63,1.9,1.4,1,6.2,4.3,-3.7e+02,-0.001,-0.0058,3.6e-05,0.079,-0.018,-0.12,-0.17,-0.038,0.46,-0.0033,-0.028,-0.028,0,0,0.00011,0.0001,0.0058,0.085,0.092,0.006,1.2,1.3,0.033,3.4e-07,4.5e-07,2e-06,0.0049,0.0054,0.00011,0.00035,2.1e-05,0.00043,0.0001,0.00037,0.00043,1,1 -29490000,0.78,0.0012,-0.005,-0.63,1.8,1.4,1,6.4,4.5,-3.7e+02,-0.001,-0.0058,3.3e-05,0.079,-0.017,-0.12,-0.17,-0.038,0.46,-0.0033,-0.028,-0.028,0,0,0.00011,0.0001,0.0057,0.087,0.095,0.006,1.2,1.3,0.033,3.4e-07,4.5e-07,2e-06,0.0049,0.0054,0.00011,0.00035,2.1e-05,0.00043,0.0001,0.00037,0.00043,1,1 -29590000,0.78,0.0023,-0.0052,-0.63,1.8,1.4,1,6.6,4.6,-3.7e+02,-0.001,-0.0057,3e-05,0.079,-0.017,-0.12,-0.17,-0.038,0.46,-0.0032,-0.028,-0.028,0,0,0.00011,0.0001,0.0056,0.089,0.098,0.006,1.3,1.4,0.033,3.4e-07,4.5e-07,2e-06,0.0049,0.0053,0.00011,0.00035,2.1e-05,0.00043,0.0001,0.00037,0.00043,1,1 -29690000,0.78,0.0029,-0.0055,-0.63,1.7,1.3,0.99,6.8,4.7,-3.7e+02,-0.001,-0.0057,2.6e-05,0.078,-0.016,-0.12,-0.17,-0.038,0.46,-0.0031,-0.028,-0.028,0,0,0.00011,0.0001,0.0054,0.09,0.1,0.006,1.4,1.5,0.033,3.4e-07,4.5e-07,2e-06,0.0049,0.0053,0.00011,0.00035,2.1e-05,0.00043,9.9e-05,0.00037,0.00043,1,1 -29790000,0.78,0.0034,-0.0056,-0.63,1.7,1.3,0.98,7,4.9,-3.7e+02,-0.001,-0.0057,2.2e-05,0.078,-0.015,-0.12,-0.17,-0.038,0.46,-0.0031,-0.028,-0.027,0,0,0.00011,0.0001,0.0053,0.092,0.11,0.006,1.4,1.5,0.033,3.4e-07,4.5e-07,2e-06,0.0049,0.0053,0.00011,0.00035,2.1e-05,0.00043,9.8e-05,0.00037,0.00042,1,1 -29890000,0.78,0.0035,-0.0057,-0.63,1.7,1.3,0.97,7.2,5,-3.7e+02,-0.001,-0.0057,1.6e-05,0.078,-0.015,-0.12,-0.17,-0.038,0.46,-0.0029,-0.028,-0.027,0,0,0.00012,0.0001,0.0052,0.094,0.11,0.006,1.5,1.6,0.033,3.3e-07,4.5e-07,2e-06,0.0049,0.0053,0.00011,0.00035,2.1e-05,0.00043,9.6e-05,0.00037,0.00042,1,1 -29990000,0.78,0.0036,-0.0057,-0.63,1.6,1.3,0.95,7.3,5.1,-3.7e+02,-0.001,-0.0057,1.2e-05,0.077,-0.014,-0.12,-0.17,-0.038,0.46,-0.0029,-0.028,-0.027,0,0,0.00012,0.0001,0.0052,0.096,0.11,0.006,1.5,1.7,0.033,3.3e-07,4.6e-07,2e-06,0.0049,0.0053,0.00011,0.00035,2e-05,0.00043,9.5e-05,0.00036,0.00042,1,1 -30090000,0.78,0.0035,-0.0057,-0.63,1.6,1.3,0.94,7.5,5.3,-3.7e+02,-0.001,-0.0057,8.5e-06,0.077,-0.013,-0.12,-0.17,-0.038,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0051,0.098,0.12,0.006,1.6,1.7,0.033,3.3e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00043,9.4e-05,0.00036,0.00042,1,1 -30190000,0.78,0.0032,-0.0057,-0.63,1.6,1.3,0.93,7.6,5.4,-3.7e+02,-0.001,-0.0057,9.6e-06,0.077,-0.013,-0.12,-0.17,-0.038,0.46,-0.0028,-0.028,-0.027,0,0,0.00012,0.0001,0.005,0.1,0.12,0.006,1.7,1.8,0.033,3.3e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00043,9.4e-05,0.00036,0.00042,1,1 -30290000,0.78,0.003,-0.0056,-0.63,1.5,1.2,0.92,7.8,5.5,-3.7e+02,-0.001,-0.0057,6.6e-06,0.077,-0.013,-0.12,-0.17,-0.038,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0049,0.1,0.13,0.006,1.7,1.9,0.033,3.3e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00043,9.3e-05,0.00036,0.00042,1,1 -30390000,0.78,0.0028,-0.0056,-0.63,1.5,1.2,0.9,8,5.6,-3.7e+02,-0.0011,-0.0057,2.4e-06,0.076,-0.012,-0.12,-0.17,-0.038,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0049,0.1,0.13,0.006,1.8,2,0.033,3.3e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00042,9.2e-05,0.00036,0.00042,1,1 -30490000,0.78,0.0025,-0.0055,-0.63,1.5,1.2,0.89,8.1,5.8,-3.7e+02,-0.0011,-0.0057,1.3e-06,0.076,-0.012,-0.12,-0.17,-0.038,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0048,0.11,0.14,0.006,1.9,2.1,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00042,9.1e-05,0.00036,0.00042,1,1 -30590000,0.78,0.002,-0.0054,-0.63,1.4,1.2,0.85,8.3,5.9,-3.7e+02,-0.0011,-0.0057,-8.2e-07,0.076,-0.011,-0.12,-0.17,-0.038,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0048,0.11,0.14,0.006,2,2.2,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00042,9.1e-05,0.00036,0.00042,1,1 -30690000,0.78,0.0017,-0.0053,-0.63,1.4,1.2,0.84,8.4,6,-3.7e+02,-0.0011,-0.0057,-4.1e-06,0.075,-0.0099,-0.12,-0.17,-0.038,0.46,-0.0026,-0.028,-0.027,0,0,0.00012,0.0001,0.0047,0.11,0.15,0.0059,2,2.3,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00042,9e-05,0.00036,0.00042,1,1 -30790000,0.78,0.0013,-0.0052,-0.63,1.4,1.2,0.84,8.6,6.1,-3.7e+02,-0.0011,-0.0057,-7.2e-06,0.075,-0.0096,-0.12,-0.17,-0.038,0.46,-0.0025,-0.028,-0.027,0,0,0.00012,0.0001,0.0047,0.11,0.15,0.006,2.1,2.4,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0053,0.0001,0.00035,2e-05,0.00042,9e-05,0.00036,0.00042,1,1 -30890000,0.78,0.00088,-0.0051,-0.63,1.4,1.1,0.82,8.7,6.2,-3.7e+02,-0.0011,-0.0057,-1e-05,0.074,-0.0089,-0.12,-0.17,-0.038,0.46,-0.0025,-0.028,-0.027,0,0,0.00012,0.0001,0.0046,0.12,0.16,0.0059,2.2,2.5,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0053,9.9e-05,0.00035,2e-05,0.00042,8.9e-05,0.00036,0.00042,1,1 -30990000,0.78,0.00029,-0.005,-0.63,1.3,1.1,0.82,8.9,6.3,-3.7e+02,-0.0011,-0.0057,-1.4e-05,0.074,-0.0081,-0.12,-0.17,-0.038,0.46,-0.0024,-0.028,-0.027,0,0,0.00013,0.0001,0.0046,0.12,0.16,0.0059,2.3,2.6,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0052,9.9e-05,0.00035,2e-05,0.00042,8.9e-05,0.00036,0.00041,1,1 -31090000,0.78,-0.00026,-0.0048,-0.63,1.3,1.1,0.81,9,6.5,-3.7e+02,-0.0011,-0.0057,-1.8e-05,0.074,-0.0074,-0.12,-0.17,-0.038,0.46,-0.0024,-0.028,-0.027,0,0,0.00013,0.0001,0.0045,0.12,0.17,0.0059,2.4,2.7,0.033,3.1e-07,4.6e-07,2e-06,0.0048,0.0052,9.8e-05,0.00035,2e-05,0.00042,8.8e-05,0.00036,0.00041,1,1 -31190000,0.78,-0.00067,-0.0047,-0.63,1.3,1.1,0.8,9.1,6.6,-3.7e+02,-0.0011,-0.0057,-2.1e-05,0.074,-0.0066,-0.12,-0.17,-0.038,0.46,-0.0023,-0.028,-0.027,0,0,0.00013,0.0001,0.0045,0.12,0.18,0.0059,2.5,2.9,0.033,3.1e-07,4.7e-07,2e-06,0.0048,0.0052,9.7e-05,0.00035,2e-05,0.00042,8.8e-05,0.00036,0.00041,1,1 -31290000,0.78,-0.0013,-0.0046,-0.63,1.2,1.1,0.8,9.3,6.7,-3.7e+02,-0.0011,-0.0057,-2.3e-05,0.073,-0.0059,-0.12,-0.17,-0.038,0.46,-0.0023,-0.028,-0.027,0,0,0.00013,0.0001,0.0045,0.13,0.18,0.0059,2.6,3,0.033,3.1e-07,4.7e-07,2e-06,0.0048,0.0052,9.7e-05,0.00035,2e-05,0.00042,8.7e-05,0.00036,0.00041,1,1 -31390000,0.78,-0.002,-0.0044,-0.63,1.2,1.1,0.8,9.4,6.8,-3.7e+02,-0.0011,-0.0057,-2.6e-05,0.073,-0.0053,-0.12,-0.17,-0.038,0.46,-0.0023,-0.028,-0.027,0,0,0.00013,0.0001,0.0044,0.13,0.19,0.0059,2.6,3.1,0.033,3.1e-07,4.7e-07,2e-06,0.0048,0.0052,9.6e-05,0.00034,2e-05,0.00042,8.7e-05,0.00036,0.00041,1,1 -31490000,0.78,-0.0026,-0.0042,-0.63,1.2,1,0.79,9.5,6.9,-3.7e+02,-0.0011,-0.0057,-3.2e-05,0.073,-0.0045,-0.12,-0.17,-0.038,0.46,-0.0022,-0.028,-0.026,0,0,0.00013,0.0001,0.0044,0.13,0.2,0.0059,2.7,3.3,0.033,3.1e-07,4.7e-07,2e-06,0.0048,0.0052,9.5e-05,0.00034,2e-05,0.00042,8.7e-05,0.00036,0.00041,1,1 -31590000,0.78,-0.003,-0.0042,-0.63,1.1,1,0.79,9.6,7,-3.7e+02,-0.0011,-0.0057,-3.3e-05,0.072,-0.0038,-0.12,-0.17,-0.038,0.46,-0.0021,-0.028,-0.026,0,0,0.00013,0.0001,0.0044,0.13,0.21,0.0059,2.8,3.4,0.033,3.1e-07,4.7e-07,2e-06,0.0048,0.0052,9.5e-05,0.00034,2e-05,0.00041,8.6e-05,0.00036,0.00041,1,1 -31690000,0.78,-0.0037,-0.004,-0.63,1.1,1,0.8,9.8,7.1,-3.7e+02,-0.0011,-0.0057,-3.5e-05,0.072,-0.0032,-0.12,-0.17,-0.038,0.46,-0.0021,-0.028,-0.026,0,0,0.00013,0.0001,0.0044,0.14,0.21,0.0059,2.9,3.5,0.033,3.1e-07,4.7e-07,2e-06,0.0048,0.0052,9.4e-05,0.00034,2e-05,0.00041,8.6e-05,0.00036,0.00041,1,1 -31790000,0.78,-0.0044,-0.0038,-0.63,1.1,0.99,0.8,9.9,7.2,-3.7e+02,-0.0011,-0.0057,-3.7e-05,0.071,-0.0023,-0.12,-0.17,-0.038,0.46,-0.002,-0.029,-0.026,0,0,0.00013,0.0001,0.0043,0.14,0.22,0.0059,3.1,3.7,0.033,3e-07,4.7e-07,2e-06,0.0048,0.0052,9.4e-05,0.00034,2e-05,0.00041,8.6e-05,0.00036,0.00041,1,1 -31890000,0.78,-0.0051,-0.0037,-0.63,1.1,0.97,0.79,10,7.3,-3.7e+02,-0.0011,-0.0057,-4.1e-05,0.071,-0.0014,-0.12,-0.17,-0.038,0.46,-0.002,-0.029,-0.026,0,0,0.00013,0.0001,0.0043,0.14,0.23,0.0059,3.2,3.9,0.033,3e-07,4.7e-07,2e-06,0.0048,0.0052,9.3e-05,0.00034,2e-05,0.00041,8.5e-05,0.00036,0.00041,1,1 -31990000,0.78,-0.0057,-0.0035,-0.63,1,0.96,0.79,10,7.4,-3.7e+02,-0.0011,-0.0057,-4.7e-05,0.07,-0.00053,-0.12,-0.17,-0.038,0.46,-0.0019,-0.029,-0.026,0,0,0.00014,0.0001,0.0043,0.14,0.24,0.0058,3.3,4,0.033,3e-07,4.7e-07,2e-06,0.0048,0.0052,9.3e-05,0.00034,2e-05,0.00041,8.5e-05,0.00036,0.00041,1,1 -32090000,0.78,-0.0064,-0.0033,-0.63,1,0.94,0.8,10,7.5,-3.7e+02,-0.0012,-0.0057,-5.1e-05,0.07,0.00016,-0.11,-0.17,-0.038,0.46,-0.0018,-0.029,-0.026,0,0,0.00014,0.0001,0.0043,0.15,0.25,0.0058,3.4,4.2,0.033,3e-07,4.7e-07,2e-06,0.0048,0.0052,9.2e-05,0.00034,2e-05,0.00041,8.5e-05,0.00036,0.0004,1,1 -32190000,0.78,-0.0074,-0.0031,-0.63,0.97,0.92,0.8,10,7.6,-3.7e+02,-0.0012,-0.0057,-6e-05,0.069,0.0011,-0.11,-0.17,-0.038,0.46,-0.0017,-0.029,-0.025,0,0,0.00014,0.0001,0.0043,0.15,0.25,0.0058,3.5,4.4,0.033,3e-07,4.7e-07,2e-06,0.0048,0.0051,9.1e-05,0.00034,2e-05,0.00041,8.5e-05,0.00036,0.0004,1,1 -32290000,0.78,-0.0081,-0.003,-0.63,0.94,0.9,0.79,10,7.7,-3.7e+02,-0.0012,-0.0057,-6.4e-05,0.069,0.0021,-0.11,-0.17,-0.038,0.46,-0.0016,-0.029,-0.025,0,0,0.00014,0.0001,0.0042,0.15,0.26,0.0058,3.6,4.6,0.033,3e-07,4.7e-07,2e-06,0.0048,0.0051,9.1e-05,0.00034,2e-05,0.00041,8.5e-05,0.00036,0.0004,1,1 -32390000,0.78,-0.0087,-0.0029,-0.63,0.91,0.88,0.79,11,7.8,-3.7e+02,-0.0012,-0.0057,-6.5e-05,0.068,0.0027,-0.11,-0.17,-0.038,0.46,-0.0016,-0.029,-0.025,0,0,0.00014,0.0001,0.0042,0.16,0.27,0.0058,3.7,4.8,0.033,3e-07,4.7e-07,2e-06,0.0048,0.0051,9e-05,0.00034,2e-05,0.00041,8.4e-05,0.00036,0.0004,1,1 -32490000,0.78,-0.009,-0.0028,-0.62,0.88,0.86,0.8,11,7.9,-3.7e+02,-0.0012,-0.0057,-6.7e-05,0.068,0.0035,-0.11,-0.17,-0.038,0.46,-0.0015,-0.029,-0.025,0,0,0.00014,0.0001,0.0042,0.16,0.28,0.0058,3.9,5,0.033,2.9e-07,4.8e-07,2e-06,0.0048,0.0051,9e-05,0.00034,2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 -32590000,0.78,-0.0093,-0.0028,-0.62,-1.6,-0.84,0.63,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7e-05,0.067,0.0038,-0.11,-0.17,-0.038,0.46,-0.0015,-0.029,-0.025,0,0,0.00014,0.0001,0.0042,0.25,0.25,0.56,0.25,0.25,0.035,2.9e-07,4.8e-07,2e-06,0.0048,0.0051,8.9e-05,0.00034,2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 -32690000,0.78,-0.0093,-0.0028,-0.62,-1.6,-0.86,0.61,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.4e-05,0.067,0.0044,-0.11,-0.17,-0.038,0.46,-0.0014,-0.029,-0.025,0,0,0.00014,0.0001,0.0042,0.25,0.25,0.55,0.26,0.26,0.047,2.9e-07,4.8e-07,2e-06,0.0048,0.0051,8.9e-05,0.00034,2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 -32790000,0.78,-0.0093,-0.0028,-0.62,-1.5,-0.84,0.61,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.5e-05,0.066,0.0048,-0.11,-0.17,-0.038,0.46,-0.0014,-0.029,-0.024,0,0,0.00014,0.0001,0.0042,0.13,0.13,0.27,0.26,0.26,0.047,2.9e-07,4.8e-07,2e-06,0.0048,0.0051,8.9e-05,0.00034,2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 -32890000,0.78,-0.0092,-0.0029,-0.62,-1.6,-0.86,0.59,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-8.5e-05,0.066,0.0053,-0.11,-0.17,-0.038,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.0001,0.0042,0.13,0.13,0.26,0.27,0.27,0.058,2.9e-07,4.8e-07,2e-06,0.0048,0.0051,8.8e-05,0.00034,2e-05,0.0004,8.4e-05,0.00036,0.00039,1,1 -32990000,0.78,-0.0092,-0.003,-0.62,-1.5,-0.85,0.59,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.9e-05,0.065,0.0058,-0.11,-0.17,-0.038,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.0001,0.0041,0.084,0.085,0.17,0.27,0.27,0.056,2.9e-07,4.8e-07,2e-06,0.0048,0.0051,8.8e-05,0.00034,2e-05,0.0004,8.3e-05,0.00036,0.00039,1,1 -33090000,0.78,-0.0092,-0.003,-0.62,-1.6,-0.86,0.57,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.6e-05,0.065,0.006,-0.11,-0.17,-0.038,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.0001,0.0041,0.084,0.085,0.16,0.28,0.28,0.065,2.9e-07,4.8e-07,2e-06,0.0047,0.0051,8.8e-05,0.00034,2e-05,0.0004,8.3e-05,0.00036,0.00039,1,1 -33190000,0.78,-0.0079,-0.0062,-0.62,-1.5,-0.85,0.52,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.3e-05,0.065,0.0061,-0.11,-0.17,-0.038,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.0001,0.0041,0.063,0.065,0.11,0.28,0.28,0.062,2.8e-07,4.8e-07,2e-06,0.0047,0.0051,8.8e-05,0.00034,2e-05,0.0004,8.3e-05,0.00036,0.00039,1,1 -33290000,0.83,-0.0058,-0.018,-0.56,-1.5,-0.87,0.5,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.8e-05,0.065,0.006,-0.11,-0.17,-0.038,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.0001,0.0041,0.064,0.066,0.1,0.29,0.29,0.067,2.8e-07,4.8e-07,2e-06,0.0047,0.0051,8.8e-05,0.00034,2e-05,0.0004,8.3e-05,0.00035,0.00039,1,1 -33390000,0.89,-0.0065,-0.015,-0.45,-1.5,-0.86,0.7,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-6.5e-05,0.064,0.0057,-0.11,-0.18,-0.039,0.46,-0.0009,-0.027,-0.024,0,0,0.00015,0.0001,0.004,0.051,0.053,0.082,0.29,0.29,0.065,2.8e-07,4.7e-07,2e-06,0.0047,0.0051,8.8e-05,0.00031,1.8e-05,0.0004,8e-05,0.00032,0.00039,1,1 -33490000,0.95,-0.0051,-0.0068,-0.3,-1.5,-0.87,0.71,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-4.6e-05,0.064,0.0057,-0.11,-0.18,-0.04,0.46,-0.00041,-0.02,-0.024,0,0,0.00015,0.0001,0.0037,0.052,0.054,0.075,0.3,0.3,0.068,2.8e-07,4.7e-07,2e-06,0.0047,0.0051,8.8e-05,0.00023,1.5e-05,0.00039,7.3e-05,0.00024,0.00039,1,1 -33590000,0.99,-0.0082,-3.1e-05,-0.14,-1.5,-0.85,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,1.5e-05,0.064,0.0057,-0.11,-0.19,-0.042,0.46,0.00035,-0.013,-0.024,0,0,0.00015,0.0001,0.0032,0.044,0.046,0.061,0.3,0.3,0.065,2.8e-07,4.7e-07,2e-06,0.0047,0.0051,8.8e-05,0.00015,1.1e-05,0.00039,6e-05,0.00015,0.00039,1,1 -33690000,1,-0.012,0.0042,0.031,-1.6,-0.88,0.68,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,2e-05,0.064,0.0057,-0.11,-0.19,-0.043,0.46,0.00018,-0.0091,-0.025,0,0,0.00015,0.0001,0.0028,0.044,0.048,0.056,0.31,0.31,0.067,2.8e-07,4.6e-07,2e-06,0.0047,0.0051,8.8e-05,0.0001,8.4e-06,0.00039,4.7e-05,9.7e-05,0.00038,1,1 -33790000,0.98,-0.013,0.0066,0.2,-1.6,-0.89,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,6.6e-05,0.064,0.0057,-0.11,-0.2,-0.043,0.46,0.00052,-0.0066,-0.025,0,0,0.00015,0.0001,0.0023,0.039,0.043,0.047,0.31,0.31,0.064,2.7e-07,4.5e-07,1.9e-06,0.0047,0.0051,8.8e-05,6.9e-05,6.8e-06,0.00038,3.5e-05,6.2e-05,0.00038,1,1 -33890000,0.93,-0.013,0.0087,0.36,-1.7,-0.95,0.66,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,8.9e-05,0.064,0.0057,-0.11,-0.2,-0.043,0.46,0.00074,-0.0053,-0.025,0,0,0.00015,0.0001,0.002,0.04,0.046,0.042,0.32,0.32,0.065,2.7e-07,4.5e-07,1.9e-06,0.0047,0.0051,8.8e-05,5.1e-05,5.9e-06,0.00038,2.7e-05,4.2e-05,0.00038,1,1 -33990000,0.87,-0.015,0.0073,0.5,-1.7,-0.97,0.64,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00011,0.064,0.0055,-0.11,-0.2,-0.044,0.46,0.00052,-0.0039,-0.025,0,0,0.00014,9.7e-05,0.0017,0.036,0.042,0.036,0.32,0.32,0.062,2.7e-07,4.4e-07,1.9e-06,0.0047,0.005,8.8e-05,4e-05,5.4e-06,0.00038,2.1e-05,3e-05,0.00038,1,1 -34090000,0.8,-0.016,0.0065,0.6,-1.7,-1,0.64,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.0001,0.065,0.0049,-0.11,-0.2,-0.044,0.46,0.00019,-0.0032,-0.025,0,0,0.00014,9.7e-05,0.0016,0.038,0.046,0.033,0.33,0.33,0.063,2.8e-07,4.3e-07,1.9e-06,0.0047,0.005,8.8e-05,3.4e-05,5.1e-06,0.00038,1.7e-05,2.4e-05,0.00038,1,1 -34190000,0.75,-0.014,0.0071,0.66,-1.8,-1.1,0.65,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00011,0.064,0.0047,-0.11,-0.2,-0.044,0.46,0.0002,-0.0027,-0.025,0,0,0.00014,9.7e-05,0.0015,0.041,0.051,0.031,0.34,0.34,0.063,2.8e-07,4.3e-07,1.9e-06,0.0047,0.005,8.8e-05,3e-05,4.9e-06,0.00038,1.4e-05,1.9e-05,0.00038,1,1 -34290000,0.71,-0.011,0.0086,0.7,-1.8,-1.2,0.65,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.064,0.0044,-0.11,-0.2,-0.044,0.46,0.00016,-0.0023,-0.025,0,0,0.00014,9.6e-05,0.0014,0.044,0.056,0.028,0.35,0.35,0.062,2.8e-07,4.3e-07,1.9e-06,0.0047,0.005,8.8e-05,2.7e-05,4.7e-06,0.00038,1.2e-05,1.6e-05,0.00038,1,1 -34390000,0.69,-0.0076,0.01,0.72,-1.9,-1.3,0.66,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.064,0.0041,-0.11,-0.2,-0.044,0.46,9e-05,-0.002,-0.025,0,0,0.00014,9.6e-05,0.0013,0.048,0.061,0.026,0.36,0.37,0.063,2.8e-07,4.3e-07,1.9e-06,0.0047,0.005,8.8e-05,2.5e-05,4.6e-06,0.00038,1.1e-05,1.4e-05,0.00038,1,1 -34490000,0.67,-0.0054,0.011,0.74,-1.9,-1.4,0.66,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.064,0.004,-0.11,-0.2,-0.044,0.46,4.8e-05,-0.002,-0.025,0,0,0.00014,9.6e-05,0.0013,0.052,0.068,0.024,0.38,0.38,0.062,2.8e-07,4.3e-07,1.8e-06,0.0047,0.005,8.8e-05,2.3e-05,4.6e-06,0.00038,9.9e-06,1.2e-05,0.00038,1,1 -34590000,0.67,-0.004,0.012,0.75,-2,-1.4,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.0039,-0.11,-0.2,-0.044,0.46,-4.8e-05,-0.0019,-0.025,0,0,0.00014,9.5e-05,0.0012,0.056,0.075,0.022,0.39,0.4,0.06,2.8e-07,4.3e-07,1.8e-06,0.0046,0.005,8.8e-05,2.2e-05,4.5e-06,0.00038,9e-06,1.1e-05,0.00038,1,1 -34690000,0.66,-0.0032,0.013,0.75,-2,-1.5,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.064,0.0038,-0.11,-0.2,-0.044,0.46,1.5e-05,-0.0016,-0.025,0,0,0.00014,9.5e-05,0.0012,0.062,0.082,0.02,0.41,0.41,0.06,2.8e-07,4.3e-07,1.8e-06,0.0046,0.005,8.8e-05,2.1e-05,4.5e-06,0.00038,8.3e-06,9.9e-06,0.00038,1,1 -34790000,0.66,-0.0027,0.013,0.76,-2.1,-1.6,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0038,-0.11,-0.2,-0.044,0.46,0.00014,-0.0016,-0.025,0,0,0.00014,9.4e-05,0.0012,0.067,0.09,0.018,0.42,0.43,0.059,2.8e-07,4.3e-07,1.8e-06,0.0046,0.005,8.9e-05,2e-05,4.4e-06,0.00038,7.8e-06,9.1e-06,0.00038,1,1 -34890000,0.65,-0.0025,0.013,0.76,-2.1,-1.7,0.68,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0036,-0.11,-0.2,-0.044,0.46,8.6e-05,-0.0016,-0.025,0,0,0.00014,9.4e-05,0.0012,0.074,0.099,0.017,0.44,0.46,0.058,2.8e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,2e-05,4.4e-06,0.00038,7.3e-06,8.4e-06,0.00038,1,1 -34990000,0.65,-0.006,0.02,0.76,-3.1,-2.6,-0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0037,-0.11,-0.2,-0.044,0.46,0.0002,-0.0016,-0.025,0,0,0.00014,9.3e-05,0.0012,0.09,0.13,0.016,0.46,0.48,0.057,2.8e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,1.9e-05,4.3e-06,0.00038,6.9e-06,7.9e-06,0.00038,1,1 -35090000,0.65,-0.006,0.02,0.76,-3.2,-2.7,-0.18,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0037,-0.11,-0.2,-0.044,0.46,0.00021,-0.0016,-0.025,0,0,0.00013,9.3e-05,0.0012,0.098,0.14,0.015,0.49,0.51,0.056,2.8e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,1.9e-05,4.3e-06,0.00038,6.6e-06,7.4e-06,0.00038,1,1 -35190000,0.65,-0.0061,0.02,0.76,-3.2,-2.7,-0.17,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0037,-0.11,-0.2,-0.044,0.46,0.00025,-0.0015,-0.025,0,0,0.00013,9.3e-05,0.0011,0.11,0.15,0.014,0.51,0.54,0.055,2.8e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,1.8e-05,4.3e-06,0.00038,6.2e-06,7e-06,0.00038,1,1 -35290000,0.65,-0.0063,0.02,0.76,-3.2,-2.8,-0.16,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0037,-0.11,-0.2,-0.044,0.46,0.0003,-0.0015,-0.025,0,0,0.00013,9.2e-05,0.0011,0.12,0.17,0.013,0.54,0.58,0.053,2.8e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,1.8e-05,4.3e-06,0.00038,6e-06,6.6e-06,0.00038,1,1 -35390000,0.65,-0.0063,0.02,0.76,-3.3,-2.9,-0.15,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0037,-0.11,-0.2,-0.044,0.46,0.00038,-0.0015,-0.025,0,0,0.00013,9.2e-05,0.0011,0.13,0.18,0.012,0.57,0.62,0.053,2.8e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,1.8e-05,4.2e-06,0.00038,5.8e-06,6.3e-06,0.00037,1,1 -35490000,0.65,-0.0063,0.02,0.76,-3.3,-3,-0.14,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.064,0.0037,-0.11,-0.2,-0.044,0.46,0.00044,-0.0016,-0.025,0,0,0.00013,9.1e-05,0.0011,0.13,0.19,0.012,0.61,0.67,0.052,2.9e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,1.7e-05,4.2e-06,0.00038,5.6e-06,6e-06,0.00037,1,1 -35590000,0.65,-0.0064,0.02,0.76,-3.3,-3,-0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0037,-0.11,-0.2,-0.044,0.46,0.00041,-0.0016,-0.025,0,0,0.00013,9.1e-05,0.0011,0.15,0.2,0.011,0.65,0.72,0.05,2.9e-07,4.4e-07,1.8e-06,0.0046,0.005,8.9e-05,1.7e-05,4.2e-06,0.00038,5.4e-06,5.8e-06,0.00037,1,1 -35690000,0.65,-0.0063,0.02,0.76,-3.4,-3.1,-0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.064,0.0035,-0.11,-0.2,-0.044,0.46,0.00047,-0.0016,-0.025,0,0,0.00013,9.1e-05,0.0011,0.16,0.22,0.011,0.69,0.77,0.05,2.9e-07,4.4e-07,1.9e-06,0.0046,0.005,8.9e-05,1.7e-05,4.2e-06,0.00038,5.3e-06,5.6e-06,0.00037,1,1 -35790000,0.65,-0.0064,0.02,0.76,-3.4,-3.2,-0.12,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.064,0.0035,-0.11,-0.2,-0.044,0.46,0.00049,-0.0015,-0.025,0,0,0.00013,9e-05,0.0011,0.17,0.23,0.01,0.73,0.84,0.049,2.9e-07,4.4e-07,1.9e-06,0.0046,0.005,8.9e-05,1.7e-05,4.2e-06,0.00038,5.1e-06,5.3e-06,0.00037,1,1 -35890000,0.65,-0.0065,0.02,0.76,-3.4,-3.2,-0.11,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.064,0.0036,-0.11,-0.2,-0.044,0.46,0.00049,-0.0015,-0.025,0,0,0.00013,9e-05,0.0011,0.18,0.25,0.0096,0.78,0.9,0.048,2.9e-07,4.4e-07,1.9e-06,0.0046,0.005,8.9e-05,1.7e-05,4.2e-06,0.00038,5e-06,5.2e-06,0.00037,1,1 -35990000,0.65,-0.0065,0.02,0.76,-3.5,-3.3,-0.1,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.064,0.0035,-0.11,-0.2,-0.044,0.46,0.00046,-0.0016,-0.025,0,0,0.00013,9e-05,0.0011,0.19,0.26,0.0093,0.84,0.98,0.047,2.9e-07,4.4e-07,1.9e-06,0.0046,0.005,8.9e-05,1.6e-05,4.2e-06,0.00038,4.9e-06,5e-06,0.00037,1,1 -36090000,0.65,-0.0065,0.02,0.76,-3.5,-3.4,-0.093,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.065,0.0036,-0.11,-0.2,-0.044,0.46,0.00049,-0.0016,-0.025,0,0,0.00013,8.9e-05,0.0011,0.2,0.28,0.0089,0.9,1.1,0.046,2.9e-07,4.4e-07,1.9e-06,0.0046,0.005,8.9e-05,1.6e-05,4.2e-06,0.00038,4.8e-06,4.8e-06,0.00037,1,1 -36190000,0.65,-0.0066,0.02,0.76,-3.5,-3.5,-0.083,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.0037,-0.11,-0.2,-0.044,0.46,0.00057,-0.0016,-0.025,0,0,0.00013,8.9e-05,0.0011,0.22,0.3,0.0086,0.96,1.1,0.045,2.9e-07,4.4e-07,1.9e-06,0.0046,0.0049,8.9e-05,1.6e-05,4.1e-06,0.00038,4.7e-06,4.7e-06,0.00037,1,1 -36290000,0.65,-0.0065,0.02,0.76,-3.5,-3.5,-0.073,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.0035,-0.11,-0.2,-0.044,0.46,0.00058,-0.0016,-0.025,0,0,0.00013,8.9e-05,0.0011,0.23,0.32,0.0083,1,1.2,0.045,2.9e-07,4.4e-07,1.9e-06,0.0046,0.0049,8.9e-05,1.6e-05,4.1e-06,0.00038,4.6e-06,4.6e-06,0.00037,1,1 -36390000,0.65,-0.0066,0.02,0.76,-3.6,-3.6,-0.066,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.0036,-0.11,-0.2,-0.044,0.46,0.00057,-0.0015,-0.025,0,0,0.00012,8.8e-05,0.0011,0.25,0.33,0.0081,1.1,1.4,0.044,2.9e-07,4.4e-07,1.9e-06,0.0046,0.0049,8.9e-05,1.6e-05,4.1e-06,0.00038,4.5e-06,4.4e-06,0.00037,1,1 -36490000,0.65,-0.0066,0.02,0.76,-3.6,-3.7,-0.059,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.0035,-0.11,-0.2,-0.044,0.46,0.00054,-0.0015,-0.025,0,0,0.00012,8.8e-05,0.0011,0.26,0.35,0.0078,1.2,1.5,0.043,2.9e-07,4.4e-07,1.9e-06,0.0046,0.0049,9e-05,1.6e-05,4.1e-06,0.00038,4.4e-06,4.3e-06,0.00037,1,1 -36590000,0.65,-0.0066,0.02,0.76,-3.6,-3.8,-0.048,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.066,0.0035,-0.11,-0.2,-0.044,0.46,0.00058,-0.0015,-0.025,0,0,0.00012,8.8e-05,0.0011,0.28,0.37,0.0076,1.3,1.6,0.042,2.9e-07,4.4e-07,1.9e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.4e-06,4.2e-06,0.00037,1,1 -36690000,0.65,-0.0067,0.02,0.76,-3.7,-3.8,-0.04,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.066,0.0038,-0.11,-0.2,-0.044,0.46,0.00061,-0.0015,-0.025,0,0,0.00012,8.8e-05,0.0011,0.29,0.39,0.0075,1.4,1.7,0.042,3e-07,4.4e-07,1.9e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.3e-06,4.1e-06,0.00037,1,1 -36790000,0.65,-0.0067,0.021,0.76,-3.7,-3.9,-0.031,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00011,0.066,0.0036,-0.11,-0.2,-0.044,0.46,0.00064,-0.0015,-0.025,0,0,0.00012,8.7e-05,0.0011,0.31,0.41,0.0073,1.5,1.9,0.041,3e-07,4.4e-07,1.9e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.3e-06,4e-06,0.00037,1,1 -36890000,0.65,-0.0067,0.021,0.76,-3.7,-4,-0.023,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.0001,0.066,0.0038,-0.11,-0.2,-0.044,0.46,0.00067,-0.0015,-0.025,0,0,0.00012,8.7e-05,0.0011,0.32,0.43,0.0072,1.6,2,0.04,3e-07,4.4e-07,1.9e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.2e-06,3.9e-06,0.00037,1,1 -36990000,0.65,-0.0067,0.021,0.76,-3.7,-4,-0.015,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.0001,0.066,0.0039,-0.11,-0.2,-0.044,0.46,0.00069,-0.0015,-0.025,0,0,0.00012,8.7e-05,0.0011,0.34,0.45,0.0071,1.7,2.2,0.04,3e-07,4.4e-07,1.9e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.2e-06,3.9e-06,0.00037,1,1 -37090000,0.65,-0.0067,0.021,0.76,-3.8,-4.1,-0.0065,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,9.8e-05,0.067,0.004,-0.11,-0.2,-0.044,0.46,0.00069,-0.0014,-0.025,0,0,0.00012,8.7e-05,0.0011,0.36,0.47,0.007,1.9,2.4,0.04,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.1e-06,3.8e-06,0.00037,1,1 -37190000,0.65,-0.0067,0.021,0.76,-3.8,-4.2,0.0016,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,9.8e-05,0.067,0.0041,-0.11,-0.2,-0.044,0.46,0.00068,-0.0014,-0.025,0,0,0.00012,8.6e-05,0.0011,0.38,0.49,0.0069,2,2.6,0.039,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.1e-06,3.7e-06,0.00037,1,1 -37290000,0.65,-0.0068,0.021,0.76,-3.8,-4.3,0.0094,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,9.5e-05,0.067,0.0041,-0.11,-0.2,-0.044,0.46,0.00069,-0.0014,-0.025,0,0,0.00012,8.6e-05,0.0011,0.39,0.51,0.0068,2.2,2.8,0.039,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4.1e-06,3.7e-06,0.00037,1,1 -37390000,0.65,-0.0067,0.021,0.76,-3.9,-4.3,0.016,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,9.2e-05,0.067,0.0041,-0.11,-0.2,-0.044,0.46,0.00071,-0.0014,-0.025,0,0,0.00012,8.6e-05,0.001,0.41,0.54,0.0067,2.3,3,0.038,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4e-06,3.6e-06,0.00037,1,1 -37490000,0.65,-0.0067,0.021,0.76,-3.9,-4.4,0.024,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,8.6e-05,0.067,0.0041,-0.11,-0.2,-0.044,0.46,0.00074,-0.0014,-0.025,0,0,0.00012,8.6e-05,0.001,0.43,0.56,0.0067,2.5,3.2,0.038,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4e-06,3.5e-06,0.00037,1,1 -37590000,0.65,-0.0067,0.021,0.76,-3.9,-4.5,0.033,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,8.2e-05,0.067,0.0042,-0.11,-0.2,-0.044,0.46,0.00075,-0.0014,-0.025,0,0,0.00012,8.6e-05,0.001,0.45,0.58,0.0067,2.7,3.5,0.038,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9e-05,1.5e-05,4.1e-06,0.00038,4e-06,3.5e-06,0.00037,1,1 -37690000,0.65,-0.0068,0.021,0.76,-3.9,-4.6,0.042,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.6e-05,0.067,0.0042,-0.11,-0.2,-0.044,0.46,0.00076,-0.0014,-0.025,0,0,0.00012,8.5e-05,0.001,0.47,0.6,0.0066,2.9,3.7,0.037,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9e-05,1.4e-05,4.1e-06,0.00038,3.9e-06,3.4e-06,0.00037,1,1 -37790000,0.65,-0.0069,0.021,0.76,-4,-4.6,0.051,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.5e-05,0.068,0.0041,-0.11,-0.2,-0.044,0.46,0.00076,-0.0014,-0.025,0,0,0.00012,8.5e-05,0.001,0.49,0.63,0.0066,3.1,4,0.037,3e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.9e-06,3.4e-06,0.00037,1,1 -37890000,0.65,-0.0069,0.021,0.76,-4,-4.7,0.059,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.2e-05,0.068,0.0043,-0.11,-0.2,-0.044,0.46,0.00077,-0.0014,-0.025,0,0,0.00011,8.5e-05,0.001,0.51,0.65,0.0065,3.3,4.3,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.9e-06,3.3e-06,0.00037,1,1 -37990000,0.65,-0.0069,0.021,0.76,-4,-4.8,0.068,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.3e-05,0.068,0.0041,-0.11,-0.2,-0.044,0.46,0.00077,-0.0014,-0.025,0,0,0.00011,8.5e-05,0.001,0.53,0.67,0.0065,3.5,4.6,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.9e-06,3.3e-06,0.00037,1,1 -38090000,0.65,-0.0069,0.021,0.76,-4.1,-4.9,0.078,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.7e-05,0.068,0.0041,-0.11,-0.2,-0.044,0.46,0.00078,-0.0013,-0.025,0,0,0.00011,8.5e-05,0.001,0.55,0.7,0.0065,3.8,4.9,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.9e-06,3.2e-06,0.00037,1,1 -38190000,0.65,-0.0069,0.021,0.76,-4.1,-4.9,0.086,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.5e-05,0.068,0.0041,-0.11,-0.2,-0.044,0.46,0.00078,-0.0014,-0.025,0,0,0.00011,8.4e-05,0.001,0.58,0.72,0.0065,4.1,5.3,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3.2e-06,0.00037,1,1 -38290000,0.65,-0.0069,0.021,0.76,-4.1,-5,0.094,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.6e-05,0.068,0.0041,-0.11,-0.2,-0.044,0.46,0.00078,-0.0014,-0.025,0,0,0.00011,8.4e-05,0.001,0.6,0.75,0.0065,4.4,5.6,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3.1e-06,0.00037,1,1 -38390000,0.65,-0.0069,0.021,0.76,-4.1,-5.1,0.1,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.7e-05,0.068,0.0039,-0.11,-0.2,-0.044,0.46,0.00078,-0.0013,-0.025,0,0,0.00011,8.4e-05,0.001,0.62,0.77,0.0065,4.6,6,0.035,3.1e-07,4.4e-07,1.8e-06,0.0045,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3.1e-06,0.00037,1,1 -38490000,0.65,-0.0069,0.021,0.76,-4.2,-5.1,0.11,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.6e-05,0.068,0.004,-0.11,-0.2,-0.044,0.46,0.00079,-0.0013,-0.025,0,0,0.00011,8.4e-05,0.001,0.64,0.8,0.0065,5,6.4,0.035,3.1e-07,4.4e-07,1.8e-06,0.0045,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3e-06,0.00037,1,1 -38590000,0.65,-0.0068,0.021,0.76,-4.2,-5.2,0.11,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.7e-05,0.067,0.0042,-0.11,-0.2,-0.044,0.46,0.00078,-0.0013,-0.025,0,0,0.00011,8.4e-05,0.001,0.67,0.82,0.0065,5.3,6.9,0.035,3.1e-07,4.4e-07,1.8e-06,0.0045,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3e-06,0.00037,1,1 -38690000,0.65,-0.0068,0.021,0.76,-4.2,-5.3,0.12,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.2e-05,0.067,0.0045,-0.11,-0.2,-0.044,0.46,0.0008,-0.0013,-0.025,0,0,0.00011,8.4e-05,0.001,0.69,0.85,0.0065,5.6,7.3,0.035,3.1e-07,4.4e-07,1.8e-06,0.0045,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3e-06,0.00037,1,1 -38790000,0.65,-0.0068,0.021,0.76,-4.3,-5.3,0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.2e-05,0.067,0.0043,-0.11,-0.2,-0.044,0.46,0.0008,-0.0013,-0.025,0,0,0.00011,8.4e-05,0.001,0.72,0.88,0.0065,6,7.8,0.035,3.1e-07,4.4e-07,1.8e-06,0.0045,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,2.9e-06,0.00037,1,1 -38890000,0.65,-0.0069,0.021,0.76,-4.3,-5.4,0.63,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.1e-05,0.067,0.0044,-0.11,-0.2,-0.044,0.46,0.0008,-0.0013,-0.025,0,0,0.00011,8.3e-05,0.001,0.73,0.89,0.0065,6.4,8.2,0.035,3.1e-07,4.3e-07,1.8e-06,0.0045,0.0048,9.1e-05,1.4e-05,4.1e-06,0.00038,3.7e-06,2.9e-06,0.00037,1,1 +6790000,0.78,-0.024,0.0048,-0.62,-0.22,-0.051,-0.11,-0.13,-0.03,-3.7e+02,-0.00029,-0.01,-0.0002,0,0,0.0012,-0.092,-0.021,0.51,-0.00079,-0.075,-0.061,0,0,0.0013,0.0013,0.075,0.18,0.18,0.6,0.11,0.11,0.2,7.5e-05,7.6e-05,2.4e-06,0.04,0.04,0.04,0.0014,0.0005,0.0014,0.0011,0.0015,0.0014,1,1 +6890000,0.78,-0.025,0.0057,-0.62,-0.27,-0.065,-0.12,-0.16,-0.04,-3.7e+02,-0.0001,-0.011,-0.00022,0,0,0.0012,-0.1,-0.023,0.51,-0.0012,-0.083,-0.067,0,0,0.0012,0.0013,0.062,0.2,0.2,0.46,0.13,0.13,0.18,7.4e-05,7.6e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00025,0.0013,0.00089,0.0014,0.0013,1,1 +6990000,0.78,-0.025,0.006,-0.62,-0.3,-0.077,-0.12,-0.2,-0.05,-3.7e+02,-6.9e-06,-0.011,-0.00022,-0.00057,-7.3e-05,0.00095,-0.1,-0.024,0.5,-0.0016,-0.084,-0.067,0,0,0.0013,0.0013,0.059,0.23,0.23,0.36,0.16,0.16,0.16,7.4e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00018,0.0013,0.00085,0.0014,0.0013,1,1 +7090000,0.78,-0.025,0.0062,-0.62,-0.33,-0.088,-0.12,-0.23,-0.063,-3.7e+02,0.00011,-0.011,-0.00023,-0.0013,-0.0003,0.00061,-0.1,-0.024,0.5,-0.002,-0.085,-0.068,0,0,0.0013,0.0013,0.058,0.26,0.26,0.29,0.2,0.2,0.16,7.4e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00016,0.0013,0.00083,0.0014,0.0013,1,1 +7190000,0.78,-0.025,0.0064,-0.62,-0.36,-0.097,-0.15,-0.26,-0.075,-3.7e+02,0.00017,-0.011,-0.00023,-0.0017,-0.00046,0.00083,-0.1,-0.024,0.5,-0.002,-0.085,-0.068,0,0,0.0013,0.0013,0.057,0.3,0.29,0.24,0.25,0.24,0.15,7.4e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00014,0.0013,0.00082,0.0013,0.0013,1,1 +7290000,0.78,-0.025,0.0067,-0.62,-0.38,-0.099,-0.14,-0.3,-0.082,-3.7e+02,0.00012,-0.011,-0.00023,-0.0016,-0.00042,0.00015,-0.1,-0.024,0.5,-0.0019,-0.085,-0.068,0,0,0.0013,0.0013,0.056,0.33,0.33,0.2,0.3,0.3,0.14,7.3e-05,7.5e-05,2.4e-06,0.04,0.04,0.04,0.0013,0.00013,0.0013,0.00081,0.0013,0.0013,1,1 +7390000,0.78,-0.025,0.0069,-0.62,-0.41,-0.11,-0.16,-0.34,-0.093,-3.7e+02,0.00014,-0.011,-0.00022,-0.0016,-0.00046,9.1e-07,-0.1,-0.024,0.5,-0.0018,-0.085,-0.068,0,0,0.0013,0.0014,0.056,0.37,0.37,0.18,0.36,0.36,0.13,7.3e-05,7.4e-05,2.4e-06,0.04,0.04,0.039,0.0013,0.00012,0.0013,0.00081,0.0013,0.0013,1,1 +7490000,0.78,-0.025,0.0069,-0.62,-0.43,-0.12,-0.16,-0.38,-0.11,-3.7e+02,0.00027,-0.011,-0.00023,-0.0019,-0.00054,-0.00076,-0.1,-0.024,0.5,-0.0019,-0.085,-0.069,0,0,0.0013,0.0014,0.055,0.42,0.42,0.15,0.43,0.43,0.12,7.2e-05,7.4e-05,2.4e-06,0.04,0.04,0.039,0.0013,0.00011,0.0013,0.0008,0.0013,0.0013,1,1 +7590000,0.78,-0.024,0.007,-0.62,-0.45,-0.12,-0.16,-0.41,-0.12,-3.7e+02,0.00026,-0.011,-0.00022,-0.0018,-0.00051,-0.0016,-0.1,-0.024,0.5,-0.0019,-0.085,-0.068,0,0,0.0013,0.0014,0.055,0.46,0.46,0.14,0.52,0.51,0.12,7.2e-05,7.3e-05,2.4e-06,0.04,0.04,0.039,0.0013,0.00011,0.0013,0.0008,0.0013,0.0013,1,1 +7690000,0.78,-0.024,0.007,-0.62,-0.011,-0.0016,-0.16,-0.44,-0.14,-3.7e+02,0.00035,-0.011,-0.00022,-0.0019,-0.00051,-0.0036,-0.1,-0.024,0.5,-0.002,-0.085,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.13,1e+02,1e+02,0.11,7.1e-05,7.3e-05,2.4e-06,0.04,0.04,0.039,0.0013,0.0001,0.0013,0.0008,0.0013,0.0013,1,1 +7790000,0.78,-0.024,0.0073,-0.62,-0.038,-0.0062,-0.16,-0.44,-0.14,-3.7e+02,0.00041,-0.011,-0.00023,-0.0019,-0.00051,-0.0056,-0.1,-0.024,0.5,-0.002,-0.085,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.12,1e+02,1e+02,0.11,7e-05,7.2e-05,2.4e-06,0.04,0.04,0.038,0.0013,0.0001,0.0013,0.00079,0.0013,0.0013,1,1 +7890000,0.78,-0.024,0.0073,-0.62,-0.063,-0.011,-0.15,-0.44,-0.14,-3.7e+02,0.00045,-0.011,-0.00022,-0.0019,-0.00051,-0.0081,-0.1,-0.024,0.5,-0.0021,-0.086,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.11,50,50,0.1,6.9e-05,7.1e-05,2.4e-06,0.04,0.04,0.038,0.0013,9.8e-05,0.0013,0.00079,0.0013,0.0013,1,1 +7990000,0.78,-0.024,0.0072,-0.62,-0.089,-0.016,-0.16,-0.45,-0.14,-3.7e+02,0.00046,-0.011,-0.00022,-0.0019,-0.00051,-0.0094,-0.1,-0.024,0.5,-0.0021,-0.086,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.1,51,51,0.099,6.7e-05,6.9e-05,2.4e-06,0.04,0.04,0.038,0.0013,9.5e-05,0.0013,0.00079,0.0013,0.0013,1,1 +8090000,0.78,-0.024,0.0071,-0.62,-0.11,-0.021,-0.17,-0.45,-0.14,-3.7e+02,0.0005,-0.01,-0.00021,-0.0019,-0.00051,-0.0096,-0.1,-0.024,0.5,-0.0022,-0.086,-0.069,0,0,0.0014,0.0014,0.055,24,24,0.1,35,35,0.097,6.6e-05,6.8e-05,2.4e-06,0.04,0.04,0.037,0.0013,9.4e-05,0.0013,0.00079,0.0013,0.0013,1,1 +8190000,0.78,-0.024,0.0073,-0.62,-0.14,-0.025,-0.18,-0.47,-0.14,-3.7e+02,0.00049,-0.01,-0.00021,-0.0019,-0.00051,-0.012,-0.1,-0.024,0.5,-0.0022,-0.086,-0.069,0,0,0.0014,0.0014,0.055,25,25,0.099,36,36,0.094,6.4e-05,6.6e-05,2.4e-06,0.04,0.04,0.037,0.0013,9.2e-05,0.0013,0.00078,0.0013,0.0013,1,1 +8290000,0.78,-0.024,0.0073,-0.62,-0.16,-0.03,-0.17,-0.47,-0.14,-3.7e+02,0.00059,-0.01,-0.00021,-0.0019,-0.00051,-0.016,-0.1,-0.024,0.5,-0.0023,-0.086,-0.069,0,0,0.0014,0.0014,0.054,24,24,0.097,28,28,0.091,6.3e-05,6.4e-05,2.4e-06,0.04,0.04,0.036,0.0013,9e-05,0.0013,0.00078,0.0013,0.0013,1,1 +8390000,0.78,-0.024,0.0071,-0.63,-0.18,-0.036,-0.17,-0.49,-0.15,-3.7e+02,0.0006,-0.01,-0.00021,-0.0019,-0.00051,-0.019,-0.1,-0.024,0.5,-0.0024,-0.086,-0.069,0,0,0.0014,0.0014,0.054,24,24,0.097,29,29,0.091,6.1e-05,6.3e-05,2.4e-06,0.04,0.04,0.035,0.0013,8.9e-05,0.0013,0.00078,0.0013,0.0013,1,1 +8490000,0.78,-0.024,0.0071,-0.63,-0.2,-0.039,-0.17,-0.49,-0.15,-3.7e+02,0.00061,-0.0099,-0.00021,-0.0019,-0.00051,-0.024,-0.1,-0.024,0.5,-0.0024,-0.086,-0.069,0,0,0.0014,0.0014,0.054,23,23,0.096,24,24,0.089,5.9e-05,6.1e-05,2.4e-06,0.04,0.04,0.034,0.0013,8.8e-05,0.0013,0.00077,0.0013,0.0013,1,1 +8590000,0.78,-0.023,0.0073,-0.63,-0.22,-0.038,-0.17,-0.51,-0.15,-3.7e+02,0.00041,-0.0099,-0.0002,-0.0019,-0.00051,-0.028,-0.1,-0.024,0.5,-0.0022,-0.086,-0.069,0,0,0.0014,0.0014,0.054,23,23,0.095,26,26,0.088,5.6e-05,5.9e-05,2.4e-06,0.04,0.04,0.034,0.0013,8.7e-05,0.0013,0.00077,0.0013,0.0013,1,1 +8690000,0.78,-0.023,0.0069,-0.63,-0.24,-0.044,-0.16,-0.53,-0.15,-3.7e+02,0.00042,-0.0096,-0.00019,-0.0019,-0.00051,-0.033,-0.1,-0.024,0.5,-0.0023,-0.086,-0.069,0,0,0.0014,0.0014,0.054,23,23,0.096,29,29,0.088,5.5e-05,5.7e-05,2.4e-06,0.04,0.04,0.033,0.0013,8.6e-05,0.0013,0.00077,0.0013,0.0013,1,1 +8790000,0.78,-0.023,0.007,-0.63,-0.25,-0.047,-0.15,-0.53,-0.15,-3.7e+02,0.00045,-0.0095,-0.00019,-0.0019,-0.00051,-0.039,-0.1,-0.024,0.5,-0.0024,-0.086,-0.069,0,0,0.0014,0.0014,0.054,21,21,0.096,25,25,0.087,5.2e-05,5.4e-05,2.4e-06,0.04,0.04,0.032,0.0013,8.5e-05,0.0013,0.00076,0.0013,0.0013,1,1 +8890000,0.78,-0.023,0.0069,-0.63,-0.27,-0.051,-0.15,-0.55,-0.16,-3.7e+02,0.00044,-0.0094,-0.00018,-0.0019,-0.00051,-0.043,-0.1,-0.024,0.5,-0.0025,-0.086,-0.069,0,0,0.0014,0.0014,0.054,21,21,0.095,27,27,0.086,5e-05,5.2e-05,2.4e-06,0.04,0.04,0.03,0.0012,8.4e-05,0.0013,0.00076,0.0013,0.0013,1,1 +8990000,0.78,-0.023,0.0069,-0.63,-0.28,-0.053,-0.14,-0.55,-0.16,-3.7e+02,0.00049,-0.0093,-0.00018,-0.0019,-0.00051,-0.049,-0.1,-0.024,0.5,-0.0025,-0.086,-0.069,0,0,0.0013,0.0014,0.054,19,19,0.096,24,24,0.087,4.8e-05,5e-05,2.4e-06,0.04,0.04,0.029,0.0012,8.3e-05,0.0013,0.00075,0.0013,0.0013,1,1 +9090000,0.78,-0.022,0.0069,-0.63,-0.29,-0.053,-0.14,-0.58,-0.17,-3.7e+02,0.00041,-0.0092,-0.00018,-0.0019,-0.00051,-0.052,-0.1,-0.024,0.5,-0.0025,-0.086,-0.069,0,0,0.0013,0.0014,0.054,19,19,0.095,27,27,0.086,4.6e-05,4.8e-05,2.4e-06,0.04,0.04,0.028,0.0012,8.2e-05,0.0013,0.00075,0.0013,0.0013,1,1 +9190000,0.78,-0.022,0.0062,-0.63,-0.3,-0.064,-0.14,-0.6,-0.17,-3.7e+02,0.00042,-0.0088,-0.00017,-0.0018,-0.0003,-0.055,-0.11,-0.025,0.5,-0.0027,-0.087,-0.069,0,0,0.0013,0.0013,0.054,19,19,0.094,30,30,0.085,4.3e-05,4.5e-05,2.4e-06,0.04,0.04,0.027,0.0012,8.2e-05,0.0013,0.00074,0.0013,0.0013,1,1 +9290000,0.78,-0.022,0.0059,-0.63,-0.31,-0.072,-0.14,-0.62,-0.18,-3.7e+02,0.00044,-0.0086,-0.00016,-0.0018,-6.2e-05,-0.059,-0.11,-0.025,0.5,-0.0028,-0.087,-0.069,0,0,0.0013,0.0013,0.054,19,19,0.093,34,34,0.085,4.1e-05,4.3e-05,2.4e-06,0.04,0.04,0.025,0.0012,8.1e-05,0.0013,0.00074,0.0013,0.0013,1,1 +9390000,0.78,-0.022,0.0058,-0.63,-0.33,-0.081,-0.13,-0.65,-0.19,-3.7e+02,0.00046,-0.0085,-0.00016,-0.0019,0.00012,-0.063,-0.11,-0.025,0.5,-0.0029,-0.087,-0.069,0,0,0.0013,0.0013,0.054,19,19,0.093,38,38,0.086,3.9e-05,4.1e-05,2.4e-06,0.04,0.04,0.024,0.0012,8e-05,0.0013,0.00074,0.0013,0.0013,1,1 +9490000,0.78,-0.022,0.0053,-0.63,-0.34,-0.094,-0.13,-0.67,-0.21,-3.7e+02,0.00049,-0.0082,-0.00015,-0.0018,0.00039,-0.067,-0.11,-0.025,0.5,-0.0031,-0.087,-0.069,0,0,0.0013,0.0013,0.054,19,19,0.091,42,42,0.085,3.7e-05,3.9e-05,2.4e-06,0.04,0.04,0.023,0.0012,8e-05,0.0013,0.00073,0.0013,0.0013,1,1 +9590000,0.78,-0.022,0.005,-0.63,-0.34,-0.093,-0.13,-0.7,-0.21,-3.7e+02,0.00034,-0.008,-0.00014,-0.0018,0.00067,-0.07,-0.11,-0.025,0.5,-0.0031,-0.087,-0.069,0,0,0.0012,0.0013,0.054,20,20,0.09,47,47,0.085,3.5e-05,3.7e-05,2.4e-06,0.04,0.04,0.022,0.0012,7.9e-05,0.0013,0.00073,0.0013,0.0013,1,1 +9690000,0.78,-0.022,0.0052,-0.63,-0.36,-0.09,-0.12,-0.73,-0.22,-3.7e+02,0.00025,-0.008,-0.00014,-0.0021,0.00091,-0.075,-0.11,-0.025,0.5,-0.0029,-0.087,-0.069,0,0,0.0012,0.0012,0.054,20,20,0.089,53,53,0.086,3.3e-05,3.5e-05,2.4e-06,0.04,0.04,0.02,0.0012,7.9e-05,0.0013,0.00072,0.0013,0.0013,1,1 +9790000,0.78,-0.022,0.0048,-0.63,-0.37,-0.1,-0.11,-0.75,-0.23,-3.7e+02,0.00026,-0.0078,-0.00014,-0.0021,0.0012,-0.081,-0.11,-0.025,0.5,-0.0031,-0.087,-0.069,0,0,0.0012,0.0012,0.054,20,20,0.087,58,58,0.085,3.1e-05,3.3e-05,2.4e-06,0.04,0.04,0.019,0.0012,7.8e-05,0.0013,0.00072,0.0013,0.0013,1,1 +9890000,0.78,-0.021,0.0046,-0.63,-0.38,-0.1,-0.11,-0.78,-0.24,-3.7e+02,0.00017,-0.0077,-0.00013,-0.0021,0.0014,-0.083,-0.11,-0.025,0.5,-0.003,-0.087,-0.069,0,0,0.0012,0.0012,0.054,20,20,0.084,64,64,0.085,3e-05,3.2e-05,2.4e-06,0.04,0.04,0.018,0.0012,7.8e-05,0.0013,0.00072,0.0013,0.0013,1,1 +9990000,0.78,-0.021,0.0046,-0.63,-0.39,-0.1,-0.1,-0.82,-0.25,-3.7e+02,0.00012,-0.0077,-0.00013,-0.0023,0.0016,-0.087,-0.11,-0.025,0.5,-0.003,-0.087,-0.069,0,0,0.0012,0.0012,0.054,20,20,0.083,71,71,0.086,2.8e-05,3e-05,2.4e-06,0.04,0.04,0.017,0.0012,7.8e-05,0.0013,0.00071,0.0013,0.0013,1,1 +10090000,0.78,-0.021,0.0043,-0.63,-0.4,-0.1,-0.096,-0.84,-0.26,-3.7e+02,1.3e-05,-0.0075,-0.00012,-0.0023,0.0018,-0.09,-0.11,-0.025,0.5,-0.003,-0.088,-0.069,0,0,0.0012,0.0012,0.054,20,20,0.08,78,78,0.085,2.6e-05,2.9e-05,2.4e-06,0.04,0.04,0.016,0.0012,7.7e-05,0.0013,0.00071,0.0013,0.0013,1,1 +10190000,0.78,-0.021,0.0046,-0.63,-0.42,-0.1,-0.096,-0.88,-0.26,-3.7e+02,-2e-05,-0.0076,-0.00012,-0.0024,0.0019,-0.091,-0.11,-0.025,0.5,-0.0029,-0.088,-0.069,0,0,0.0011,0.0011,0.054,20,20,0.078,85,85,0.084,2.5e-05,2.7e-05,2.4e-06,0.04,0.04,0.015,0.0012,7.7e-05,0.0013,0.00071,0.0013,0.0013,1,1 +10290000,0.78,-0.021,0.0048,-0.63,-0.44,-0.1,-0.083,-0.93,-0.27,-3.7e+02,-4.8e-05,-0.0076,-0.00012,-0.0026,0.0022,-0.097,-0.11,-0.025,0.5,-0.0028,-0.088,-0.069,0,0,0.0011,0.0011,0.054,20,20,0.076,92,92,0.085,2.4e-05,2.6e-05,2.4e-06,0.04,0.04,0.014,0.0012,7.6e-05,0.0013,0.0007,0.0013,0.0013,1,1 +10390000,0.78,-0.021,0.0046,-0.63,-0.0086,-0.022,0.0097,7.5e-05,-0.0019,-3.7e+02,-3.9e-05,-0.0075,-0.00012,-0.0026,0.0023,-0.1,-0.11,-0.025,0.5,-0.0029,-0.088,-0.069,0,0,0.0011,0.0011,0.054,0.25,0.25,0.56,0.25,0.25,0.078,2.2e-05,2.4e-05,2.3e-06,0.04,0.04,0.013,0.0012,7.6e-05,0.0013,0.0007,0.0013,0.0013,1,1 +10490000,0.78,-0.021,0.0047,-0.63,-0.028,-0.025,0.023,-0.0017,-0.0043,-3.7e+02,-6.2e-05,-0.0075,-0.00012,-0.0028,0.0025,-0.1,-0.11,-0.025,0.5,-0.0029,-0.088,-0.069,0,0,0.0011,0.0011,0.054,0.25,0.25,0.55,0.26,0.26,0.08,2.1e-05,2.3e-05,2.3e-06,0.04,0.04,0.012,0.0012,7.6e-05,0.0013,0.0007,0.0013,0.0013,1,1 +10590000,0.78,-0.02,0.0044,-0.63,-0.026,-0.014,0.026,0.0015,-0.00091,-3.7e+02,-0.00025,-0.0074,-0.00011,-0.0019,0.0024,-0.1,-0.11,-0.025,0.5,-0.0027,-0.088,-0.069,0,0,0.0011,0.0011,0.054,0.13,0.13,0.27,0.13,0.13,0.073,2e-05,2.2e-05,2.3e-06,0.04,0.04,0.012,0.0012,7.6e-05,0.0013,0.0007,0.0013,0.0013,1,1 +10690000,0.78,-0.02,0.0043,-0.63,-0.044,-0.015,0.03,-0.002,-0.0024,-3.7e+02,-0.00026,-0.0073,-0.00011,-0.0019,0.0025,-0.11,-0.11,-0.025,0.5,-0.0027,-0.088,-0.069,0,0,0.001,0.001,0.054,0.13,0.13,0.26,0.14,0.14,0.078,1.9e-05,2.1e-05,2.3e-06,0.04,0.04,0.011,0.0012,7.6e-05,0.0013,0.00069,0.0013,0.0013,1,1 +10790000,0.78,-0.02,0.0039,-0.63,-0.041,-0.01,0.024,0.001,-0.0011,-3.7e+02,-0.00032,-0.0072,-0.00011,-0.00017,0.0013,-0.11,-0.11,-0.025,0.5,-0.0028,-0.088,-0.069,0,0,0.001,0.001,0.054,0.091,0.091,0.17,0.09,0.09,0.072,1.7e-05,1.9e-05,2.3e-06,0.039,0.039,0.011,0.0012,7.6e-05,0.0013,0.00069,0.0013,0.0013,1,1 +10890000,0.78,-0.02,0.0038,-0.63,-0.057,-0.013,0.02,-0.0037,-0.0023,-3.7e+02,-0.00033,-0.0071,-0.0001,-0.00011,0.0014,-0.11,-0.11,-0.025,0.5,-0.0028,-0.088,-0.069,0,0,0.00099,0.00099,0.054,0.099,0.099,0.16,0.096,0.096,0.075,1.7e-05,1.8e-05,2.3e-06,0.039,0.039,0.011,0.0012,7.6e-05,0.0013,0.00069,0.0013,0.0013,1,1 +10990000,0.78,-0.02,0.003,-0.63,-0.048,-0.01,0.015,0.00013,-0.0011,-3.7e+02,-0.00036,-0.0069,-9.7e-05,0.0036,-0.00089,-0.11,-0.11,-0.025,0.5,-0.003,-0.089,-0.069,0,0,0.00093,0.00094,0.053,0.078,0.078,0.12,0.098,0.098,0.071,1.5e-05,1.7e-05,2.3e-06,0.038,0.038,0.011,0.0012,7.6e-05,0.0013,0.00069,0.0013,0.0013,1,1 +11090000,0.78,-0.02,0.0027,-0.63,-0.06,-0.014,0.02,-0.0048,-0.0026,-3.7e+02,-0.00041,-0.0068,-9.2e-05,0.0036,-0.00047,-0.11,-0.11,-0.025,0.5,-0.003,-0.089,-0.07,0,0,0.00092,0.00092,0.053,0.087,0.088,0.11,0.11,0.11,0.074,1.5e-05,1.6e-05,2.3e-06,0.038,0.038,0.011,0.0012,7.6e-05,0.0013,0.00068,0.0013,0.0013,1,1 +11190000,0.78,-0.019,0.0022,-0.63,-0.054,-0.01,0.0082,0.00068,-0.00048,-3.7e+02,-0.00051,-0.0067,-8.9e-05,0.0082,-0.0037,-0.11,-0.11,-0.025,0.5,-0.0031,-0.089,-0.07,0,0,0.00085,0.00086,0.053,0.073,0.073,0.084,0.11,0.11,0.069,1.3e-05,1.5e-05,2.3e-06,0.037,0.037,0.011,0.0012,7.6e-05,0.0013,0.00068,0.0013,0.0013,1,1 +11290000,0.78,-0.019,0.0023,-0.63,-0.07,-0.012,0.008,-0.0058,-0.0016,-3.7e+02,-0.00047,-0.0067,-9.1e-05,0.0083,-0.0039,-0.11,-0.11,-0.025,0.5,-0.0031,-0.089,-0.07,0,0,0.00084,0.00085,0.053,0.083,0.084,0.078,0.12,0.12,0.072,1.3e-05,1.4e-05,2.3e-06,0.037,0.037,0.01,0.0012,7.6e-05,0.0013,0.00068,0.0013,0.0013,1,1 +11390000,0.78,-0.019,0.0019,-0.63,-0.064,-0.011,0.0024,0.00033,-0.00038,-3.7e+02,-0.00057,-0.0067,-9e-05,0.012,-0.0076,-0.11,-0.11,-0.025,0.5,-0.0031,-0.089,-0.07,0,0,0.00076,0.00077,0.052,0.067,0.068,0.063,0.081,0.081,0.068,1.2e-05,1.3e-05,2.3e-06,0.035,0.035,0.01,0.0012,7.5e-05,0.0013,0.00068,0.0013,0.0012,1,1 +11490000,0.78,-0.019,0.0021,-0.63,-0.078,-0.012,0.0032,-0.0072,-0.0013,-3.7e+02,-0.00055,-0.0068,-9.2e-05,0.012,-0.0081,-0.11,-0.11,-0.025,0.5,-0.0032,-0.089,-0.07,0,0,0.00076,0.00077,0.052,0.078,0.079,0.058,0.088,0.088,0.069,1.1e-05,1.2e-05,2.3e-06,0.035,0.035,0.01,0.0012,7.5e-05,0.0013,0.00067,0.0013,0.0012,1,1 +11590000,0.78,-0.019,0.0016,-0.63,-0.069,-0.012,-0.0027,-0.0022,-0.00077,-3.7e+02,-0.0006,-0.0067,-9.2e-05,0.017,-0.012,-0.11,-0.11,-0.025,0.5,-0.0033,-0.089,-0.07,0,0,0.00068,0.00069,0.052,0.066,0.066,0.049,0.068,0.068,0.066,1e-05,1.1e-05,2.3e-06,0.033,0.033,0.01,0.0012,7.5e-05,0.0013,0.00067,0.0013,0.0012,1,1 +11690000,0.78,-0.019,0.0017,-0.63,-0.08,-0.015,-0.0071,-0.0098,-0.0023,-3.7e+02,-0.00056,-0.0067,-9.2e-05,0.017,-0.013,-0.11,-0.11,-0.025,0.5,-0.0034,-0.089,-0.07,0,0,0.00067,0.00068,0.052,0.076,0.077,0.046,0.074,0.074,0.066,9.9e-06,1.1e-05,2.3e-06,0.033,0.033,0.01,0.0012,7.5e-05,0.0013,0.00067,0.0013,0.0012,1,1 +11790000,0.78,-0.019,0.0011,-0.63,-0.072,-0.011,-0.0089,-0.0062,-0.00016,-3.7e+02,-0.0006,-0.0066,-9.1e-05,0.023,-0.016,-0.11,-0.11,-0.025,0.5,-0.0035,-0.09,-0.07,0,0,0.0006,0.00061,0.051,0.064,0.065,0.039,0.06,0.06,0.063,9.1e-06,9.9e-06,2.3e-06,0.03,0.03,0.01,0.0012,7.5e-05,0.0013,0.00067,0.0013,0.0012,1,1 +11890000,0.78,-0.019,0.0012,-0.63,-0.084,-0.011,-0.0098,-0.014,-0.0012,-3.7e+02,-0.0006,-0.0066,-9.2e-05,0.023,-0.016,-0.11,-0.11,-0.025,0.5,-0.0035,-0.09,-0.07,0,0,0.00059,0.00061,0.051,0.075,0.075,0.037,0.066,0.066,0.063,8.7e-06,9.5e-06,2.3e-06,0.03,0.03,0.01,0.0012,7.5e-05,0.0013,0.00067,0.0013,0.0012,1,1 +11990000,0.78,-0.019,0.0006,-0.63,-0.072,-0.0062,-0.015,-0.009,0.00097,-3.7e+02,-0.00075,-0.0065,-8.7e-05,0.027,-0.019,-0.11,-0.11,-0.025,0.5,-0.0034,-0.09,-0.07,0,0,0.00052,0.00054,0.051,0.063,0.064,0.033,0.055,0.055,0.061,8e-06,8.8e-06,2.3e-06,0.028,0.028,0.01,0.0012,7.5e-05,0.0013,0.00066,0.0013,0.0012,1,1 +12090000,0.78,-0.018,0.00044,-0.63,-0.078,-0.0083,-0.021,-0.016,0.00015,-3.7e+02,-0.0008,-0.0065,-8.3e-05,0.026,-0.017,-0.11,-0.11,-0.025,0.5,-0.0033,-0.09,-0.07,0,0,0.00052,0.00054,0.051,0.073,0.074,0.031,0.061,0.061,0.061,7.7e-06,8.4e-06,2.3e-06,0.028,0.028,0.01,0.0012,7.5e-05,0.0013,0.00066,0.0013,0.0012,1,1 +12190000,0.78,-0.018,-0.00024,-0.62,-0.064,-0.011,-0.016,-0.0086,-0.00028,-3.7e+02,-0.00081,-0.0064,-8.3e-05,0.032,-0.022,-0.11,-0.11,-0.025,0.5,-0.0036,-0.091,-0.07,0,0,0.00046,0.00048,0.051,0.062,0.062,0.028,0.052,0.052,0.059,7.2e-06,7.8e-06,2.3e-06,0.026,0.026,0.01,0.0012,7.5e-05,0.0012,0.00066,0.0013,0.0012,1,1 +12290000,0.78,-0.019,-0.00026,-0.62,-0.07,-0.013,-0.015,-0.015,-0.0019,-3.7e+02,-0.00078,-0.0064,-8.3e-05,0.033,-0.022,-0.11,-0.11,-0.025,0.5,-0.0037,-0.091,-0.07,0,0,0.00046,0.00047,0.051,0.07,0.071,0.028,0.058,0.058,0.059,6.9e-06,7.5e-06,2.3e-06,0.026,0.026,0.01,0.0012,7.5e-05,0.0012,0.00066,0.0013,0.0012,1,1 +12390000,0.78,-0.018,-0.00067,-0.62,-0.058,-0.011,-0.013,-0.0083,-0.00087,-3.7e+02,-0.00085,-0.0063,-8.3e-05,0.037,-0.026,-0.11,-0.11,-0.025,0.5,-0.0037,-0.091,-0.07,0,0,0.0004,0.00042,0.05,0.059,0.06,0.026,0.05,0.05,0.057,6.4e-06,7e-06,2.3e-06,0.024,0.024,0.01,0.0012,7.5e-05,0.0012,0.00066,0.0013,0.0012,1,1 +12490000,0.78,-0.018,-0.00053,-0.62,-0.065,-0.013,-0.016,-0.015,-0.002,-3.7e+02,-0.00082,-0.0064,-8.5e-05,0.038,-0.027,-0.11,-0.11,-0.025,0.5,-0.0037,-0.091,-0.07,0,0,0.0004,0.00042,0.05,0.067,0.068,0.026,0.056,0.057,0.057,6.2e-06,6.8e-06,2.3e-06,0.024,0.024,0.01,0.0012,7.5e-05,0.0012,0.00066,0.0013,0.0012,1,1 +12590000,0.78,-0.018,-0.00073,-0.62,-0.06,-0.011,-0.022,-0.013,-0.00087,-3.7e+02,-0.00091,-0.0063,-8.3e-05,0.038,-0.028,-0.11,-0.11,-0.025,0.5,-0.0036,-0.091,-0.07,0,0,0.00036,0.00038,0.05,0.057,0.057,0.025,0.048,0.048,0.055,5.8e-06,6.4e-06,2.3e-06,0.022,0.023,0.0099,0.0012,7.4e-05,0.0012,0.00065,0.0013,0.0012,1,1 +12690000,0.78,-0.018,-0.00066,-0.62,-0.065,-0.01,-0.025,-0.019,-0.0011,-3.7e+02,-0.00098,-0.0064,-8.2e-05,0.036,-0.028,-0.11,-0.11,-0.025,0.5,-0.0034,-0.091,-0.07,0,0,0.00036,0.00037,0.05,0.064,0.064,0.025,0.055,0.055,0.055,5.6e-06,6.1e-06,2.3e-06,0.022,0.022,0.0099,0.0012,7.4e-05,0.0012,0.00065,0.0013,0.0012,1,1 +12790000,0.78,-0.018,-0.00094,-0.62,-0.061,-0.0093,-0.029,-0.017,-0.001,-3.7e+02,-0.00097,-0.0063,-8.2e-05,0.039,-0.029,-0.11,-0.11,-0.025,0.5,-0.0036,-0.091,-0.07,0,0,0.00032,0.00034,0.05,0.054,0.054,0.024,0.048,0.048,0.053,5.3e-06,5.8e-06,2.3e-06,0.021,0.021,0.0097,0.0012,7.4e-05,0.0012,0.00065,0.0013,0.0012,1,1 +12890000,0.78,-0.018,-0.00093,-0.62,-0.068,-0.011,-0.028,-0.024,-0.0025,-3.7e+02,-0.00092,-0.0063,-8.3e-05,0.041,-0.029,-0.11,-0.11,-0.025,0.5,-0.0037,-0.091,-0.07,0,0,0.00032,0.00034,0.05,0.06,0.061,0.025,0.055,0.055,0.054,5.1e-06,5.6e-06,2.3e-06,0.02,0.021,0.0097,0.0012,7.4e-05,0.0012,0.00065,0.0013,0.0012,1,1 +12990000,0.78,-0.018,-0.0014,-0.62,-0.055,-0.0099,-0.028,-0.018,-0.0024,-3.7e+02,-0.00096,-0.0062,-8.1e-05,0.044,-0.031,-0.11,-0.11,-0.025,0.5,-0.0038,-0.091,-0.07,0,0,0.00029,0.00031,0.05,0.054,0.054,0.025,0.057,0.057,0.052,4.9e-06,5.3e-06,2.3e-06,0.019,0.02,0.0094,0.0012,7.4e-05,0.0012,0.00065,0.0013,0.0012,1,1 +13090000,0.78,-0.018,-0.0013,-0.62,-0.061,-0.0097,-0.028,-0.024,-0.0032,-3.7e+02,-0.00094,-0.0063,-8.3e-05,0.045,-0.033,-0.11,-0.11,-0.025,0.5,-0.0038,-0.091,-0.07,0,0,0.00029,0.00031,0.05,0.061,0.061,0.025,0.065,0.065,0.052,4.7e-06,5.2e-06,2.3e-06,0.019,0.02,0.0094,0.0012,7.4e-05,0.0012,0.00065,0.0012,0.0012,1,1 +13190000,0.78,-0.018,-0.0016,-0.62,-0.049,-0.0091,-0.025,-0.017,-0.0025,-3.7e+02,-0.001,-0.0063,-8.3e-05,0.047,-0.036,-0.11,-0.11,-0.025,0.5,-0.0038,-0.091,-0.07,0,0,0.00027,0.00029,0.05,0.054,0.054,0.025,0.066,0.066,0.051,4.5e-06,4.9e-06,2.3e-06,0.018,0.019,0.0091,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13290000,0.78,-0.018,-0.0017,-0.62,-0.054,-0.012,-0.022,-0.023,-0.0046,-3.7e+02,-0.00094,-0.0062,-8.3e-05,0.049,-0.035,-0.12,-0.11,-0.025,0.5,-0.004,-0.091,-0.07,0,0,0.00027,0.00028,0.05,0.06,0.06,0.027,0.075,0.075,0.051,4.4e-06,4.8e-06,2.3e-06,0.018,0.019,0.0091,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13390000,0.78,-0.018,-0.002,-0.62,-0.044,-0.011,-0.018,-0.016,-0.0038,-3.7e+02,-0.00098,-0.0062,-8.1e-05,0.051,-0.036,-0.12,-0.11,-0.025,0.5,-0.004,-0.091,-0.07,0,0,0.00025,0.00027,0.05,0.053,0.053,0.026,0.076,0.076,0.05,4.2e-06,4.6e-06,2.3e-06,0.017,0.018,0.0088,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13490000,0.78,-0.018,-0.002,-0.62,-0.047,-0.013,-0.016,-0.021,-0.0055,-3.7e+02,-0.00097,-0.0061,-8e-05,0.052,-0.035,-0.12,-0.11,-0.025,0.5,-0.004,-0.091,-0.07,0,0,0.00025,0.00026,0.05,0.059,0.059,0.028,0.086,0.086,0.05,4e-06,4.4e-06,2.3e-06,0.017,0.018,0.0087,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13590000,0.78,-0.018,-0.0022,-0.62,-0.038,-0.011,-0.019,-0.014,-0.004,-3.7e+02,-0.001,-0.0062,-8.1e-05,0.053,-0.037,-0.12,-0.11,-0.025,0.5,-0.004,-0.091,-0.07,0,0,0.00023,0.00025,0.049,0.052,0.052,0.028,0.086,0.086,0.05,3.9e-06,4.3e-06,2.3e-06,0.016,0.017,0.0084,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13690000,0.78,-0.018,-0.0022,-0.62,-0.041,-0.015,-0.023,-0.018,-0.0057,-3.7e+02,-0.001,-0.0061,-7.9e-05,0.053,-0.036,-0.12,-0.11,-0.025,0.5,-0.004,-0.091,-0.07,0,0,0.00023,0.00025,0.049,0.057,0.057,0.029,0.096,0.096,0.05,3.7e-06,4.1e-06,2.3e-06,0.016,0.017,0.0083,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13790000,0.78,-0.018,-0.0024,-0.62,-0.03,-0.013,-0.024,-0.0067,-0.0045,-3.7e+02,-0.001,-0.0061,-7.9e-05,0.054,-0.038,-0.12,-0.11,-0.025,0.5,-0.004,-0.091,-0.07,0,0,0.00021,0.00023,0.049,0.044,0.044,0.029,0.071,0.071,0.049,3.6e-06,4e-06,2.3e-06,0.015,0.016,0.0079,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13890000,0.78,-0.018,-0.0024,-0.62,-0.033,-0.014,-0.029,-0.01,-0.0064,-3.7e+02,-0.001,-0.0061,-7.9e-05,0.056,-0.037,-0.12,-0.11,-0.025,0.5,-0.0041,-0.092,-0.07,0,0,0.00021,0.00023,0.049,0.048,0.048,0.03,0.079,0.079,0.05,3.5e-06,3.9e-06,2.3e-06,0.015,0.016,0.0078,0.0012,7.4e-05,0.0012,0.00064,0.0012,0.0012,1,1 +13990000,0.78,-0.018,-0.0026,-0.62,-0.026,-0.013,-0.028,-0.0037,-0.0054,-3.7e+02,-0.001,-0.0061,-7.9e-05,0.056,-0.038,-0.12,-0.11,-0.025,0.5,-0.004,-0.092,-0.07,0,0,0.0002,0.00021,0.049,0.039,0.039,0.03,0.062,0.062,0.05,3.3e-06,3.7e-06,2.4e-06,0.014,0.015,0.0074,0.0012,7.4e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14090000,0.78,-0.018,-0.0027,-0.62,-0.026,-0.015,-0.029,-0.0058,-0.0069,-3.7e+02,-0.001,-0.0061,-7.7e-05,0.056,-0.037,-0.12,-0.11,-0.025,0.5,-0.004,-0.092,-0.07,0,0,0.0002,0.00021,0.049,0.042,0.042,0.031,0.07,0.07,0.05,3.2e-06,3.6e-06,2.4e-06,0.014,0.015,0.0073,0.0012,7.4e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14190000,0.78,-0.017,-0.0028,-0.62,-0.021,-0.013,-0.031,-0.00028,-0.0049,-3.7e+02,-0.0011,-0.006,-7.6e-05,0.057,-0.037,-0.12,-0.11,-0.026,0.5,-0.004,-0.092,-0.069,0,0,0.00019,0.0002,0.049,0.036,0.036,0.03,0.057,0.057,0.05,3.1e-06,3.5e-06,2.4e-06,0.014,0.015,0.0069,0.0012,7.4e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14290000,0.78,-0.017,-0.0028,-0.62,-0.022,-0.014,-0.03,-0.0023,-0.0062,-3.7e+02,-0.0011,-0.006,-7.5e-05,0.057,-0.037,-0.12,-0.11,-0.026,0.5,-0.0039,-0.092,-0.069,0,0,0.00019,0.0002,0.049,0.039,0.039,0.032,0.063,0.063,0.051,3e-06,3.4e-06,2.4e-06,0.013,0.014,0.0067,0.0012,7.4e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14390000,0.78,-0.017,-0.003,-0.62,-0.017,-0.015,-0.032,0.0017,-0.0048,-3.7e+02,-0.0011,-0.006,-7.4e-05,0.06,-0.036,-0.12,-0.11,-0.026,0.5,-0.004,-0.092,-0.069,0,0,0.00018,0.00019,0.049,0.033,0.033,0.031,0.053,0.053,0.05,2.9e-06,3.3e-06,2.4e-06,0.013,0.014,0.0063,0.0012,7.4e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14490000,0.78,-0.017,-0.003,-0.62,-0.019,-0.017,-0.035,-0.00051,-0.0068,-3.7e+02,-0.001,-0.006,-7.4e-05,0.062,-0.036,-0.12,-0.11,-0.026,0.5,-0.0041,-0.092,-0.069,0,0,0.00018,0.00019,0.049,0.036,0.036,0.032,0.059,0.059,0.051,2.8e-06,3.2e-06,2.4e-06,0.013,0.014,0.0062,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14590000,0.78,-0.017,-0.003,-0.62,-0.02,-0.018,-0.035,-0.0013,-0.0064,-3.7e+02,-0.00099,-0.006,-7.5e-05,0.063,-0.037,-0.12,-0.11,-0.026,0.5,-0.0041,-0.092,-0.069,0,0,0.00017,0.00019,0.049,0.031,0.031,0.031,0.05,0.05,0.051,2.8e-06,3.1e-06,2.4e-06,0.012,0.013,0.0058,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14690000,0.78,-0.017,-0.003,-0.62,-0.023,-0.017,-0.032,-0.0035,-0.0084,-3.7e+02,-0.00098,-0.006,-7.4e-05,0.064,-0.036,-0.12,-0.11,-0.026,0.5,-0.0041,-0.092,-0.069,0,0,0.00017,0.00019,0.049,0.034,0.034,0.032,0.056,0.056,0.051,2.7e-06,3e-06,2.4e-06,0.012,0.013,0.0056,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14790000,0.78,-0.017,-0.003,-0.62,-0.023,-0.016,-0.028,-0.0036,-0.0078,-3.7e+02,-0.00098,-0.006,-7.4e-05,0.064,-0.036,-0.12,-0.11,-0.026,0.5,-0.0041,-0.091,-0.069,0,0,0.00016,0.00018,0.049,0.03,0.03,0.031,0.048,0.048,0.051,2.6e-06,2.9e-06,2.4e-06,0.012,0.013,0.0053,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14890000,0.78,-0.017,-0.003,-0.62,-0.026,-0.019,-0.031,-0.0061,-0.0097,-3.7e+02,-0.00097,-0.006,-7.4e-05,0.065,-0.036,-0.12,-0.11,-0.026,0.5,-0.0042,-0.091,-0.069,0,0,0.00016,0.00018,0.049,0.032,0.033,0.031,0.054,0.054,0.052,2.5e-06,2.9e-06,2.4e-06,0.012,0.013,0.0051,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +14990000,0.78,-0.017,-0.003,-0.62,-0.024,-0.016,-0.027,-0.0047,-0.0076,-3.7e+02,-0.00097,-0.006,-7.4e-05,0.065,-0.037,-0.12,-0.11,-0.026,0.5,-0.0042,-0.092,-0.069,0,0,0.00016,0.00017,0.049,0.029,0.029,0.03,0.047,0.047,0.051,2.4e-06,2.8e-06,2.4e-06,0.012,0.012,0.0048,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +15090000,0.78,-0.017,-0.0029,-0.62,-0.026,-0.017,-0.03,-0.0072,-0.0092,-3.7e+02,-0.00097,-0.006,-7.4e-05,0.066,-0.037,-0.12,-0.11,-0.026,0.5,-0.0042,-0.091,-0.069,0,0,0.00016,0.00017,0.049,0.031,0.031,0.031,0.052,0.052,0.052,2.4e-06,2.7e-06,2.4e-06,0.011,0.012,0.0046,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +15190000,0.78,-0.017,-0.0029,-0.62,-0.024,-0.016,-0.027,-0.0058,-0.0074,-3.7e+02,-0.00097,-0.006,-7.5e-05,0.067,-0.038,-0.12,-0.11,-0.026,0.5,-0.0042,-0.091,-0.069,0,0,0.00015,0.00017,0.049,0.027,0.027,0.03,0.046,0.046,0.052,2.3e-06,2.6e-06,2.4e-06,0.011,0.012,0.0043,0.0012,7.3e-05,0.0012,0.00063,0.0012,0.0012,1,1 +15290000,0.78,-0.017,-0.0029,-0.62,-0.026,-0.017,-0.025,-0.0081,-0.0091,-3.7e+02,-0.00097,-0.006,-7.4e-05,0.066,-0.037,-0.12,-0.11,-0.026,0.5,-0.0042,-0.091,-0.069,0,0,0.00015,0.00017,0.049,0.03,0.03,0.03,0.051,0.051,0.052,2.2e-06,2.6e-06,2.4e-06,0.011,0.012,0.0041,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +15390000,0.78,-0.017,-0.003,-0.62,-0.025,-0.018,-0.023,-0.0076,-0.0093,-3.7e+02,-0.00099,-0.006,-7.1e-05,0.067,-0.036,-0.13,-0.11,-0.026,0.5,-0.0041,-0.091,-0.069,0,0,0.00015,0.00016,0.049,0.028,0.029,0.029,0.053,0.053,0.051,2.2e-06,2.5e-06,2.4e-06,0.011,0.012,0.0038,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +15490000,0.78,-0.017,-0.0029,-0.62,-0.028,-0.018,-0.023,-0.01,-0.011,-3.7e+02,-0.00099,-0.006,-7.2e-05,0.066,-0.037,-0.13,-0.11,-0.026,0.5,-0.0041,-0.091,-0.069,0,0,0.00015,0.00016,0.049,0.031,0.031,0.029,0.06,0.06,0.053,2.1e-06,2.4e-06,2.4e-06,0.011,0.012,0.0037,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +15590000,0.78,-0.017,-0.0029,-0.62,-0.026,-0.016,-0.022,-0.0098,-0.01,-3.7e+02,-0.001,-0.006,-7.3e-05,0.066,-0.038,-0.13,-0.11,-0.026,0.5,-0.0041,-0.091,-0.069,0,0,0.00015,0.00016,0.049,0.029,0.029,0.028,0.062,0.062,0.052,2e-06,2.4e-06,2.4e-06,0.011,0.011,0.0035,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +15690000,0.78,-0.017,-0.0029,-0.62,-0.027,-0.017,-0.022,-0.012,-0.011,-3.7e+02,-0.001,-0.006,-7.3e-05,0.065,-0.038,-0.13,-0.11,-0.026,0.5,-0.0041,-0.091,-0.069,0,0,0.00014,0.00016,0.049,0.031,0.032,0.028,0.069,0.069,0.052,2e-06,2.3e-06,2.4e-06,0.01,0.011,0.0033,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +15790000,0.78,-0.017,-0.0029,-0.62,-0.025,-0.015,-0.025,-0.0086,-0.0097,-3.7e+02,-0.001,-0.006,-7.3e-05,0.066,-0.039,-0.12,-0.11,-0.026,0.5,-0.0041,-0.092,-0.069,0,0,0.00014,0.00016,0.049,0.026,0.027,0.027,0.056,0.056,0.051,1.9e-06,2.2e-06,2.4e-06,0.01,0.011,0.0031,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +15890000,0.78,-0.017,-0.0028,-0.62,-0.026,-0.016,-0.023,-0.011,-0.011,-3.7e+02,-0.001,-0.006,-7.2e-05,0.065,-0.038,-0.13,-0.11,-0.026,0.5,-0.0041,-0.091,-0.069,0,0,0.00014,0.00015,0.049,0.028,0.028,0.027,0.062,0.062,0.052,1.9e-06,2.2e-06,2.4e-06,0.01,0.011,0.003,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +15990000,0.78,-0.017,-0.0029,-0.62,-0.024,-0.016,-0.018,-0.0079,-0.01,-3.7e+02,-0.001,-0.006,-7.1e-05,0.066,-0.038,-0.13,-0.11,-0.026,0.5,-0.004,-0.092,-0.069,0,0,0.00014,0.00015,0.049,0.024,0.024,0.026,0.052,0.052,0.051,1.8e-06,2.1e-06,2.4e-06,0.0099,0.011,0.0028,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16090000,0.78,-0.017,-0.003,-0.62,-0.026,-0.018,-0.015,-0.01,-0.012,-3.7e+02,-0.0011,-0.006,-6.8e-05,0.065,-0.036,-0.13,-0.11,-0.026,0.5,-0.0039,-0.092,-0.069,0,0,0.00014,0.00015,0.049,0.026,0.026,0.025,0.058,0.058,0.052,1.8e-06,2.1e-06,2.4e-06,0.0097,0.011,0.0027,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16190000,0.78,-0.017,-0.003,-0.62,-0.024,-0.016,-0.014,-0.0074,-0.0094,-3.7e+02,-0.0011,-0.006,-6.7e-05,0.065,-0.036,-0.13,-0.11,-0.026,0.5,-0.0039,-0.092,-0.069,0,0,0.00013,0.00015,0.049,0.023,0.023,0.025,0.049,0.05,0.051,1.7e-06,2e-06,2.4e-06,0.0096,0.011,0.0025,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16290000,0.78,-0.017,-0.0031,-0.62,-0.026,-0.018,-0.015,-0.0098,-0.012,-3.7e+02,-0.0011,-0.0059,-6.5e-05,0.066,-0.035,-0.13,-0.11,-0.026,0.5,-0.0039,-0.092,-0.069,0,0,0.00013,0.00015,0.049,0.024,0.025,0.024,0.055,0.055,0.052,1.7e-06,2e-06,2.4e-06,0.0095,0.01,0.0024,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16390000,0.78,-0.017,-0.003,-0.62,-0.023,-0.015,-0.014,-0.0074,-0.0089,-3.7e+02,-0.0011,-0.006,-6.4e-05,0.064,-0.035,-0.13,-0.11,-0.026,0.5,-0.0038,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.022,0.022,0.023,0.047,0.047,0.051,1.6e-06,1.9e-06,2.4e-06,0.0093,0.01,0.0022,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16490000,0.78,-0.017,-0.003,-0.62,-0.022,-0.016,-0.017,-0.0094,-0.01,-3.7e+02,-0.0011,-0.006,-6.4e-05,0.064,-0.035,-0.13,-0.11,-0.026,0.5,-0.0037,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.023,0.023,0.023,0.052,0.052,0.052,1.6e-06,1.9e-06,2.4e-06,0.0092,0.01,0.0021,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16590000,0.78,-0.017,-0.0031,-0.62,-0.023,-0.012,-0.018,-0.0097,-0.0064,-3.7e+02,-0.0011,-0.006,-6.1e-05,0.064,-0.035,-0.13,-0.11,-0.026,0.5,-0.0037,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.021,0.021,0.022,0.046,0.046,0.051,1.6e-06,1.8e-06,2.4e-06,0.0091,0.01,0.002,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16690000,0.78,-0.017,-0.003,-0.62,-0.024,-0.013,-0.014,-0.012,-0.0074,-3.7e+02,-0.0011,-0.006,-6.2e-05,0.064,-0.036,-0.13,-0.11,-0.026,0.5,-0.0038,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.022,0.022,0.022,0.05,0.05,0.051,1.5e-06,1.8e-06,2.4e-06,0.009,0.0099,0.0019,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16790000,0.78,-0.017,-0.003,-0.62,-0.023,-0.0094,-0.013,-0.012,-0.0041,-3.7e+02,-0.0011,-0.006,-6e-05,0.064,-0.036,-0.13,-0.11,-0.026,0.5,-0.0038,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.02,0.02,0.021,0.044,0.044,0.05,1.5e-06,1.8e-06,2.4e-06,0.0089,0.0098,0.0018,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16890000,0.78,-0.017,-0.003,-0.62,-0.024,-0.01,-0.01,-0.014,-0.0049,-3.7e+02,-0.0011,-0.006,-6.1e-05,0.063,-0.036,-0.13,-0.11,-0.026,0.5,-0.0038,-0.092,-0.069,0,0,0.00013,0.00014,0.049,0.021,0.021,0.021,0.049,0.049,0.051,1.5e-06,1.7e-06,2.4e-06,0.0088,0.0097,0.0017,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +16990000,0.78,-0.017,-0.0029,-0.62,-0.023,-0.01,-0.0099,-0.013,-0.0048,-3.7e+02,-0.0011,-0.006,-6.2e-05,0.063,-0.037,-0.13,-0.11,-0.026,0.5,-0.0038,-0.092,-0.069,0,0,0.00012,0.00014,0.049,0.019,0.019,0.02,0.043,0.043,0.05,1.4e-06,1.7e-06,2.4e-06,0.0087,0.0095,0.0016,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +17090000,0.78,-0.017,-0.0029,-0.62,-0.024,-0.012,-0.0098,-0.015,-0.0059,-3.7e+02,-0.0012,-0.006,-6.1e-05,0.062,-0.037,-0.13,-0.11,-0.026,0.5,-0.0037,-0.092,-0.069,0,0,0.00012,0.00014,0.049,0.02,0.021,0.02,0.048,0.048,0.05,1.4e-06,1.7e-06,2.4e-06,0.0086,0.0094,0.0015,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +17190000,0.78,-0.017,-0.0029,-0.62,-0.023,-0.014,-0.011,-0.014,-0.0061,-3.7e+02,-0.0012,-0.006,-6e-05,0.062,-0.036,-0.13,-0.11,-0.026,0.5,-0.0037,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.018,0.019,0.019,0.042,0.042,0.049,1.3e-06,1.6e-06,2.4e-06,0.0085,0.0093,0.0015,0.0012,7.3e-05,0.0012,0.00062,0.0012,0.0012,1,1 +17290000,0.78,-0.017,-0.0028,-0.62,-0.026,-0.016,-0.0061,-0.016,-0.0072,-3.7e+02,-0.0012,-0.006,-6.1e-05,0.061,-0.036,-0.13,-0.11,-0.026,0.5,-0.0037,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.02,0.02,0.019,0.047,0.047,0.049,1.3e-06,1.6e-06,2.4e-06,0.0084,0.0092,0.0014,0.0012,7.3e-05,0.0012,0.00061,0.0012,0.0012,1,1 +17390000,0.78,-0.017,-0.0029,-0.62,-0.023,-0.017,-0.0042,-0.013,-0.0075,-3.7e+02,-0.0012,-0.006,-5.9e-05,0.061,-0.036,-0.13,-0.11,-0.026,0.5,-0.0036,-0.091,-0.069,0,0,0.00012,0.00013,0.049,0.018,0.018,0.018,0.042,0.042,0.048,1.3e-06,1.5e-06,2.4e-06,0.0083,0.0091,0.0013,0.0012,7.3e-05,0.0012,0.00061,0.0012,0.0012,1,1 +17490000,0.78,-0.017,-0.0029,-0.62,-0.025,-0.018,-0.0025,-0.016,-0.0093,-3.7e+02,-0.0012,-0.006,-6e-05,0.061,-0.036,-0.13,-0.11,-0.026,0.5,-0.0036,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.019,0.019,0.018,0.046,0.046,0.049,1.3e-06,1.5e-06,2.4e-06,0.0082,0.0091,0.0013,0.0012,7.3e-05,0.0012,0.00061,0.0012,0.0012,1,1 +17590000,0.78,-0.017,-0.0029,-0.62,-0.024,-0.018,0.003,-0.014,-0.009,-3.7e+02,-0.0012,-0.006,-5.9e-05,0.061,-0.036,-0.13,-0.11,-0.026,0.5,-0.0036,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.017,0.018,0.017,0.041,0.041,0.048,1.2e-06,1.5e-06,2.4e-06,0.0081,0.009,0.0012,0.0011,7.3e-05,0.0012,0.00061,0.0012,0.0012,1,1 +17690000,0.78,-0.017,-0.0029,-0.62,-0.025,-0.02,0.0024,-0.016,-0.011,-3.7e+02,-0.0012,-0.006,-5.8e-05,0.061,-0.036,-0.13,-0.11,-0.026,0.5,-0.0036,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.019,0.019,0.017,0.045,0.045,0.048,1.2e-06,1.4e-06,2.4e-06,0.008,0.0089,0.0011,0.0011,7.3e-05,0.0012,0.00061,0.0012,0.0012,1,1 +17790000,0.78,-0.017,-0.003,-0.62,-0.023,-0.021,0.0011,-0.014,-0.012,-3.7e+02,-0.0012,-0.006,-5.4e-05,0.061,-0.034,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.018,0.019,0.016,0.048,0.048,0.048,1.2e-06,1.4e-06,2.4e-06,0.008,0.0088,0.0011,0.0011,7.3e-05,0.0012,0.00061,0.0012,0.0012,1,1 +17890000,0.78,-0.017,-0.003,-0.62,-0.026,-0.023,0.0012,-0.017,-0.015,-3.7e+02,-0.0012,-0.006,-5.3e-05,0.062,-0.034,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00012,0.00013,0.049,0.02,0.02,0.016,0.052,0.053,0.048,1.2e-06,1.4e-06,2.4e-06,0.0079,0.0087,0.001,0.0011,7.3e-05,0.0012,0.00061,0.0012,0.0012,1,1 +17990000,0.78,-0.017,-0.003,-0.62,-0.025,-0.02,0.0024,-0.015,-0.014,-3.7e+02,-0.0012,-0.006,-5.2e-05,0.061,-0.034,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.019,0.02,0.016,0.055,0.055,0.047,1.1e-06,1.4e-06,2.4e-06,0.0078,0.0086,0.00099,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18090000,0.78,-0.017,-0.0029,-0.62,-0.027,-0.02,0.0047,-0.018,-0.016,-3.7e+02,-0.0012,-0.006,-5.5e-05,0.061,-0.035,-0.13,-0.11,-0.026,0.5,-0.0036,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.021,0.021,0.016,0.06,0.061,0.047,1.1e-06,1.3e-06,2.4e-06,0.0078,0.0086,0.00096,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18190000,0.78,-0.017,-0.0029,-0.62,-0.024,-0.019,0.0061,-0.013,-0.013,-3.7e+02,-0.0012,-0.006,-5.1e-05,0.061,-0.035,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.018,0.018,0.015,0.051,0.051,0.047,1.1e-06,1.3e-06,2.4e-06,0.0077,0.0085,0.0009,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18290000,0.78,-0.017,-0.0028,-0.62,-0.025,-0.02,0.0072,-0.016,-0.014,-3.7e+02,-0.0012,-0.006,-5.3e-05,0.062,-0.036,-0.13,-0.11,-0.026,0.5,-0.0036,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.019,0.019,0.015,0.056,0.056,0.046,1.1e-06,1.3e-06,2.4e-06,0.0076,0.0084,0.00087,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18390000,0.78,-0.017,-0.0029,-0.62,-0.023,-0.021,0.0084,-0.012,-0.012,-3.7e+02,-0.0012,-0.006,-4.9e-05,0.062,-0.035,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.017,0.017,0.014,0.048,0.048,0.046,1e-06,1.2e-06,2.3e-06,0.0075,0.0083,0.00083,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18490000,0.78,-0.017,-0.0029,-0.62,-0.024,-0.022,0.0081,-0.014,-0.015,-3.7e+02,-0.0012,-0.006,-4.8e-05,0.062,-0.035,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.018,0.018,0.014,0.053,0.053,0.046,1e-06,1.2e-06,2.3e-06,0.0075,0.0083,0.0008,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18590000,0.78,-0.016,-0.0029,-0.62,-0.022,-0.022,0.0062,-0.011,-0.013,-3.7e+02,-0.0012,-0.006,-4.3e-05,0.062,-0.034,-0.13,-0.11,-0.026,0.5,-0.0034,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.016,0.016,0.014,0.046,0.046,0.045,9.8e-07,1.2e-06,2.3e-06,0.0074,0.0082,0.00076,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18690000,0.78,-0.017,-0.0029,-0.62,-0.024,-0.022,0.0043,-0.014,-0.015,-3.7e+02,-0.0012,-0.006,-4.4e-05,0.062,-0.035,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.017,0.018,0.013,0.05,0.05,0.045,9.6e-07,1.2e-06,2.3e-06,0.0074,0.0081,0.00074,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18790000,0.78,-0.017,-0.0029,-0.62,-0.022,-0.021,0.004,-0.012,-0.012,-3.7e+02,-0.0012,-0.006,-4.3e-05,0.062,-0.035,-0.13,-0.11,-0.026,0.5,-0.0035,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.015,0.016,0.013,0.044,0.044,0.045,9.4e-07,1.1e-06,2.3e-06,0.0073,0.008,0.0007,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18890000,0.78,-0.016,-0.003,-0.62,-0.022,-0.024,0.0046,-0.013,-0.015,-3.7e+02,-0.0013,-0.006,-4e-05,0.062,-0.034,-0.13,-0.11,-0.026,0.5,-0.0034,-0.092,-0.069,0,0,0.00011,0.00012,0.049,0.016,0.017,0.013,0.048,0.048,0.045,9.2e-07,1.1e-06,2.3e-06,0.0072,0.008,0.00068,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +18990000,0.78,-0.016,-0.003,-0.62,-0.019,-0.023,0.0033,-0.0093,-0.013,-3.7e+02,-0.0013,-0.006,-3.6e-05,0.061,-0.034,-0.13,-0.11,-0.026,0.5,-0.0033,-0.092,-0.069,0,0,0.00011,0.00011,0.049,0.015,0.015,0.012,0.043,0.043,0.044,9e-07,1.1e-06,2.3e-06,0.0072,0.0079,0.00065,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +19090000,0.78,-0.016,-0.003,-0.62,-0.019,-0.025,0.0063,-0.011,-0.015,-3.7e+02,-0.0013,-0.006,-3.6e-05,0.06,-0.033,-0.13,-0.11,-0.026,0.5,-0.0033,-0.092,-0.069,0,0,0.00011,0.00011,0.049,0.016,0.016,0.012,0.046,0.047,0.044,8.9e-07,1.1e-06,2.3e-06,0.0071,0.0079,0.00063,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +19190000,0.78,-0.016,-0.003,-0.62,-0.015,-0.024,0.0063,-0.0072,-0.014,-3.7e+02,-0.0013,-0.006,-3.2e-05,0.06,-0.033,-0.13,-0.11,-0.026,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.015,0.012,0.041,0.042,0.044,8.6e-07,1.1e-06,2.3e-06,0.0071,0.0078,0.0006,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +19290000,0.78,-0.016,-0.003,-0.62,-0.016,-0.024,0.0091,-0.0089,-0.016,-3.7e+02,-0.0013,-0.006,-3.3e-05,0.06,-0.034,-0.13,-0.11,-0.026,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.016,0.012,0.045,0.045,0.044,8.5e-07,1e-06,2.3e-06,0.007,0.0077,0.00058,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +19390000,0.78,-0.016,-0.003,-0.62,-0.015,-0.022,0.013,-0.008,-0.014,-3.7e+02,-0.0013,-0.006,-2.9e-05,0.06,-0.033,-0.13,-0.11,-0.026,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.014,0.015,0.012,0.04,0.041,0.043,8.3e-07,1e-06,2.3e-06,0.007,0.0077,0.00056,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +19490000,0.78,-0.016,-0.003,-0.62,-0.015,-0.024,0.0093,-0.0095,-0.017,-3.7e+02,-0.0013,-0.006,-2.6e-05,0.06,-0.033,-0.13,-0.11,-0.026,0.5,-0.0033,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.016,0.011,0.044,0.044,0.043,8.2e-07,1e-06,2.3e-06,0.0069,0.0076,0.00055,0.0011,7.2e-05,0.0012,0.00061,0.0012,0.0012,1,1 +19590000,0.78,-0.016,-0.0031,-0.62,-0.013,-0.022,0.0085,-0.008,-0.015,-3.7e+02,-0.0013,-0.0059,-2e-05,0.06,-0.032,-0.13,-0.11,-0.026,0.5,-0.0032,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.014,0.015,0.011,0.04,0.04,0.042,7.9e-07,9.7e-07,2.3e-06,0.0069,0.0075,0.00052,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +19690000,0.78,-0.016,-0.0031,-0.62,-0.014,-0.021,0.01,-0.0088,-0.017,-3.7e+02,-0.0013,-0.006,-2.1e-05,0.059,-0.032,-0.13,-0.11,-0.026,0.5,-0.0032,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.016,0.011,0.043,0.044,0.042,7.8e-07,9.6e-07,2.3e-06,0.0068,0.0075,0.00051,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +19790000,0.78,-0.016,-0.0031,-0.62,-0.012,-0.018,0.01,-0.0075,-0.015,-3.7e+02,-0.0013,-0.006,-1.8e-05,0.059,-0.032,-0.13,-0.11,-0.026,0.5,-0.0032,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.014,0.014,0.011,0.039,0.039,0.042,7.7e-07,9.4e-07,2.3e-06,0.0068,0.0074,0.00049,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +19890000,0.78,-0.016,-0.0031,-0.62,-0.011,-0.02,0.012,-0.0091,-0.018,-3.7e+02,-0.0013,-0.0059,-1.4e-05,0.06,-0.032,-0.13,-0.11,-0.026,0.5,-0.0031,-0.092,-0.068,0,0,0.0001,0.00011,0.049,0.015,0.015,0.011,0.043,0.043,0.042,7.6e-07,9.3e-07,2.3e-06,0.0067,0.0074,0.00048,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +19990000,0.78,-0.016,-0.0032,-0.62,-0.0095,-0.02,0.014,-0.0079,-0.017,-3.7e+02,-0.0013,-0.0059,-4.8e-06,0.06,-0.031,-0.13,-0.11,-0.026,0.5,-0.003,-0.092,-0.068,0,0,9.9e-05,0.00011,0.049,0.014,0.014,0.01,0.039,0.039,0.041,7.4e-07,9e-07,2.3e-06,0.0067,0.0073,0.00046,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20090000,0.78,-0.016,-0.0033,-0.62,-0.0095,-0.021,0.015,-0.0085,-0.02,-3.7e+02,-0.0013,-0.0059,-9.5e-08,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.9e-05,0.00011,0.049,0.014,0.015,0.01,0.042,0.042,0.042,7.3e-07,8.9e-07,2.3e-06,0.0066,0.0073,0.00045,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20190000,0.78,-0.016,-0.0033,-0.62,-0.01,-0.019,0.017,-0.0087,-0.018,-3.7e+02,-0.0013,-0.0059,5.9e-06,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.8e-05,0.00011,0.048,0.013,0.014,0.01,0.038,0.038,0.041,7.1e-07,8.7e-07,2.3e-06,0.0066,0.0072,0.00043,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20290000,0.78,-0.016,-0.0033,-0.62,-0.0088,-0.019,0.015,-0.0091,-0.02,-3.7e+02,-0.0013,-0.0059,7.6e-06,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.8e-05,0.00011,0.048,0.014,0.015,0.0099,0.042,0.042,0.041,7e-07,8.6e-07,2.3e-06,0.0065,0.0072,0.00042,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20390000,0.78,-0.016,-0.0033,-0.62,-0.0085,-0.017,0.017,-0.009,-0.018,-3.7e+02,-0.0013,-0.0059,1.1e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.7e-05,0.0001,0.048,0.013,0.014,0.0097,0.038,0.038,0.041,6.8e-07,8.4e-07,2.3e-06,0.0065,0.0071,0.00041,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20490000,0.78,-0.016,-0.0033,-0.62,-0.0087,-0.017,0.017,-0.01,-0.019,-3.7e+02,-0.0013,-0.0059,9.8e-06,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.7e-05,0.0001,0.048,0.014,0.015,0.0096,0.041,0.042,0.041,6.8e-07,8.3e-07,2.3e-06,0.0065,0.0071,0.0004,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20590000,0.78,-0.016,-0.0033,-0.62,-0.0082,-0.014,0.014,-0.0085,-0.016,-3.7e+02,-0.0013,-0.0059,1.2e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.003,-0.092,-0.068,0,0,9.6e-05,0.0001,0.048,0.013,0.014,0.0093,0.037,0.038,0.04,6.6e-07,8.1e-07,2.3e-06,0.0064,0.007,0.00038,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20690000,0.78,-0.016,-0.0033,-0.62,-0.0089,-0.015,0.015,-0.0094,-0.018,-3.7e+02,-0.0013,-0.0059,1.3e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.003,-0.092,-0.068,0,0,9.6e-05,0.0001,0.048,0.014,0.015,0.0093,0.041,0.041,0.04,6.5e-07,8e-07,2.3e-06,0.0064,0.007,0.00037,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20790000,0.78,-0.016,-0.0034,-0.62,-0.0066,-0.014,0.015,-0.0078,-0.016,-3.7e+02,-0.0013,-0.0059,1.8e-05,0.06,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.4e-05,0.0001,0.048,0.013,0.014,0.0091,0.037,0.038,0.04,6.4e-07,7.8e-07,2.3e-06,0.0063,0.0069,0.00036,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20890000,0.78,-0.016,-0.0034,-0.62,-0.0068,-0.014,0.014,-0.0084,-0.018,-3.7e+02,-0.0013,-0.0059,2.1e-05,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.5e-05,0.0001,0.048,0.014,0.015,0.009,0.041,0.041,0.04,6.3e-07,7.7e-07,2.3e-06,0.0063,0.0069,0.00035,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +20990000,0.78,-0.016,-0.0034,-0.62,-0.0052,-0.012,0.015,-0.008,-0.018,-3.7e+02,-0.0013,-0.0059,2.4e-05,0.06,-0.029,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.4e-05,0.0001,0.048,0.014,0.015,0.0088,0.043,0.043,0.039,6.2e-07,7.6e-07,2.3e-06,0.0063,0.0069,0.00034,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21090000,0.78,-0.016,-0.0034,-0.62,-0.0063,-0.012,0.015,-0.009,-0.02,-3.7e+02,-0.0013,-0.0059,2.6e-05,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,9.4e-05,0.0001,0.048,0.015,0.016,0.0088,0.047,0.047,0.039,6.1e-07,7.5e-07,2.3e-06,0.0062,0.0068,0.00034,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21190000,0.78,-0.016,-0.0034,-0.62,-0.0064,-0.011,0.014,-0.0094,-0.02,-3.7e+02,-0.0013,-0.0059,2.7e-05,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9.3e-05,0.0001,0.048,0.015,0.016,0.0086,0.049,0.05,0.039,6e-07,7.3e-07,2.3e-06,0.0062,0.0068,0.00033,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21290000,0.78,-0.016,-0.0036,-0.62,-0.006,-0.012,0.016,-0.0094,-0.023,-3.7e+02,-0.0013,-0.0059,3.2e-05,0.061,-0.028,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,9.4e-05,0.0001,0.048,0.016,0.017,0.0085,0.053,0.054,0.039,5.9e-07,7.3e-07,2.3e-06,0.0062,0.0068,0.00032,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21390000,0.78,-0.016,-0.0035,-0.62,-0.0054,-0.0074,0.016,-0.0083,-0.017,-3.7e+02,-0.0013,-0.0059,3.5e-05,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,9.2e-05,9.8e-05,0.048,0.014,0.015,0.0084,0.046,0.047,0.039,5.8e-07,7.1e-07,2.3e-06,0.0061,0.0067,0.00031,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21490000,0.78,-0.016,-0.0035,-0.62,-0.006,-0.0084,0.016,-0.0093,-0.019,-3.7e+02,-0.0013,-0.0059,3.7e-05,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,9.2e-05,9.8e-05,0.048,0.015,0.016,0.0083,0.05,0.051,0.038,5.7e-07,7e-07,2.3e-06,0.0061,0.0067,0.0003,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21590000,0.78,-0.016,-0.0035,-0.62,-0.0046,-0.0067,0.016,-0.0078,-0.015,-3.7e+02,-0.0013,-0.0059,4.1e-05,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,9e-05,9.7e-05,0.048,0.013,0.014,0.0081,0.044,0.045,0.038,5.6e-07,6.8e-07,2.3e-06,0.0061,0.0066,0.0003,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21690000,0.78,-0.016,-0.0035,-0.62,-0.0062,-0.0078,0.017,-0.009,-0.016,-3.7e+02,-0.0013,-0.0059,4.3e-05,0.062,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,9.1e-05,9.7e-05,0.048,0.014,0.015,0.0081,0.048,0.049,0.038,5.5e-07,6.8e-07,2.3e-06,0.006,0.0066,0.00029,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21790000,0.78,-0.016,-0.0034,-0.62,-0.0052,-0.0055,0.016,-0.0079,-0.01,-3.7e+02,-0.0013,-0.0059,4.7e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,8.9e-05,9.5e-05,0.048,0.013,0.014,0.008,0.042,0.043,0.038,5.4e-07,6.6e-07,2.3e-06,0.006,0.0065,0.00028,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21890000,0.78,-0.016,-0.0034,-0.62,-0.0059,-0.0064,0.016,-0.0086,-0.011,-3.7e+02,-0.0013,-0.0059,4.8e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,9e-05,9.6e-05,0.048,0.014,0.015,0.0079,0.046,0.047,0.038,5.3e-07,6.5e-07,2.3e-06,0.006,0.0065,0.00028,0.0011,7.2e-05,0.0012,0.0006,0.0012,0.0012,1,1 +21990000,0.78,-0.016,-0.0033,-0.62,-0.0057,-0.0036,0.017,-0.0081,-0.007,-3.7e+02,-0.0013,-0.0059,5.5e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,8.8e-05,9.4e-05,0.048,0.013,0.013,0.0078,0.041,0.042,0.038,5.2e-07,6.4e-07,2.2e-06,0.0059,0.0065,0.00027,0.0011,7.1e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22090000,0.78,-0.016,-0.0033,-0.62,-0.0054,-0.0052,0.015,-0.0084,-0.0074,-3.7e+02,-0.0013,-0.0059,5.5e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,8.9e-05,9.5e-05,0.048,0.013,0.014,0.0078,0.045,0.045,0.037,5.2e-07,6.3e-07,2.2e-06,0.0059,0.0065,0.00027,0.0011,7.1e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22190000,0.78,-0.016,-0.0033,-0.62,-0.0041,-0.0057,0.015,-0.007,-0.0067,-3.7e+02,-0.0013,-0.0059,5.8e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.093,-0.068,0,0,8.7e-05,9.3e-05,0.048,0.012,0.013,0.0076,0.04,0.04,0.037,5.1e-07,6.2e-07,2.2e-06,0.0059,0.0064,0.00026,0.0011,7.1e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22290000,0.78,-0.016,-0.0034,-0.62,-0.0037,-0.0054,0.016,-0.0077,-0.0071,-3.7e+02,-0.0013,-0.0059,5.7e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.093,-0.068,0,0,8.8e-05,9.3e-05,0.048,0.013,0.014,0.0076,0.043,0.044,0.037,5e-07,6.1e-07,2.2e-06,0.0059,0.0064,0.00025,0.0011,7.1e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22390000,0.78,-0.016,-0.0034,-0.62,-0.0012,-0.0053,0.017,-0.0059,-0.0063,-3.7e+02,-0.0013,-0.0059,6.1e-05,0.061,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.6e-05,9.2e-05,0.048,0.012,0.013,0.0075,0.039,0.04,0.037,4.9e-07,6e-07,2.2e-06,0.0058,0.0064,0.00025,0.0011,7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22490000,0.78,-0.016,-0.0034,-0.62,-4.6e-06,-0.006,0.018,-0.0054,-0.0068,-3.7e+02,-0.0014,-0.0059,6.1e-05,0.06,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.7e-05,9.2e-05,0.048,0.013,0.014,0.0074,0.042,0.043,0.037,4.9e-07,5.9e-07,2.2e-06,0.0058,0.0063,0.00024,0.0011,7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22590000,0.78,-0.016,-0.0034,-0.62,0.0018,-0.0049,0.017,-0.0036,-0.0062,-3.7e+02,-0.0014,-0.0059,6.5e-05,0.06,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.6e-05,9.2e-05,0.048,0.013,0.014,0.0073,0.045,0.045,0.036,4.8e-07,5.8e-07,2.2e-06,0.0058,0.0063,0.00024,0.0011,7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22690000,0.78,-0.016,-0.0034,-0.62,0.0034,-0.0063,0.019,-0.0029,-0.0073,-3.7e+02,-0.0014,-0.0059,6.8e-05,0.06,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.7e-05,9.2e-05,0.048,0.014,0.015,0.0073,0.048,0.049,0.036,4.8e-07,5.8e-07,2.2e-06,0.0058,0.0063,0.00024,0.0011,7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22790000,0.78,-0.016,-0.0033,-0.62,0.0044,-0.0055,0.02,-0.0024,-0.0059,-3.7e+02,-0.0014,-0.0059,6.2e-05,0.059,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.6e-05,9.1e-05,0.048,0.014,0.015,0.0072,0.051,0.052,0.036,4.7e-07,5.7e-07,2.2e-06,0.0057,0.0062,0.00023,0.0011,7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22890000,0.78,-0.016,-0.0033,-0.62,0.0051,-0.0064,0.021,-0.0025,-0.0066,-3.7e+02,-0.0014,-0.0059,6.2e-05,0.059,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.6e-05,9.2e-05,0.048,0.015,0.016,0.0072,0.055,0.056,0.036,4.7e-07,5.7e-07,2.2e-06,0.0057,0.0062,0.00023,0.0011,6.9e-05,0.0012,0.00059,0.0012,0.0012,1,1 +22990000,0.78,-0.016,-0.0034,-0.62,0.0048,-0.0066,0.022,-0.0026,-0.0075,-3.7e+02,-0.0014,-0.0059,6.7e-05,0.06,-0.029,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.6e-05,9.1e-05,0.048,0.015,0.016,0.0071,0.057,0.059,0.036,4.6e-07,5.6e-07,2.2e-06,0.0057,0.0062,0.00022,0.0011,6.9e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23090000,0.78,-0.016,-0.0033,-0.62,0.0051,-0.0063,0.023,-0.0024,-0.0072,-3.7e+02,-0.0014,-0.0059,6.3e-05,0.059,-0.029,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,8.6e-05,9.1e-05,0.048,0.016,0.017,0.007,0.062,0.064,0.036,4.6e-07,5.6e-07,2.2e-06,0.0057,0.0062,0.00022,0.0011,6.9e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23190000,0.78,-0.016,-0.0033,-0.62,0.0026,-0.0052,0.024,-0.0051,-0.0072,-3.7e+02,-0.0014,-0.0059,6.5e-05,0.059,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.093,-0.068,0,0,8.5e-05,9e-05,0.048,0.016,0.017,0.0069,0.065,0.066,0.035,4.5e-07,5.4e-07,2.2e-06,0.0057,0.0061,0.00021,0.0011,6.9e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23290000,0.78,-0.016,-0.0032,-0.62,0.0023,-0.005,0.025,-0.0054,-0.0081,-3.7e+02,-0.0014,-0.0059,6.7e-05,0.06,-0.03,-0.13,-0.11,-0.026,0.5,-0.0028,-0.093,-0.068,0,0,8.5e-05,9.1e-05,0.048,0.016,0.018,0.0069,0.07,0.071,0.036,4.5e-07,5.4e-07,2.2e-06,0.0056,0.0061,0.00021,0.0011,6.9e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23390000,0.78,-0.016,-0.0033,-0.62,-0.001,-0.0047,0.022,-0.0096,-0.0083,-3.7e+02,-0.0014,-0.0059,6.9e-05,0.06,-0.03,-0.13,-0.11,-0.026,0.5,-0.0028,-0.093,-0.068,0,0,8.5e-05,9e-05,0.048,0.016,0.017,0.0068,0.072,0.074,0.035,4.4e-07,5.3e-07,2.2e-06,0.0056,0.0061,0.00021,0.0011,6.9e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23490000,0.78,-0.013,-0.0054,-0.62,0.0046,-0.0043,-0.011,-0.01,-0.0099,-3.7e+02,-0.0013,-0.0059,7.3e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0028,-0.092,-0.068,0,0,8.5e-05,9e-05,0.048,0.017,0.018,0.0068,0.078,0.08,0.035,4.3e-07,5.3e-07,2.2e-06,0.0056,0.0061,0.0002,0.0011,6.8e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23590000,0.78,-0.0046,-0.0097,-0.62,0.015,-0.00021,-0.043,-0.0095,-0.006,-3.7e+02,-0.0013,-0.0059,7.6e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,8.3e-05,8.8e-05,0.047,0.014,0.015,0.0067,0.062,0.063,0.035,4.2e-07,5.1e-07,2.2e-06,0.0056,0.006,0.0002,0.0011,6.8e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23690000,0.78,0.0011,-0.0086,-0.62,0.043,0.014,-0.093,-0.007,-0.0058,-3.7e+02,-0.0013,-0.0059,7.8e-05,0.061,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.092,-0.068,0,0,8.3e-05,8.8e-05,0.047,0.015,0.016,0.0067,0.066,0.068,0.035,4.2e-07,5.1e-07,2.2e-06,0.0056,0.006,0.0002,0.0011,6.8e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23790000,0.78,-0.0026,-0.0061,-0.62,0.064,0.031,-0.15,-0.007,-0.0038,-3.7e+02,-0.0013,-0.0059,8.4e-05,0.062,-0.03,-0.13,-0.11,-0.026,0.5,-0.003,-0.092,-0.067,0,0,8.2e-05,8.7e-05,0.047,0.013,0.014,0.0066,0.055,0.056,0.035,4.1e-07,4.9e-07,2.1e-06,0.0055,0.006,0.00019,0.0011,6.7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23890000,0.78,-0.0089,-0.0042,-0.62,0.077,0.043,-0.2,0.00048,-2e-05,-3.7e+02,-0.0013,-0.0059,8.5e-05,0.062,-0.03,-0.13,-0.11,-0.026,0.5,-0.003,-0.091,-0.067,0,0,8.2e-05,8.7e-05,0.047,0.014,0.015,0.0066,0.059,0.06,0.035,4.1e-07,4.9e-07,2.1e-06,0.0055,0.006,0.00019,0.0011,6.7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +23990000,0.78,-0.014,-0.0034,-0.62,0.072,0.043,-0.25,-0.005,-0.0015,-3.7e+02,-0.0013,-0.0059,8.3e-05,0.063,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.091,-0.068,0,0,8.2e-05,8.7e-05,0.047,0.014,0.015,0.0066,0.061,0.063,0.035,4e-07,4.9e-07,2.1e-06,0.0055,0.006,0.00019,0.0011,6.7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +24090000,0.78,-0.012,-0.0046,-0.62,0.073,0.042,-0.3,0.0014,0.0019,-3.7e+02,-0.0013,-0.0059,8.7e-05,0.063,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.091,-0.067,0,0,8.2e-05,8.7e-05,0.047,0.015,0.016,0.0065,0.066,0.067,0.035,4e-07,4.9e-07,2.1e-06,0.0055,0.006,0.00019,0.0011,6.7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +24190000,0.78,-0.01,-0.0054,-0.62,0.07,0.041,-0.35,-0.0059,-0.0003,-3.7e+02,-0.0013,-0.0059,8.5e-05,0.064,-0.03,-0.13,-0.11,-0.026,0.5,-0.0028,-0.091,-0.068,0,0,8.2e-05,8.6e-05,0.047,0.015,0.016,0.0065,0.069,0.07,0.034,4e-07,4.8e-07,2.1e-06,0.0055,0.0059,0.00018,0.0011,6.7e-05,0.0012,0.00059,0.0012,0.0012,1,1 +24290000,0.78,-0.0092,-0.0058,-0.62,0.078,0.046,-0.4,0.00062,0.0041,-3.7e+02,-0.0013,-0.0059,8.3e-05,0.064,-0.03,-0.13,-0.11,-0.026,0.5,-0.0029,-0.091,-0.068,0,0,8.2e-05,8.7e-05,0.047,0.016,0.017,0.0065,0.074,0.075,0.034,3.9e-07,4.8e-07,2.1e-06,0.0055,0.0059,0.00018,0.0011,6.6e-05,0.0012,0.00058,0.0012,0.0012,1,1 +24390000,0.79,-0.0096,-0.0059,-0.62,0.075,0.044,-0.46,-0.012,-0.0023,-3.7e+02,-0.0012,-0.0059,6.9e-05,0.066,-0.03,-0.13,-0.11,-0.026,0.5,-0.0028,-0.091,-0.068,0,0,8.1e-05,8.6e-05,0.047,0.016,0.017,0.0064,0.076,0.078,0.034,3.9e-07,4.7e-07,2.1e-06,0.0055,0.0059,0.00018,0.0011,6.6e-05,0.0012,0.00058,0.0012,0.0012,1,1 +24490000,0.79,-0.0054,-0.0063,-0.62,0.086,0.051,-0.51,-0.0038,0.0024,-3.7e+02,-0.0012,-0.0059,6.9e-05,0.066,-0.03,-0.13,-0.11,-0.026,0.5,-0.0028,-0.091,-0.068,0,0,8.2e-05,8.6e-05,0.047,0.017,0.018,0.0064,0.082,0.083,0.034,3.9e-07,4.7e-07,2.1e-06,0.0054,0.0059,0.00018,0.0011,6.6e-05,0.0012,0.00058,0.0012,0.0012,1,1 +24590000,0.79,-0.0019,-0.0064,-0.62,0.09,0.055,-0.56,-0.017,-0.0064,-3.7e+02,-0.0012,-0.0059,6.4e-05,0.067,-0.03,-0.13,-0.11,-0.026,0.5,-0.0027,-0.091,-0.068,0,0,8.1e-05,8.6e-05,0.047,0.017,0.018,0.0063,0.084,0.086,0.034,3.8e-07,4.6e-07,2.1e-06,0.0054,0.0059,0.00017,0.0011,6.6e-05,0.0012,0.00058,0.0011,0.0012,1,1 +24690000,0.79,-0.00099,-0.0064,-0.62,0.11,0.071,-0.64,-0.0079,-0.0014,-3.7e+02,-0.0012,-0.0059,7.1e-05,0.068,-0.03,-0.13,-0.11,-0.026,0.5,-0.0028,-0.09,-0.068,0,0,8.2e-05,8.6e-05,0.047,0.018,0.019,0.0063,0.09,0.092,0.034,3.8e-07,4.6e-07,2.1e-06,0.0054,0.0059,0.00017,0.0011,6.5e-05,0.0012,0.00058,0.0011,0.0012,1,1 +24790000,0.79,-0.0025,-0.0063,-0.62,0.11,0.08,-0.73,-0.027,-0.0061,-3.7e+02,-0.0012,-0.0059,6e-05,0.069,-0.03,-0.13,-0.11,-0.026,0.5,-0.0026,-0.09,-0.068,0,0,8.1e-05,8.5e-05,0.047,0.018,0.018,0.0062,0.092,0.094,0.034,3.7e-07,4.6e-07,2.1e-06,0.0054,0.0059,0.00017,0.0011,6.5e-05,0.0012,0.00058,0.0011,0.0012,1,1 +24890000,0.79,-0.00064,-0.0078,-0.62,0.13,0.095,-0.75,-0.016,0.0027,-3.7e+02,-0.0012,-0.0059,6e-05,0.069,-0.03,-0.13,-0.11,-0.026,0.5,-0.0027,-0.089,-0.068,0,0,8.2e-05,8.6e-05,0.047,0.019,0.02,0.0062,0.099,0.1,0.034,3.7e-07,4.6e-07,2.1e-06,0.0054,0.0058,0.00017,0.0011,6.5e-05,0.0012,0.00058,0.0011,0.0012,1,1 +24990000,0.79,0.0011,-0.0095,-0.62,0.13,0.1,-0.81,-0.038,-0.0036,-3.7e+02,-0.0011,-0.0059,4.5e-05,0.071,-0.03,-0.13,-0.11,-0.026,0.5,-0.0024,-0.089,-0.069,0,0,8.1e-05,8.5e-05,0.047,0.019,0.019,0.0062,0.1,0.1,0.034,3.7e-07,4.5e-07,2.1e-06,0.0054,0.0058,0.00016,0.0011,6.4e-05,0.0012,0.00058,0.0011,0.0012,1,1 +25090000,0.79,0.00055,-0.0098,-0.62,0.16,0.12,-0.86,-0.024,0.0078,-3.7e+02,-0.0011,-0.0059,4.3e-05,0.071,-0.03,-0.13,-0.11,-0.027,0.5,-0.0025,-0.088,-0.069,0,0,8.1e-05,8.5e-05,0.047,0.02,0.021,0.0062,0.11,0.11,0.034,3.7e-07,4.5e-07,2.1e-06,0.0054,0.0058,0.00016,0.0011,6.4e-05,0.0012,0.00058,0.0011,0.0012,1,1 +25190000,0.79,-0.0014,-0.0096,-0.61,0.15,0.11,-0.91,-0.068,-0.014,-3.7e+02,-0.0011,-0.0058,2.4e-05,0.075,-0.03,-0.13,-0.11,-0.027,0.5,-0.0022,-0.088,-0.069,0,0,8.1e-05,8.5e-05,0.047,0.019,0.02,0.0061,0.11,0.11,0.033,3.6e-07,4.4e-07,2.1e-06,0.0054,0.0058,0.00016,0.0011,6.4e-05,0.0012,0.00057,0.0011,0.0012,1,1 +25290000,0.79,0.0056,-0.011,-0.62,0.18,0.13,-0.96,-0.052,-0.003,-3.7e+02,-0.0011,-0.0058,2.6e-05,0.075,-0.03,-0.13,-0.11,-0.027,0.5,-0.0023,-0.087,-0.069,0,0,8.1e-05,8.5e-05,0.047,0.02,0.021,0.0061,0.12,0.12,0.033,3.6e-07,4.4e-07,2.1e-06,0.0053,0.0058,0.00016,0.0011,6.3e-05,0.0012,0.00057,0.0011,0.0012,1,1 +25390000,0.79,0.012,-0.011,-0.61,0.18,0.13,-1,-0.1,-0.027,-3.7e+02,-0.001,-0.0058,7.5e-06,0.078,-0.03,-0.13,-0.12,-0.027,0.5,-0.0021,-0.087,-0.07,0,0,8.1e-05,8.5e-05,0.046,0.02,0.021,0.0061,0.12,0.12,0.033,3.6e-07,4.4e-07,2.1e-06,0.0053,0.0058,0.00016,0.001,6.3e-05,0.0012,0.00057,0.0011,0.0012,1,1 +25490000,0.79,0.013,-0.011,-0.61,0.21,0.16,-1.1,-0.081,-0.014,-3.7e+02,-0.001,-0.0058,1.6e-05,0.079,-0.03,-0.13,-0.12,-0.027,0.5,-0.0024,-0.086,-0.069,0,0,8.2e-05,8.5e-05,0.046,0.022,0.022,0.0061,0.13,0.13,0.033,3.6e-07,4.4e-07,2.1e-06,0.0053,0.0058,0.00015,0.001,6.2e-05,0.0012,0.00057,0.0011,0.0011,1,1 +25590000,0.79,0.011,-0.011,-0.62,0.25,0.19,-1.1,-0.058,0.0024,-3.7e+02,-0.001,-0.0058,2.2e-05,0.079,-0.03,-0.13,-0.12,-0.027,0.5,-0.0027,-0.085,-0.068,0,0,8.2e-05,8.6e-05,0.046,0.023,0.024,0.0061,0.14,0.14,0.033,3.5e-07,4.4e-07,2.1e-06,0.0053,0.0058,0.00015,0.001,6.1e-05,0.0011,0.00056,0.0011,0.0011,1,1 +25690000,0.79,0.018,-0.014,-0.62,0.29,0.22,-1.2,-0.031,0.021,-3.7e+02,-0.00099,-0.0058,2.9e-05,0.079,-0.03,-0.13,-0.12,-0.027,0.5,-0.0031,-0.084,-0.068,0,0,8.3e-05,8.6e-05,0.046,0.025,0.026,0.0061,0.14,0.15,0.033,3.5e-07,4.4e-07,2.1e-06,0.0053,0.0058,0.00015,0.001,6e-05,0.0011,0.00056,0.0011,0.0011,1,1 +25790000,0.79,0.025,-0.016,-0.62,0.35,0.25,-1.2,0.0013,0.041,-3.7e+02,-0.00099,-0.0058,4.2e-05,0.079,-0.03,-0.13,-0.12,-0.028,0.5,-0.0035,-0.083,-0.067,0,0,8.4e-05,8.6e-05,0.045,0.027,0.028,0.0061,0.15,0.16,0.033,3.5e-07,4.4e-07,2.1e-06,0.0053,0.0058,0.00015,0.00099,5.9e-05,0.0011,0.00056,0.001,0.0011,1,1 +25890000,0.78,0.025,-0.016,-0.62,0.41,0.29,-1.3,0.04,0.065,-3.7e+02,-0.00099,-0.0058,5.6e-05,0.079,-0.031,-0.13,-0.12,-0.028,0.5,-0.0041,-0.081,-0.066,0,0,8.4e-05,8.7e-05,0.045,0.029,0.03,0.0061,0.16,0.17,0.033,3.5e-07,4.4e-07,2.1e-06,0.0053,0.0058,0.00015,0.00097,5.8e-05,0.0011,0.00056,0.001,0.0011,1,1 +25990000,0.78,0.022,-0.016,-0.62,0.46,0.32,-1.3,0.084,0.093,-3.7e+02,-0.00099,-0.0058,6.5e-05,0.079,-0.031,-0.13,-0.12,-0.028,0.5,-0.0045,-0.08,-0.065,0,0,8.5e-05,8.8e-05,0.045,0.031,0.033,0.0061,0.18,0.18,0.033,3.5e-07,4.4e-07,2e-06,0.0053,0.0058,0.00015,0.00095,5.7e-05,0.0011,0.00055,0.001,0.0011,1,1 +26090000,0.78,0.032,-0.019,-0.62,0.52,0.36,-1.3,0.13,0.13,-3.7e+02,-0.00099,-0.0058,6.3e-05,0.079,-0.031,-0.13,-0.12,-0.029,0.5,-0.0046,-0.079,-0.065,0,0,8.6e-05,8.8e-05,0.044,0.033,0.036,0.0061,0.19,0.19,0.033,3.5e-07,4.4e-07,2e-06,0.0053,0.0058,0.00015,0.00093,5.6e-05,0.0011,0.00055,0.00098,0.0011,1,1 +26190000,0.78,0.042,-0.021,-0.62,0.59,0.41,-1.3,0.19,0.16,-3.7e+02,-0.00098,-0.0058,7.4e-05,0.08,-0.031,-0.13,-0.13,-0.03,0.5,-0.0054,-0.075,-0.063,0,0,8.7e-05,8.9e-05,0.043,0.036,0.039,0.0061,0.2,0.21,0.033,3.5e-07,4.4e-07,2e-06,0.0053,0.0058,0.00014,0.0009,5.4e-05,0.001,0.00054,0.00094,0.001,1,1 +26290000,0.78,0.044,-0.022,-0.62,0.67,0.46,-1.3,0.25,0.2,-3.7e+02,-0.00097,-0.0058,7.7e-05,0.08,-0.032,-0.13,-0.13,-0.03,0.49,-0.0058,-0.073,-0.061,0,0,8.8e-05,8.9e-05,0.042,0.039,0.043,0.0061,0.21,0.22,0.033,3.5e-07,4.4e-07,2e-06,0.0053,0.0058,0.00014,0.00087,5.2e-05,0.001,0.00052,0.00091,0.00099,1,1 +26390000,0.78,0.041,-0.021,-0.62,0.75,0.51,-1.3,0.32,0.25,-3.7e+02,-0.00097,-0.0058,8.5e-05,0.08,-0.032,-0.13,-0.13,-0.03,0.49,-0.0063,-0.071,-0.06,0,0,8.8e-05,9e-05,0.041,0.042,0.046,0.0061,0.23,0.23,0.033,3.5e-07,4.5e-07,2e-06,0.0053,0.0058,0.00014,0.00084,5.1e-05,0.00097,0.00051,0.00088,0.00096,1,1 +26490000,0.78,0.057,-0.027,-0.63,0.84,0.57,-1.3,0.4,0.3,-3.7e+02,-0.00097,-0.0058,9e-05,0.08,-0.032,-0.13,-0.13,-0.031,0.49,-0.0066,-0.069,-0.058,0,0,8.9e-05,9.1e-05,0.039,0.045,0.05,0.0061,0.24,0.25,0.033,3.6e-07,4.5e-07,2e-06,0.0053,0.0058,0.00014,0.00081,4.9e-05,0.00093,0.00049,0.00084,0.00093,1,1 +26590000,0.78,0.074,-0.032,-0.62,0.95,0.65,-1.3,0.49,0.36,-3.7e+02,-0.00096,-0.0058,8.5e-05,0.081,-0.032,-0.13,-0.14,-0.032,0.49,-0.0062,-0.066,-0.057,0,0,9e-05,9.1e-05,0.038,0.049,0.056,0.0061,0.26,0.27,0.033,3.6e-07,4.5e-07,2e-06,0.0053,0.0058,0.00014,0.00076,4.6e-05,0.00088,0.00047,0.0008,0.00088,1,1 +26690000,0.77,0.077,-0.033,-0.63,1.1,0.72,-1.3,0.59,0.42,-3.7e+02,-0.00096,-0.0058,0.0001,0.08,-0.032,-0.13,-0.14,-0.033,0.49,-0.0073,-0.061,-0.052,0,0,9.1e-05,9.2e-05,0.035,0.053,0.062,0.0061,0.28,0.29,0.033,3.6e-07,4.5e-07,2e-06,0.0053,0.0058,0.00014,0.00071,4.3e-05,0.00082,0.00045,0.00074,0.00082,1,1 +26790000,0.77,0.071,-0.032,-0.63,1.2,0.8,-1.3,0.71,0.5,-3.7e+02,-0.00095,-0.0058,0.0001,0.081,-0.032,-0.13,-0.14,-0.034,0.48,-0.0071,-0.057,-0.049,0,0,9.2e-05,9.3e-05,0.032,0.056,0.067,0.0061,0.3,0.3,0.033,3.6e-07,4.5e-07,2e-06,0.0053,0.0057,0.00014,0.00067,4.1e-05,0.00078,0.00042,0.00069,0.00077,1,1 +26890000,0.77,0.094,-0.039,-0.63,1.3,0.88,-1.3,0.84,0.58,-3.7e+02,-0.00095,-0.0058,0.00011,0.08,-0.032,-0.13,-0.15,-0.035,0.48,-0.0077,-0.053,-0.047,0,0,9.2e-05,9.3e-05,0.03,0.059,0.072,0.0061,0.32,0.32,0.033,3.6e-07,4.5e-07,2e-06,0.0052,0.0057,0.00014,0.00063,3.9e-05,0.00073,0.00039,0.00065,0.00073,1,1 +26990000,0.76,0.12,-0.044,-0.63,1.5,0.99,-1.3,0.98,0.67,-3.7e+02,-0.00095,-0.0058,0.00011,0.081,-0.032,-0.13,-0.15,-0.036,0.48,-0.0079,-0.047,-0.043,0,0,9.3e-05,9.4e-05,0.027,0.063,0.079,0.0061,0.34,0.35,0.033,3.6e-07,4.5e-07,2e-06,0.0052,0.0057,0.00013,0.00057,3.5e-05,0.00066,0.00035,0.00059,0.00066,1,1 +27090000,0.76,0.12,-0.045,-0.63,1.7,1.1,-1.3,1.1,0.77,-3.7e+02,-0.00096,-0.0058,0.00011,0.08,-0.031,-0.13,-0.16,-0.037,0.47,-0.0078,-0.043,-0.039,0,0,9.3e-05,9.4e-05,0.024,0.067,0.085,0.0061,0.36,0.37,0.033,3.6e-07,4.4e-07,2e-06,0.0052,0.0057,0.00013,0.00052,3.2e-05,0.00059,0.00032,0.00053,0.00059,1,1 +27190000,0.76,0.11,-0.042,-0.63,1.9,1.2,-1.2,1.3,0.89,-3.7e+02,-0.00096,-0.0058,0.00011,0.08,-0.031,-0.13,-0.16,-0.038,0.47,-0.0074,-0.04,-0.035,0,0,9.4e-05,9.5e-05,0.021,0.071,0.091,0.0061,0.38,0.39,0.034,3.6e-07,4.4e-07,2e-06,0.0052,0.0057,0.00013,0.00048,3e-05,0.00055,0.00029,0.00049,0.00054,1,1 +27290000,0.77,0.094,-0.038,-0.64,2,1.3,-1.2,1.5,1,-3.7e+02,-0.00096,-0.0058,0.00011,0.081,-0.03,-0.13,-0.17,-0.039,0.47,-0.0075,-0.036,-0.033,0,0,9.4e-05,9.5e-05,0.019,0.072,0.094,0.0061,0.4,0.42,0.033,3.6e-07,4.4e-07,2e-06,0.0052,0.0056,0.00013,0.00045,2.9e-05,0.00052,0.00026,0.00046,0.00051,1,1 +27390000,0.77,0.078,-0.033,-0.64,2.1,1.4,-1.2,1.7,1.2,-3.7e+02,-0.00096,-0.0058,0.00011,0.081,-0.03,-0.13,-0.17,-0.039,0.47,-0.0074,-0.035,-0.032,0,0,9.5e-05,9.6e-05,0.017,0.073,0.094,0.0061,0.43,0.44,0.033,3.6e-07,4.4e-07,2e-06,0.0052,0.0056,0.00013,0.00043,2.8e-05,0.0005,0.00023,0.00044,0.00049,1,1 +27490000,0.77,0.062,-0.029,-0.64,2.2,1.5,-1.2,1.9,1.3,-3.7e+02,-0.00095,-0.0058,0.00011,0.081,-0.029,-0.13,-0.17,-0.039,0.47,-0.0071,-0.034,-0.032,0,0,9.6e-05,9.6e-05,0.015,0.074,0.093,0.0061,0.45,0.47,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0056,0.00013,0.00042,2.7e-05,0.00049,0.00021,0.00043,0.00048,1,1 +27590000,0.77,0.05,-0.025,-0.63,2.3,1.5,-1.2,2.2,1.5,-3.7e+02,-0.00095,-0.0058,0.00011,0.081,-0.028,-0.13,-0.17,-0.039,0.47,-0.0066,-0.033,-0.031,0,0,9.6e-05,9.7e-05,0.014,0.074,0.092,0.0061,0.48,0.5,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0056,0.00013,0.00041,2.6e-05,0.00048,0.0002,0.00042,0.00048,1,1 +27690000,0.77,0.048,-0.025,-0.63,2.3,1.5,-1.2,2.4,1.6,-3.7e+02,-0.00095,-0.0058,0.0001,0.082,-0.028,-0.13,-0.17,-0.04,0.47,-0.0062,-0.032,-0.031,0,0,9.7e-05,9.7e-05,0.013,0.074,0.09,0.0061,0.51,0.53,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0056,0.00013,0.0004,2.6e-05,0.00048,0.00019,0.00042,0.00047,1,1 +27790000,0.77,0.05,-0.025,-0.63,2.3,1.6,-1.2,2.6,1.8,-3.7e+02,-0.00095,-0.0058,9.7e-05,0.082,-0.027,-0.13,-0.17,-0.04,0.47,-0.0056,-0.032,-0.031,0,0,9.8e-05,9.8e-05,0.012,0.074,0.089,0.0061,0.54,0.56,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0056,0.00013,0.00039,2.6e-05,0.00047,0.00017,0.00041,0.00047,1,1 +27890000,0.77,0.048,-0.024,-0.63,2.3,1.6,-1.2,2.8,1.9,-3.7e+02,-0.00095,-0.0058,9.6e-05,0.082,-0.026,-0.13,-0.17,-0.04,0.46,-0.0056,-0.031,-0.031,0,0,9.9e-05,9.8e-05,0.011,0.075,0.089,0.0061,0.57,0.6,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0056,0.00012,0.00039,2.5e-05,0.00047,0.00016,0.0004,0.00047,1,1 +27990000,0.77,0.044,-0.023,-0.63,2.4,1.6,-1.2,3.1,2.1,-3.7e+02,-0.00095,-0.0058,9.5e-05,0.082,-0.026,-0.13,-0.17,-0.04,0.47,-0.0056,-0.031,-0.031,0,0,0.0001,9.9e-05,0.01,0.075,0.088,0.0061,0.61,0.63,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0056,0.00012,0.00038,2.5e-05,0.00047,0.00016,0.0004,0.00046,1,1 +28090000,0.78,0.058,-0.028,-0.63,2.4,1.6,-1.2,3.3,2.3,-3.7e+02,-0.00095,-0.0058,9e-05,0.083,-0.025,-0.13,-0.17,-0.04,0.46,-0.005,-0.03,-0.03,0,0,0.0001,9.9e-05,0.0096,0.076,0.088,0.0061,0.64,0.67,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00038,2.4e-05,0.00046,0.00015,0.00039,0.00046,1,1 +28190000,0.77,0.071,-0.031,-0.63,2.4,1.7,-0.93,3.5,2.4,-3.7e+02,-0.00095,-0.0058,8.9e-05,0.083,-0.025,-0.13,-0.17,-0.04,0.46,-0.005,-0.03,-0.03,0,0,0.0001,0.0001,0.0091,0.077,0.088,0.0061,0.68,0.71,0.033,3.7e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00037,2.4e-05,0.00046,0.00014,0.00038,0.00045,1,1 +28290000,0.78,0.054,-0.025,-0.63,2.4,1.7,-0.069,3.8,2.6,-3.7e+02,-0.00094,-0.0058,8.5e-05,0.083,-0.024,-0.13,-0.17,-0.04,0.46,-0.0048,-0.029,-0.029,0,0,0.0001,0.0001,0.0086,0.077,0.086,0.0061,0.71,0.75,0.033,3.7e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00036,2.4e-05,0.00045,0.00014,0.00038,0.00045,1,1 +28390000,0.78,0.021,-0.013,-0.63,2.4,1.7,0.79,4,2.8,-3.7e+02,-0.00095,-0.0058,8e-05,0.083,-0.023,-0.13,-0.17,-0.041,0.46,-0.0045,-0.028,-0.029,0,0,0.0001,0.0001,0.0082,0.077,0.084,0.0061,0.75,0.79,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00036,2.3e-05,0.00045,0.00013,0.00037,0.00045,1,1 +28490000,0.78,0.0015,-0.0059,-0.63,2.4,1.7,1.1,4.3,3,-3.7e+02,-0.00096,-0.0058,7.5e-05,0.083,-0.023,-0.13,-0.17,-0.041,0.46,-0.0045,-0.028,-0.029,0,0,0.0001,0.0001,0.0079,0.077,0.083,0.0061,0.79,0.83,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00036,2.3e-05,0.00045,0.00013,0.00037,0.00045,1,1 +28590000,0.78,-0.0022,-0.0046,-0.63,2.3,1.7,0.98,4.5,3.1,-3.7e+02,-0.00096,-0.0058,7.4e-05,0.083,-0.022,-0.13,-0.17,-0.041,0.46,-0.0045,-0.028,-0.029,0,0,0.0001,0.0001,0.0075,0.077,0.082,0.0061,0.83,0.87,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00036,2.3e-05,0.00045,0.00012,0.00037,0.00044,1,1 +28690000,0.78,-0.0032,-0.004,-0.63,2.3,1.6,0.99,4.7,3.3,-3.7e+02,-0.00097,-0.0058,7e-05,0.082,-0.022,-0.12,-0.17,-0.041,0.46,-0.0044,-0.028,-0.029,0,0,0.00011,0.0001,0.0072,0.077,0.082,0.0061,0.87,0.91,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00035,2.3e-05,0.00045,0.00012,0.00037,0.00044,1,1 +28790000,0.78,-0.0035,-0.0037,-0.63,2.2,1.6,0.99,5,3.5,-3.7e+02,-0.00097,-0.0058,6.5e-05,0.082,-0.021,-0.12,-0.17,-0.041,0.46,-0.0042,-0.028,-0.029,0,0,0.00011,0.0001,0.0069,0.078,0.082,0.006,0.91,0.96,0.033,3.6e-07,4.4e-07,2e-06,0.0051,0.0055,0.00012,0.00035,2.3e-05,0.00044,0.00012,0.00037,0.00044,1,1 +28890000,0.78,-0.0033,-0.0037,-0.63,2.1,1.6,0.98,5.2,3.6,-3.7e+02,-0.00098,-0.0058,6.1e-05,0.082,-0.021,-0.12,-0.17,-0.041,0.46,-0.0041,-0.028,-0.029,0,0,0.00011,0.0001,0.0067,0.079,0.083,0.0061,0.96,1,0.033,3.5e-07,4.5e-07,2e-06,0.0051,0.0055,0.00011,0.00035,2.3e-05,0.00044,0.00011,0.00037,0.00044,1,1 +28990000,0.78,-0.0028,-0.0039,-0.62,2.1,1.5,0.98,5.4,3.8,-3.7e+02,-0.001,-0.0058,5.5e-05,0.081,-0.02,-0.12,-0.17,-0.041,0.46,-0.0038,-0.028,-0.028,0,0,0.00011,0.0001,0.0065,0.08,0.084,0.006,1,1.1,0.033,3.5e-07,4.5e-07,2e-06,0.0051,0.0055,0.00011,0.00035,2.3e-05,0.00044,0.00011,0.00037,0.00043,1,1 +29090000,0.78,-0.0024,-0.004,-0.62,2,1.5,0.97,5.6,4,-3.7e+02,-0.001,-0.0058,5e-05,0.081,-0.019,-0.12,-0.17,-0.041,0.46,-0.0037,-0.028,-0.028,0,0,0.00011,0.0001,0.0063,0.081,0.085,0.006,1,1.1,0.033,3.5e-07,4.5e-07,2e-06,0.005,0.0055,0.00011,0.00035,2.3e-05,0.00044,0.00011,0.00037,0.00043,1,1 +29190000,0.78,-0.0021,-0.0041,-0.62,2,1.5,0.97,5.8,4.1,-3.7e+02,-0.001,-0.0058,5e-05,0.081,-0.019,-0.12,-0.17,-0.041,0.46,-0.0038,-0.028,-0.028,0,0,0.00011,0.0001,0.0061,0.083,0.087,0.006,1.1,1.2,0.033,3.5e-07,4.5e-07,2e-06,0.005,0.0055,0.00011,0.00035,2.3e-05,0.00044,0.00011,0.00037,0.00043,1,1 +29290000,0.78,-0.0013,-0.0043,-0.62,1.9,1.5,0.99,6,4.2,-3.7e+02,-0.001,-0.0058,4.6e-05,0.08,-0.019,-0.12,-0.17,-0.041,0.46,-0.0036,-0.028,-0.028,0,0,0.00011,0.0001,0.006,0.084,0.09,0.006,1.1,1.2,0.033,3.4e-07,4.5e-07,2e-06,0.005,0.0055,0.00011,0.00035,2.3e-05,0.00043,0.00011,0.00037,0.00043,1,1 +29390000,0.78,9e-05,-0.0046,-0.62,1.9,1.4,1,6.2,4.4,-3.7e+02,-0.001,-0.0058,3.9e-05,0.08,-0.018,-0.12,-0.17,-0.041,0.46,-0.0033,-0.028,-0.028,0,0,0.00011,0.0001,0.0058,0.085,0.092,0.006,1.2,1.3,0.033,3.4e-07,4.5e-07,2e-06,0.005,0.0055,0.00011,0.00035,2.3e-05,0.00043,0.0001,0.00037,0.00043,1,1 +29490000,0.78,0.0013,-0.005,-0.62,1.8,1.4,1,6.4,4.5,-3.7e+02,-0.001,-0.0058,3.7e-05,0.08,-0.018,-0.12,-0.17,-0.041,0.46,-0.0033,-0.028,-0.028,0,0,0.00011,0.0001,0.0057,0.087,0.095,0.006,1.2,1.3,0.033,3.4e-07,4.5e-07,2e-06,0.005,0.0055,0.00011,0.00035,2.3e-05,0.00043,0.0001,0.00037,0.00043,1,1 +29590000,0.78,0.0023,-0.0052,-0.62,1.8,1.4,1,6.6,4.7,-3.7e+02,-0.001,-0.0057,3.4e-05,0.079,-0.017,-0.12,-0.17,-0.041,0.46,-0.0032,-0.028,-0.028,0,0,0.00011,0.0001,0.0056,0.089,0.098,0.006,1.3,1.4,0.033,3.4e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.3e-05,0.00043,0.0001,0.00037,0.00043,1,1 +29690000,0.78,0.003,-0.0055,-0.62,1.7,1.4,0.99,6.7,4.8,-3.7e+02,-0.001,-0.0057,2.9e-05,0.079,-0.016,-0.12,-0.17,-0.041,0.46,-0.0031,-0.028,-0.028,0,0,0.00011,0.0001,0.0054,0.09,0.1,0.006,1.4,1.5,0.033,3.4e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.3e-05,0.00043,9.9e-05,0.00037,0.00043,1,1 +29790000,0.78,0.0034,-0.0056,-0.62,1.7,1.4,0.98,6.9,5,-3.7e+02,-0.001,-0.0057,2.6e-05,0.078,-0.015,-0.12,-0.17,-0.041,0.46,-0.0031,-0.028,-0.027,0,0,0.00011,0.0001,0.0054,0.092,0.11,0.006,1.4,1.5,0.033,3.4e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.3e-05,0.00043,9.8e-05,0.00037,0.00042,1,1 +29890000,0.78,0.0036,-0.0057,-0.62,1.7,1.3,0.97,7.1,5.1,-3.7e+02,-0.001,-0.0057,2e-05,0.078,-0.014,-0.12,-0.17,-0.041,0.46,-0.003,-0.028,-0.027,0,0,0.00012,0.0001,0.0053,0.094,0.11,0.006,1.5,1.6,0.033,3.3e-07,4.5e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.3e-05,0.00043,9.7e-05,0.00037,0.00042,1,1 +29990000,0.78,0.0036,-0.0057,-0.62,1.6,1.3,0.95,7.2,5.2,-3.7e+02,-0.001,-0.0057,1.6e-05,0.078,-0.014,-0.12,-0.17,-0.041,0.46,-0.0029,-0.028,-0.027,0,0,0.00012,0.0001,0.0052,0.096,0.11,0.006,1.5,1.7,0.033,3.3e-07,4.6e-07,2e-06,0.005,0.0054,0.00011,0.00035,2.3e-05,0.00043,9.6e-05,0.00036,0.00042,1,1 +30090000,0.78,0.0035,-0.0057,-0.62,1.6,1.3,0.94,7.4,5.4,-3.7e+02,-0.001,-0.0057,1.2e-05,0.078,-0.013,-0.12,-0.17,-0.041,0.46,-0.0028,-0.028,-0.027,0,0,0.00012,0.0001,0.0051,0.098,0.12,0.006,1.6,1.7,0.033,3.3e-07,4.6e-07,2e-06,0.005,0.0054,0.0001,0.00035,2.3e-05,0.00043,9.5e-05,0.00036,0.00042,1,1 +30190000,0.78,0.0032,-0.0057,-0.62,1.6,1.3,0.93,7.6,5.5,-3.7e+02,-0.001,-0.0057,1.3e-05,0.078,-0.013,-0.12,-0.17,-0.041,0.46,-0.0028,-0.028,-0.027,0,0,0.00012,0.0001,0.005,0.1,0.12,0.006,1.7,1.8,0.033,3.3e-07,4.6e-07,2e-06,0.005,0.0054,0.0001,0.00035,2.2e-05,0.00043,9.4e-05,0.00036,0.00042,1,1 +30290000,0.78,0.003,-0.0056,-0.62,1.5,1.3,0.92,7.7,5.6,-3.7e+02,-0.001,-0.0057,1e-05,0.078,-0.013,-0.12,-0.17,-0.041,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0049,0.1,0.13,0.006,1.7,1.9,0.033,3.3e-07,4.6e-07,2e-06,0.005,0.0054,0.0001,0.00035,2.2e-05,0.00043,9.3e-05,0.00036,0.00042,1,1 +30390000,0.78,0.0028,-0.0056,-0.62,1.5,1.3,0.9,7.9,5.8,-3.7e+02,-0.0011,-0.0057,5.8e-06,0.077,-0.012,-0.12,-0.17,-0.041,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0049,0.11,0.13,0.006,1.8,2,0.033,3.3e-07,4.6e-07,2e-06,0.005,0.0054,0.0001,0.00035,2.2e-05,0.00042,9.2e-05,0.00036,0.00042,1,1 +30490000,0.78,0.0025,-0.0055,-0.62,1.5,1.2,0.89,8,5.9,-3.7e+02,-0.0011,-0.0057,4.7e-06,0.076,-0.011,-0.12,-0.17,-0.041,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0048,0.11,0.14,0.006,1.9,2.1,0.033,3.2e-07,4.6e-07,2e-06,0.005,0.0054,0.0001,0.00035,2.2e-05,0.00042,9.2e-05,0.00036,0.00042,1,1 +30590000,0.78,0.0021,-0.0054,-0.62,1.4,1.2,0.85,8.2,6,-3.7e+02,-0.0011,-0.0057,2.6e-06,0.076,-0.011,-0.12,-0.17,-0.041,0.46,-0.0027,-0.028,-0.027,0,0,0.00012,0.0001,0.0048,0.11,0.14,0.006,2,2.2,0.033,3.2e-07,4.6e-07,2e-06,0.005,0.0054,0.0001,0.00034,2.2e-05,0.00042,9.1e-05,0.00036,0.00042,1,1 +30690000,0.78,0.0017,-0.0053,-0.62,1.4,1.2,0.84,8.3,6.1,-3.7e+02,-0.0011,-0.0057,-7.1e-07,0.076,-0.0098,-0.12,-0.17,-0.041,0.46,-0.0026,-0.028,-0.027,0,0,0.00012,0.0001,0.0047,0.11,0.15,0.006,2,2.3,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0054,0.0001,0.00034,2.2e-05,0.00042,9e-05,0.00036,0.00042,1,1 +30790000,0.78,0.0013,-0.0052,-0.62,1.4,1.2,0.84,8.5,6.2,-3.7e+02,-0.0011,-0.0057,-3.8e-06,0.076,-0.0096,-0.12,-0.17,-0.041,0.46,-0.0025,-0.028,-0.027,0,0,0.00012,0.00011,0.0047,0.11,0.15,0.006,2.1,2.4,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0054,0.0001,0.00034,2.2e-05,0.00042,9e-05,0.00036,0.00042,1,1 +30890000,0.78,0.00091,-0.0051,-0.62,1.3,1.2,0.82,8.6,6.4,-3.7e+02,-0.0011,-0.0057,-6.8e-06,0.075,-0.0088,-0.12,-0.17,-0.041,0.46,-0.0025,-0.028,-0.027,0,0,0.00012,0.00011,0.0046,0.12,0.16,0.0059,2.2,2.5,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0053,9.9e-05,0.00034,2.2e-05,0.00042,8.9e-05,0.00036,0.00042,1,1 +30990000,0.78,0.00032,-0.005,-0.62,1.3,1.2,0.82,8.8,6.5,-3.7e+02,-0.0011,-0.0057,-1e-05,0.075,-0.008,-0.12,-0.17,-0.041,0.46,-0.0024,-0.028,-0.027,0,0,0.00013,0.00011,0.0046,0.12,0.16,0.0059,2.3,2.6,0.033,3.2e-07,4.6e-07,2e-06,0.0049,0.0053,9.9e-05,0.00034,2.2e-05,0.00042,8.9e-05,0.00036,0.00041,1,1 +31090000,0.78,-0.00023,-0.0049,-0.62,1.3,1.1,0.81,8.9,6.6,-3.7e+02,-0.0011,-0.0057,-1.5e-05,0.074,-0.0073,-0.12,-0.17,-0.041,0.46,-0.0024,-0.028,-0.027,0,0,0.00013,0.00011,0.0045,0.12,0.17,0.0059,2.4,2.7,0.033,3.1e-07,4.6e-07,2e-06,0.0049,0.0053,9.8e-05,0.00034,2.2e-05,0.00042,8.8e-05,0.00036,0.00041,1,1 +31190000,0.78,-0.00064,-0.0047,-0.62,1.2,1.1,0.8,9,6.7,-3.7e+02,-0.0011,-0.0057,-1.8e-05,0.074,-0.0064,-0.12,-0.17,-0.041,0.46,-0.0023,-0.028,-0.027,0,0,0.00013,0.00011,0.0045,0.12,0.18,0.0059,2.5,2.9,0.033,3.1e-07,4.7e-07,2e-06,0.0049,0.0053,9.7e-05,0.00034,2.2e-05,0.00042,8.8e-05,0.00036,0.00041,1,1 +31290000,0.78,-0.0012,-0.0046,-0.62,1.2,1.1,0.8,9.2,6.8,-3.7e+02,-0.0011,-0.0057,-2e-05,0.074,-0.0057,-0.12,-0.17,-0.041,0.46,-0.0023,-0.028,-0.027,0,0,0.00013,0.00011,0.0045,0.13,0.18,0.0059,2.6,3,0.033,3.1e-07,4.7e-07,2e-06,0.0049,0.0053,9.7e-05,0.00034,2.2e-05,0.00042,8.8e-05,0.00036,0.00041,1,1 +31390000,0.78,-0.002,-0.0044,-0.62,1.2,1.1,0.8,9.3,6.9,-3.7e+02,-0.0011,-0.0057,-2.3e-05,0.074,-0.0051,-0.12,-0.17,-0.041,0.46,-0.0023,-0.028,-0.027,0,0,0.00013,0.00011,0.0044,0.13,0.19,0.0059,2.6,3.1,0.033,3.1e-07,4.7e-07,2e-06,0.0049,0.0053,9.6e-05,0.00034,2.2e-05,0.00042,8.7e-05,0.00036,0.00041,1,1 +31490000,0.78,-0.0026,-0.0043,-0.62,1.2,1.1,0.79,9.4,7,-3.7e+02,-0.0011,-0.0057,-2.9e-05,0.073,-0.0044,-0.12,-0.17,-0.041,0.46,-0.0022,-0.028,-0.026,0,0,0.00013,0.00011,0.0044,0.13,0.2,0.0059,2.7,3.3,0.033,3.1e-07,4.7e-07,2e-06,0.0049,0.0053,9.6e-05,0.00034,2.2e-05,0.00042,8.7e-05,0.00036,0.00041,1,1 +31590000,0.78,-0.0029,-0.0042,-0.62,1.1,1,0.79,9.5,7.1,-3.7e+02,-0.0011,-0.0057,-3e-05,0.073,-0.0037,-0.12,-0.17,-0.041,0.46,-0.0021,-0.028,-0.026,0,0,0.00013,0.00011,0.0044,0.13,0.21,0.0059,2.8,3.4,0.033,3.1e-07,4.7e-07,2e-06,0.0049,0.0053,9.5e-05,0.00034,2.2e-05,0.00041,8.7e-05,0.00036,0.00041,1,1 +31690000,0.78,-0.0037,-0.004,-0.62,1.1,1,0.8,9.7,7.2,-3.7e+02,-0.0011,-0.0057,-3.2e-05,0.072,-0.003,-0.12,-0.17,-0.041,0.46,-0.0021,-0.028,-0.026,0,0,0.00013,0.00011,0.0044,0.14,0.21,0.0059,2.9,3.5,0.033,3.1e-07,4.7e-07,2e-06,0.0049,0.0053,9.4e-05,0.00034,2.2e-05,0.00041,8.6e-05,0.00036,0.00041,1,1 +31790000,0.78,-0.0044,-0.0038,-0.62,1.1,1,0.8,9.8,7.3,-3.7e+02,-0.0011,-0.0057,-3.4e-05,0.072,-0.0021,-0.12,-0.17,-0.041,0.46,-0.002,-0.029,-0.026,0,0,0.00013,0.00011,0.0043,0.14,0.22,0.0059,3.1,3.7,0.033,3e-07,4.7e-07,2e-06,0.0049,0.0053,9.4e-05,0.00034,2.2e-05,0.00041,8.6e-05,0.00036,0.00041,1,1 +31890000,0.78,-0.0051,-0.0037,-0.62,1,0.99,0.79,9.9,7.4,-3.7e+02,-0.0011,-0.0057,-3.8e-05,0.071,-0.0012,-0.12,-0.17,-0.041,0.46,-0.002,-0.029,-0.026,0,0,0.00013,0.00011,0.0043,0.14,0.23,0.0059,3.2,3.9,0.033,3e-07,4.7e-07,2e-06,0.0049,0.0053,9.3e-05,0.00034,2.2e-05,0.00041,8.6e-05,0.00036,0.00041,1,1 +31990000,0.78,-0.0056,-0.0036,-0.62,1,0.97,0.79,10,7.5,-3.7e+02,-0.0012,-0.0057,-4.4e-05,0.071,-0.0003,-0.12,-0.17,-0.041,0.46,-0.0019,-0.029,-0.026,0,0,0.00014,0.00011,0.0043,0.15,0.24,0.0058,3.3,4,0.033,3e-07,4.7e-07,2e-06,0.0049,0.0053,9.3e-05,0.00034,2.2e-05,0.00041,8.5e-05,0.00036,0.00041,1,1 +32090000,0.78,-0.0064,-0.0034,-0.62,0.99,0.95,0.8,10,7.6,-3.7e+02,-0.0012,-0.0057,-4.8e-05,0.07,0.0004,-0.11,-0.17,-0.041,0.46,-0.0018,-0.029,-0.026,0,0,0.00014,0.00011,0.0043,0.15,0.25,0.0059,3.4,4.2,0.033,3e-07,4.7e-07,2e-06,0.0049,0.0052,9.2e-05,0.00034,2.2e-05,0.00041,8.5e-05,0.00036,0.0004,1,1 +32190000,0.78,-0.0073,-0.0032,-0.62,0.96,0.94,0.8,10,7.7,-3.7e+02,-0.0012,-0.0057,-5.7e-05,0.07,0.0013,-0.11,-0.17,-0.041,0.46,-0.0017,-0.029,-0.025,0,0,0.00014,0.00011,0.0043,0.15,0.25,0.0058,3.5,4.4,0.033,3e-07,4.7e-07,2e-06,0.0049,0.0052,9.1e-05,0.00034,2.2e-05,0.00041,8.5e-05,0.00036,0.0004,1,1 +32290000,0.78,-0.0081,-0.0031,-0.62,0.93,0.92,0.79,10,7.8,-3.7e+02,-0.0012,-0.0057,-6.1e-05,0.069,0.0024,-0.11,-0.17,-0.041,0.46,-0.0016,-0.029,-0.025,0,0,0.00014,0.00011,0.0042,0.15,0.26,0.0058,3.6,4.6,0.033,3e-07,4.7e-07,2e-06,0.0049,0.0052,9.1e-05,0.00034,2.2e-05,0.00041,8.5e-05,0.00036,0.0004,1,1 +32390000,0.78,-0.0087,-0.003,-0.62,0.9,0.9,0.79,10,7.9,-3.7e+02,-0.0012,-0.0057,-6.2e-05,0.069,0.003,-0.11,-0.17,-0.041,0.46,-0.0016,-0.029,-0.025,0,0,0.00014,0.00011,0.0042,0.16,0.27,0.0058,3.7,4.8,0.033,3e-07,4.7e-07,2e-06,0.0049,0.0052,9e-05,0.00034,2.2e-05,0.00041,8.5e-05,0.00036,0.0004,1,1 +32490000,0.78,-0.009,-0.0029,-0.62,0.87,0.88,0.8,11,8,-3.7e+02,-0.0012,-0.0057,-6.4e-05,0.068,0.0038,-0.11,-0.17,-0.041,0.46,-0.0015,-0.029,-0.025,0,0,0.00014,0.00011,0.0042,0.16,0.28,0.0058,3.9,5,0.033,2.9e-07,4.8e-07,2e-06,0.0049,0.0052,9e-05,0.00034,2.2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 +32590000,0.78,-0.0093,-0.0029,-0.62,-1.6,-0.84,0.63,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-6.8e-05,0.068,0.0041,-0.11,-0.17,-0.041,0.46,-0.0015,-0.029,-0.025,0,0,0.00014,0.00011,0.0042,0.25,0.25,0.56,0.25,0.25,0.035,2.9e-07,4.8e-07,2e-06,0.0048,0.0052,8.9e-05,0.00034,2.2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 +32690000,0.79,-0.0093,-0.0029,-0.62,-1.6,-0.86,0.61,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.1e-05,0.067,0.0047,-0.11,-0.17,-0.041,0.46,-0.0014,-0.029,-0.025,0,0,0.00014,0.00011,0.0042,0.25,0.25,0.55,0.26,0.26,0.047,2.9e-07,4.8e-07,2e-06,0.0048,0.0052,8.9e-05,0.00034,2.2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 +32790000,0.79,-0.0092,-0.0029,-0.62,-1.5,-0.84,0.61,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.3e-05,0.067,0.0051,-0.11,-0.17,-0.041,0.46,-0.0014,-0.029,-0.024,0,0,0.00014,0.00011,0.0042,0.13,0.13,0.27,0.26,0.26,0.047,2.9e-07,4.8e-07,2e-06,0.0048,0.0052,8.9e-05,0.00034,2.2e-05,0.0004,8.4e-05,0.00036,0.0004,1,1 +32890000,0.79,-0.0091,-0.003,-0.62,-1.6,-0.86,0.59,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-8.2e-05,0.066,0.0056,-0.11,-0.17,-0.041,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.00011,0.0042,0.13,0.13,0.26,0.27,0.27,0.058,2.9e-07,4.8e-07,2e-06,0.0048,0.0052,8.8e-05,0.00034,2.2e-05,0.0004,8.4e-05,0.00036,0.00039,1,1 +32990000,0.79,-0.0091,-0.0031,-0.62,-1.5,-0.85,0.59,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.6e-05,0.066,0.0062,-0.11,-0.17,-0.041,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.00011,0.0041,0.084,0.085,0.17,0.27,0.27,0.056,2.9e-07,4.8e-07,2e-06,0.0048,0.0052,8.8e-05,0.00034,2.2e-05,0.0004,8.4e-05,0.00036,0.00039,1,1 +33090000,0.79,-0.0092,-0.0031,-0.62,-1.6,-0.87,0.57,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.4e-05,0.065,0.0064,-0.11,-0.17,-0.041,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.00011,0.0041,0.084,0.085,0.16,0.28,0.28,0.065,2.9e-07,4.8e-07,2e-06,0.0048,0.0052,8.8e-05,0.00034,2.2e-05,0.0004,8.4e-05,0.00036,0.00039,1,1 +33190000,0.79,-0.0078,-0.0063,-0.61,-1.5,-0.85,0.52,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.1e-05,0.065,0.0065,-0.11,-0.17,-0.041,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.00011,0.0041,0.063,0.065,0.11,0.28,0.28,0.062,2.8e-07,4.8e-07,2e-06,0.0048,0.0052,8.8e-05,0.00034,2.2e-05,0.0004,8.3e-05,0.00036,0.00039,1,1 +33290000,0.83,-0.0057,-0.018,-0.56,-1.5,-0.87,0.5,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-7.5e-05,0.065,0.0063,-0.11,-0.17,-0.041,0.46,-0.0013,-0.029,-0.024,0,0,0.00015,0.00011,0.0041,0.064,0.066,0.1,0.29,0.29,0.067,2.8e-07,4.8e-07,2e-06,0.0048,0.0052,8.8e-05,0.00034,2.2e-05,0.0004,8.3e-05,0.00035,0.00039,1,1 +33390000,0.9,-0.0064,-0.015,-0.44,-1.5,-0.86,0.7,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-6.2e-05,0.064,0.006,-0.11,-0.18,-0.041,0.46,-0.0009,-0.027,-0.024,0,0,0.00015,0.00011,0.004,0.051,0.053,0.082,0.29,0.29,0.065,2.8e-07,4.7e-07,2e-06,0.0048,0.0051,8.8e-05,0.00031,2e-05,0.0004,8e-05,0.00032,0.00039,1,1 +33490000,0.96,-0.0051,-0.0069,-0.3,-1.5,-0.88,0.71,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,-4.3e-05,0.064,0.0061,-0.11,-0.18,-0.043,0.46,-0.0004,-0.02,-0.024,0,0,0.00015,0.00011,0.0037,0.052,0.054,0.075,0.3,0.3,0.068,2.8e-07,4.7e-07,2e-06,0.0048,0.0051,8.8e-05,0.00023,1.6e-05,0.00039,7.3e-05,0.00024,0.00039,1,1 +33590000,0.99,-0.0083,-0.00011,-0.13,-1.5,-0.86,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,1.8e-05,0.064,0.0061,-0.11,-0.19,-0.044,0.46,0.00035,-0.013,-0.024,0,0,0.00015,0.0001,0.0032,0.044,0.046,0.061,0.3,0.3,0.065,2.8e-07,4.6e-07,2e-06,0.0048,0.0051,8.8e-05,0.00015,1.2e-05,0.00039,6e-05,0.00015,0.00039,1,1 +33690000,1,-0.012,0.0041,0.038,-1.6,-0.88,0.68,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,2.3e-05,0.064,0.0061,-0.11,-0.19,-0.045,0.46,0.00018,-0.0091,-0.025,0,0,0.00015,0.0001,0.0028,0.044,0.048,0.056,0.31,0.31,0.067,2.8e-07,4.6e-07,2e-06,0.0048,0.0051,8.8e-05,0.0001,9e-06,0.00039,4.7e-05,9.7e-05,0.00038,1,1 +33790000,0.98,-0.013,0.0065,0.21,-1.6,-0.9,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,6.8e-05,0.064,0.0061,-0.11,-0.2,-0.046,0.46,0.00053,-0.0066,-0.025,0,0,0.00015,0.0001,0.0023,0.039,0.043,0.047,0.31,0.31,0.064,2.7e-07,4.5e-07,1.9e-06,0.0048,0.0051,8.8e-05,6.9e-05,7.2e-06,0.00038,3.5e-05,6.2e-05,0.00038,1,1 +33890000,0.93,-0.013,0.0086,0.37,-1.7,-0.95,0.66,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,9.1e-05,0.064,0.0061,-0.11,-0.2,-0.046,0.46,0.00075,-0.0053,-0.025,0,0,0.00015,0.0001,0.002,0.04,0.046,0.042,0.32,0.32,0.065,2.7e-07,4.5e-07,1.9e-06,0.0048,0.0051,8.8e-05,5e-05,6.2e-06,0.00038,2.7e-05,4.2e-05,0.00038,1,1 +33990000,0.86,-0.015,0.0072,0.51,-1.7,-0.98,0.64,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00011,0.064,0.0058,-0.11,-0.2,-0.046,0.46,0.00053,-0.0039,-0.025,0,0,0.00014,9.9e-05,0.0017,0.036,0.042,0.036,0.32,0.32,0.062,2.7e-07,4.4e-07,1.9e-06,0.0048,0.0051,8.8e-05,4e-05,5.6e-06,0.00038,2.1e-05,3e-05,0.00038,1,1 +34090000,0.8,-0.016,0.0064,0.6,-1.7,-1.1,0.64,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00011,0.065,0.0052,-0.11,-0.2,-0.046,0.46,0.0002,-0.0033,-0.025,0,0,0.00014,9.9e-05,0.0016,0.038,0.046,0.033,0.33,0.33,0.063,2.7e-07,4.3e-07,1.9e-06,0.0048,0.0051,8.8e-05,3.4e-05,5.3e-06,0.00038,1.7e-05,2.4e-05,0.00038,1,1 +34190000,0.75,-0.014,0.0071,0.67,-1.8,-1.1,0.65,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.005,-0.11,-0.2,-0.047,0.46,0.0002,-0.0027,-0.025,0,0,0.00014,9.9e-05,0.0015,0.041,0.051,0.031,0.34,0.34,0.063,2.8e-07,4.3e-07,1.9e-06,0.0047,0.0051,8.8e-05,3e-05,5e-06,0.00038,1.4e-05,1.9e-05,0.00038,1,1 +34290000,0.71,-0.011,0.0085,0.71,-1.8,-1.2,0.65,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.0047,-0.11,-0.2,-0.047,0.46,0.00016,-0.0023,-0.025,0,0,0.00014,9.8e-05,0.0014,0.044,0.056,0.028,0.35,0.35,0.062,2.8e-07,4.3e-07,1.9e-06,0.0047,0.0051,8.8e-05,2.7e-05,4.9e-06,0.00038,1.2e-05,1.6e-05,0.00038,1,1 +34390000,0.69,-0.0077,0.01,0.73,-1.9,-1.3,0.66,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.065,0.0044,-0.11,-0.2,-0.047,0.46,9.4e-05,-0.002,-0.025,0,0,0.00014,9.8e-05,0.0013,0.048,0.061,0.026,0.36,0.37,0.063,2.8e-07,4.3e-07,1.9e-06,0.0047,0.0051,8.8e-05,2.5e-05,4.8e-06,0.00038,1.1e-05,1.4e-05,0.00038,1,1 +34490000,0.67,-0.0055,0.011,0.74,-1.9,-1.4,0.66,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.065,0.0043,-0.11,-0.2,-0.047,0.46,5.2e-05,-0.002,-0.025,0,0,0.00014,9.7e-05,0.0013,0.052,0.068,0.024,0.38,0.38,0.062,2.8e-07,4.3e-07,1.8e-06,0.0047,0.0051,8.8e-05,2.3e-05,4.7e-06,0.00038,9.9e-06,1.2e-05,0.00038,1,1 +34590000,0.66,-0.0041,0.012,0.75,-2,-1.4,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.065,0.0042,-0.11,-0.2,-0.047,0.46,-4.5e-05,-0.0019,-0.025,0,0,0.00014,9.7e-05,0.0012,0.057,0.075,0.022,0.39,0.4,0.06,2.8e-07,4.3e-07,1.8e-06,0.0047,0.0051,8.8e-05,2.2e-05,4.6e-06,0.00038,9e-06,1.1e-05,0.00038,1,1 +34690000,0.65,-0.0033,0.013,0.76,-2,-1.5,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.0042,-0.11,-0.2,-0.047,0.46,1.8e-05,-0.0016,-0.025,0,0,0.00014,9.7e-05,0.0012,0.062,0.082,0.02,0.41,0.41,0.06,2.8e-07,4.3e-07,1.8e-06,0.0047,0.0051,8.9e-05,2.1e-05,4.6e-06,0.00038,8.3e-06,9.9e-06,0.00038,1,1 +34790000,0.65,-0.0028,0.013,0.76,-2.1,-1.6,0.67,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.0041,-0.11,-0.2,-0.047,0.46,0.00014,-0.0016,-0.025,0,0,0.00014,9.6e-05,0.0012,0.068,0.09,0.018,0.42,0.43,0.059,2.8e-07,4.3e-07,1.8e-06,0.0047,0.0051,8.9e-05,2.1e-05,4.5e-06,0.00038,7.8e-06,9.1e-06,0.00038,1,1 +34890000,0.65,-0.0027,0.013,0.76,-2.1,-1.7,0.68,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.0039,-0.11,-0.2,-0.047,0.46,8.8e-05,-0.0016,-0.025,0,0,0.00014,9.6e-05,0.0012,0.075,0.099,0.017,0.44,0.46,0.058,2.8e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,2e-05,4.5e-06,0.00038,7.3e-06,8.4e-06,0.00038,1,1 +34990000,0.64,-0.0061,0.02,0.76,-3,-2.6,-0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.0002,-0.0016,-0.025,0,0,0.00013,9.5e-05,0.0012,0.092,0.13,0.016,0.46,0.48,0.057,2.8e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,1.9e-05,4.5e-06,0.00038,6.9e-06,7.9e-06,0.00038,1,1 +35090000,0.64,-0.0062,0.02,0.76,-3.2,-2.7,-0.18,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.00022,-0.0016,-0.025,0,0,0.00013,9.5e-05,0.0012,0.1,0.14,0.015,0.49,0.51,0.056,2.8e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,1.9e-05,4.4e-06,0.00038,6.6e-06,7.4e-06,0.00038,1,1 +35190000,0.64,-0.0063,0.02,0.76,-3.2,-2.8,-0.17,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.00025,-0.0015,-0.025,0,0,0.00013,9.4e-05,0.0011,0.11,0.15,0.014,0.51,0.54,0.055,2.8e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,1.9e-05,4.4e-06,0.00038,6.3e-06,7e-06,0.00038,1,1 +35290000,0.64,-0.0064,0.02,0.76,-3.2,-2.8,-0.16,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.0003,-0.0015,-0.025,0,0,0.00013,9.4e-05,0.0011,0.12,0.17,0.013,0.54,0.58,0.053,2.8e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,1.8e-05,4.4e-06,0.00038,6e-06,6.6e-06,0.00038,1,1 +35390000,0.64,-0.0064,0.02,0.76,-3.2,-2.9,-0.15,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.00038,-0.0015,-0.025,0,0,0.00013,9.4e-05,0.0011,0.13,0.18,0.012,0.58,0.62,0.053,2.8e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,1.8e-05,4.3e-06,0.00038,5.8e-06,6.3e-06,0.00037,1,1 +35490000,0.64,-0.0065,0.02,0.77,-3.3,-3,-0.14,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.00045,-0.0016,-0.025,0,0,0.00013,9.3e-05,0.0011,0.14,0.19,0.012,0.61,0.67,0.052,2.9e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,1.8e-05,4.3e-06,0.00038,5.6e-06,6e-06,0.00037,1,1 +35590000,0.64,-0.0065,0.02,0.77,-3.3,-3.1,-0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.00042,-0.0016,-0.025,0,0,0.00013,9.3e-05,0.0011,0.15,0.2,0.011,0.65,0.72,0.05,2.9e-07,4.4e-07,1.8e-06,0.0047,0.0051,8.9e-05,1.7e-05,4.3e-06,0.00038,5.4e-06,5.8e-06,0.00037,1,1 +35690000,0.64,-0.0065,0.02,0.77,-3.3,-3.1,-0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.0038,-0.11,-0.2,-0.047,0.46,0.00047,-0.0016,-0.025,0,0,0.00013,9.2e-05,0.0011,0.16,0.22,0.011,0.69,0.77,0.05,2.9e-07,4.4e-07,1.9e-06,0.0047,0.0051,8.9e-05,1.7e-05,4.3e-06,0.00038,5.3e-06,5.6e-06,0.00037,1,1 +35790000,0.64,-0.0065,0.02,0.77,-3.4,-3.2,-0.12,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00014,0.065,0.0038,-0.11,-0.2,-0.047,0.46,0.00049,-0.0015,-0.025,0,0,0.00013,9.2e-05,0.0011,0.17,0.23,0.01,0.74,0.84,0.049,2.9e-07,4.4e-07,1.9e-06,0.0047,0.0051,8.9e-05,1.7e-05,4.3e-06,0.00038,5.1e-06,5.3e-06,0.00037,1,1 +35890000,0.64,-0.0066,0.02,0.77,-3.4,-3.3,-0.11,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.065,0.0039,-0.11,-0.2,-0.047,0.46,0.00049,-0.0015,-0.025,0,0,0.00013,9.2e-05,0.0011,0.18,0.25,0.0096,0.79,0.9,0.048,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,8.9e-05,1.7e-05,4.3e-06,0.00038,5e-06,5.2e-06,0.00037,1,1 +35990000,0.64,-0.0066,0.02,0.77,-3.4,-3.3,-0.1,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.065,0.0038,-0.11,-0.2,-0.047,0.46,0.00047,-0.0016,-0.025,0,0,0.00013,9.1e-05,0.0011,0.2,0.26,0.0093,0.84,0.98,0.047,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,8.9e-05,1.6e-05,4.3e-06,0.00038,4.9e-06,5e-06,0.00037,1,1 +36090000,0.64,-0.0066,0.02,0.77,-3.4,-3.4,-0.093,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.065,0.0038,-0.11,-0.2,-0.047,0.46,0.00049,-0.0016,-0.025,0,0,0.00013,9.1e-05,0.0011,0.21,0.28,0.0089,0.91,1.1,0.046,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,8.9e-05,1.6e-05,4.2e-06,0.00038,4.8e-06,4.8e-06,0.00037,1,1 +36190000,0.64,-0.0067,0.02,0.77,-3.5,-3.5,-0.083,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.004,-0.11,-0.2,-0.047,0.46,0.00057,-0.0016,-0.025,0,0,0.00013,9.1e-05,0.0011,0.22,0.3,0.0086,0.97,1.1,0.045,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,8.9e-05,1.6e-05,4.2e-06,0.00038,4.7e-06,4.7e-06,0.00037,1,1 +36290000,0.64,-0.0067,0.02,0.77,-3.5,-3.6,-0.073,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.065,0.0038,-0.11,-0.2,-0.047,0.46,0.00058,-0.0016,-0.025,0,0,0.00013,9e-05,0.0011,0.24,0.31,0.0083,1,1.2,0.045,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,8.9e-05,1.6e-05,4.2e-06,0.00038,4.6e-06,4.6e-06,0.00037,1,1 +36390000,0.64,-0.0067,0.02,0.77,-3.5,-3.6,-0.066,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.066,0.0039,-0.11,-0.2,-0.047,0.46,0.00058,-0.0015,-0.025,0,0,0.00012,9e-05,0.0011,0.25,0.33,0.0081,1.1,1.4,0.044,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,8.9e-05,1.6e-05,4.2e-06,0.00038,4.5e-06,4.4e-06,0.00037,1,1 +36490000,0.64,-0.0068,0.02,0.77,-3.6,-3.7,-0.058,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00013,0.066,0.0038,-0.11,-0.2,-0.047,0.46,0.00055,-0.0015,-0.025,0,0,0.00012,9e-05,0.0011,0.27,0.35,0.0078,1.2,1.5,0.043,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,9e-05,1.6e-05,4.2e-06,0.00038,4.4e-06,4.3e-06,0.00037,1,1 +36590000,0.64,-0.0068,0.02,0.77,-3.6,-3.8,-0.048,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.066,0.0038,-0.11,-0.2,-0.047,0.46,0.00058,-0.0015,-0.025,0,0,0.00012,8.9e-05,0.0011,0.28,0.37,0.0076,1.3,1.6,0.042,2.9e-07,4.4e-07,1.9e-06,0.0047,0.005,9e-05,1.6e-05,4.2e-06,0.00038,4.4e-06,4.2e-06,0.00037,1,1 +36690000,0.64,-0.0068,0.02,0.77,-3.6,-3.9,-0.04,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00012,0.066,0.0041,-0.11,-0.2,-0.047,0.46,0.00061,-0.0015,-0.025,0,0,0.00012,8.9e-05,0.0011,0.3,0.39,0.0075,1.4,1.7,0.042,3e-07,4.4e-07,1.9e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4.3e-06,4.1e-06,0.00037,1,1 +36790000,0.64,-0.0069,0.02,0.77,-3.6,-3.9,-0.031,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00011,0.066,0.0039,-0.11,-0.2,-0.047,0.46,0.00064,-0.0015,-0.025,0,0,0.00012,8.9e-05,0.0011,0.31,0.41,0.0073,1.5,1.9,0.041,3e-07,4.4e-07,1.9e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4.3e-06,4e-06,0.00037,1,1 +36890000,0.64,-0.0069,0.021,0.77,-3.7,-4,-0.023,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.00011,0.067,0.0041,-0.11,-0.2,-0.047,0.46,0.00067,-0.0015,-0.025,0,0,0.00012,8.9e-05,0.0011,0.33,0.43,0.0072,1.6,2,0.04,3e-07,4.4e-07,1.9e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4.2e-06,3.9e-06,0.00037,1,1 +36990000,0.64,-0.0069,0.021,0.77,-3.7,-4.1,-0.015,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.0001,0.067,0.0042,-0.11,-0.2,-0.047,0.46,0.00069,-0.0015,-0.025,0,0,0.00012,8.8e-05,0.0011,0.35,0.45,0.0071,1.8,2.2,0.04,3e-07,4.4e-07,1.9e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4.2e-06,3.9e-06,0.00037,1,1 +37090000,0.64,-0.0069,0.021,0.77,-3.7,-4.2,-0.0064,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.0001,0.067,0.0043,-0.11,-0.2,-0.047,0.46,0.00069,-0.0014,-0.025,0,0,0.00012,8.8e-05,0.0011,0.37,0.47,0.007,1.9,2.4,0.04,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4.1e-06,3.8e-06,0.00037,1,1 +37190000,0.64,-0.0069,0.021,0.77,-3.8,-4.2,0.0016,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,0.0001,0.067,0.0044,-0.11,-0.2,-0.047,0.46,0.00068,-0.0014,-0.025,0,0,0.00012,8.8e-05,0.0011,0.38,0.49,0.0069,2,2.6,0.039,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4.1e-06,3.7e-06,0.00037,1,1 +37290000,0.64,-0.0069,0.021,0.77,-3.8,-4.3,0.0094,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,9.7e-05,0.067,0.0044,-0.11,-0.2,-0.047,0.46,0.00069,-0.0014,-0.025,0,0,0.00012,8.8e-05,0.0011,0.4,0.51,0.0068,2.2,2.8,0.039,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4.1e-06,3.7e-06,0.00037,1,1 +37390000,0.64,-0.0069,0.021,0.77,-3.8,-4.4,0.017,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,9.3e-05,0.067,0.0043,-0.11,-0.2,-0.047,0.46,0.00071,-0.0014,-0.025,0,0,0.00012,8.7e-05,0.0011,0.42,0.53,0.0068,2.4,3,0.038,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4e-06,3.6e-06,0.00037,1,1 +37490000,0.64,-0.0069,0.021,0.77,-3.8,-4.4,0.024,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,8.7e-05,0.067,0.0044,-0.11,-0.2,-0.047,0.46,0.00074,-0.0014,-0.025,0,0,0.00012,8.7e-05,0.0011,0.44,0.56,0.0067,2.5,3.2,0.038,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4e-06,3.5e-06,0.00037,1,1 +37590000,0.64,-0.0069,0.021,0.77,-3.9,-4.5,0.033,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0057,8.4e-05,0.067,0.0045,-0.11,-0.2,-0.047,0.46,0.00075,-0.0014,-0.025,0,0,0.00012,8.7e-05,0.001,0.46,0.58,0.0067,2.7,3.5,0.038,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,4e-06,3.5e-06,0.00037,1,1 +37690000,0.64,-0.007,0.021,0.77,-3.9,-4.6,0.043,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.8e-05,0.068,0.0045,-0.11,-0.2,-0.047,0.46,0.00076,-0.0014,-0.025,0,0,0.00012,8.7e-05,0.001,0.48,0.6,0.0066,2.9,3.7,0.037,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9e-05,1.5e-05,4.2e-06,0.00038,3.9e-06,3.4e-06,0.00037,1,1 +37790000,0.64,-0.007,0.021,0.77,-3.9,-4.7,0.051,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.6e-05,0.068,0.0043,-0.11,-0.2,-0.047,0.46,0.00076,-0.0014,-0.025,0,0,0.00012,8.7e-05,0.001,0.5,0.63,0.0066,3.1,4,0.037,3e-07,4.4e-07,1.8e-06,0.0047,0.005,9.1e-05,1.4e-05,4.2e-06,0.00038,3.9e-06,3.4e-06,0.00037,1,1 +37890000,0.64,-0.007,0.021,0.77,-3.9,-4.7,0.059,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.4e-05,0.068,0.0046,-0.11,-0.2,-0.047,0.46,0.00077,-0.0014,-0.025,0,0,0.00011,8.6e-05,0.001,0.52,0.65,0.0065,3.4,4.3,0.036,3e-07,4.4e-07,1.8e-06,0.0047,0.0049,9.1e-05,1.4e-05,4.2e-06,0.00038,3.9e-06,3.3e-06,0.00037,1,1 +37990000,0.64,-0.0071,0.021,0.77,-4,-4.8,0.068,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,7.4e-05,0.068,0.0044,-0.11,-0.2,-0.047,0.46,0.00077,-0.0014,-0.025,0,0,0.00011,8.6e-05,0.001,0.54,0.67,0.0066,3.6,4.6,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.2e-06,0.00038,3.9e-06,3.3e-06,0.00037,1,1 +38090000,0.64,-0.0071,0.021,0.77,-4,-4.9,0.079,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.9e-05,0.068,0.0044,-0.11,-0.2,-0.047,0.46,0.00078,-0.0014,-0.025,0,0,0.00011,8.6e-05,0.001,0.57,0.7,0.0065,3.9,4.9,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.2e-06,0.00038,3.9e-06,3.2e-06,0.00037,1,1 +38190000,0.64,-0.0071,0.021,0.77,-4,-5,0.086,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.7e-05,0.068,0.0044,-0.11,-0.2,-0.047,0.46,0.00078,-0.0014,-0.025,0,0,0.00011,8.6e-05,0.001,0.59,0.72,0.0065,4.1,5.3,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.2e-06,0.00038,3.8e-06,3.2e-06,0.00037,1,1 +38290000,0.64,-0.0071,0.021,0.77,-4.1,-5,0.094,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.7e-05,0.068,0.0044,-0.11,-0.2,-0.047,0.46,0.00078,-0.0014,-0.025,0,0,0.00011,8.6e-05,0.001,0.61,0.75,0.0065,4.4,5.6,0.036,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.2e-06,0.00038,3.8e-06,3.1e-06,0.00037,1,1 +38390000,0.64,-0.007,0.021,0.77,-4.1,-5.1,0.1,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.9e-05,0.068,0.0042,-0.11,-0.2,-0.047,0.46,0.00078,-0.0013,-0.025,0,0,0.00011,8.6e-05,0.001,0.64,0.77,0.0065,4.7,6,0.035,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3.1e-06,0.00037,1,1 +38490000,0.64,-0.007,0.021,0.77,-4.1,-5.2,0.11,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.7e-05,0.068,0.0043,-0.11,-0.2,-0.047,0.46,0.00079,-0.0013,-0.025,0,0,0.00011,8.5e-05,0.001,0.66,0.8,0.0065,5.1,6.4,0.035,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3e-06,0.00037,1,1 +38590000,0.64,-0.007,0.021,0.77,-4.1,-5.2,0.11,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.8e-05,0.068,0.0045,-0.11,-0.2,-0.047,0.46,0.00079,-0.0013,-0.025,0,0,0.00011,8.5e-05,0.001,0.68,0.82,0.0066,5.4,6.8,0.035,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3e-06,0.00037,1,1 +38690000,0.64,-0.007,0.021,0.77,-4.2,-5.3,0.12,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.4e-05,0.067,0.0047,-0.11,-0.2,-0.047,0.46,0.0008,-0.0013,-0.025,0,0,0.00011,8.5e-05,0.001,0.71,0.85,0.0065,5.8,7.3,0.035,3.1e-07,4.4e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,3e-06,0.00037,1,1 +38790000,0.64,-0.007,0.021,0.77,-4.2,-5.4,0.13,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.3e-05,0.067,0.0046,-0.11,-0.2,-0.047,0.46,0.0008,-0.0013,-0.025,0,0,0.00011,8.5e-05,0.001,0.73,0.88,0.0066,6.1,7.7,0.035,3.1e-07,4.3e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,2.9e-06,0.00037,1,1 +38890000,0.64,-0.0071,0.021,0.77,-4.2,-5.4,0.63,-1e+06,1.2e+04,-3.7e+02,-0.0012,-0.0056,6.3e-05,0.067,0.0047,-0.11,-0.2,-0.047,0.46,0.0008,-0.0013,-0.025,0,0,0.00011,8.5e-05,0.001,0.75,0.89,0.0066,6.5,8.2,0.035,3.1e-07,4.3e-07,1.8e-06,0.0046,0.0049,9.1e-05,1.4e-05,4.1e-06,0.00038,3.8e-06,2.9e-06,0.00037,1,1 diff --git a/src/modules/ekf2/test/change_indication/iris_gps.csv b/src/modules/ekf2/test/change_indication/iris_gps.csv index aac40d267e0d..c5ad1dd6f49a 100644 --- a/src/modules/ekf2/test/change_indication/iris_gps.csv +++ b/src/modules/ekf2/test/change_indication/iris_gps.csv @@ -69,283 +69,283 @@ Timestamp,state[0],state[1],state[2],state[3],state[4],state[5],state[6],state[7 6690000,1,-0.0089,-0.011,0.00052,0.0022,0.018,-0.044,0.0032,0.0075,-0.057,-0.0017,-0.0056,-9e-05,0,0,-0.13,0,0,0,0,0,0,0,0,0.0016,0.0016,9.9e-05,0.23,0.23,0.035,0.14,0.14,0.068,9.8e-05,9.8e-05,2.6e-06,0.04,0.04,0.0031,0.0025,0.0025,0.0025,0.0025,0.0025,0.0025,1,1 6790000,1,-0.009,-0.011,0.00048,0.003,0.015,-0.042,0.0021,0.0059,-0.058,-0.0016,-0.0056,-9.2e-05,0,0,-0.13,0,0,0,0,0,0,0,0,0.0014,0.0014,9.3e-05,0.18,0.18,0.034,0.11,0.11,0.068,8.1e-05,8.1e-05,2.4e-06,0.04,0.04,0.003,0.0025,0.0025,0.0025,0.0025,0.0025,0.0025,1,1 6890000,1,-0.0088,-0.011,0.0004,0.0023,0.015,-0.039,0.0024,0.0074,-0.055,-0.0016,-0.0056,-9.2e-05,0,0,-0.13,0,0,0,0,0,0,0,0,0.0015,0.0015,9.6e-05,0.21,0.21,0.032,0.14,0.14,0.067,8.1e-05,8.1e-05,2.4e-06,0.04,0.04,0.0028,0.0025,0.0025,0.0025,0.0025,0.0025,0.0025,1,1 -6990000,-0.29,0.024,-0.0063,0.96,-0.2,-0.03,-0.037,-0.11,-0.017,-0.055,-0.00076,-0.0097,-0.0002,0,0,-0.13,-0.092,-0.02,0.51,0.069,-0.028,-0.058,0,0,0.0011,0.0012,0.076,0.16,0.16,0.031,0.1,0.1,0.066,6.3e-05,6.4e-05,2.2e-06,0.04,0.04,0.0026,0.0014,0.00048,0.0014,0.0014,0.0012,0.0014,1,1 -7090000,-0.28,0.025,-0.0064,0.96,-0.24,-0.045,-0.038,-0.15,-0.025,-0.056,-0.00064,-0.01,-0.00021,0,0,-0.13,-0.099,-0.022,0.51,0.075,-0.029,-0.065,0,0,0.0011,0.0011,0.063,0.19,0.18,0.03,0.13,0.13,0.066,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0024,0.0013,0.00025,0.0013,0.0013,0.00095,0.0013,1,1 -7190000,-0.28,0.025,-0.0064,0.96,-0.26,-0.053,-0.037,-0.17,-0.031,-0.059,-0.0006,-0.01,-0.00021,-0.00035,-7.2e-05,-0.13,-0.1,-0.022,0.51,0.077,-0.03,-0.067,0,0,0.0011,0.0011,0.06,0.21,0.21,0.029,0.16,0.15,0.065,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0023,0.0013,0.00018,0.0013,0.0013,0.0009,0.0013,1,1 -7290000,-0.28,0.025,-0.0065,0.96,-0.29,-0.062,-0.034,-0.2,-0.038,-0.055,-0.00059,-0.01,-0.00021,-0.00088,-0.00017,-0.13,-0.1,-0.022,0.51,0.077,-0.03,-0.067,0,0,0.001,0.0011,0.058,0.25,0.24,0.028,0.19,0.19,0.064,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0022,0.0013,0.00015,0.0013,0.0013,0.00087,0.0013,1,1 -7390000,-0.28,0.024,-0.0064,0.96,-0.3,-0.068,-0.032,-0.23,-0.044,-0.052,-0.00058,-0.01,-0.00021,-0.0011,-0.00021,-0.13,-0.1,-0.022,0.5,0.078,-0.03,-0.068,0,0,0.001,0.001,0.057,0.28,0.28,0.027,0.23,0.23,0.064,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.002,0.0013,0.00013,0.0013,0.0013,0.00086,0.0013,1,1 -7490000,-0.28,0.024,-0.0065,0.96,-0.32,-0.075,-0.026,-0.26,-0.052,-0.046,-0.00057,-0.0099,-0.00021,-0.0015,-0.00025,-0.13,-0.1,-0.022,0.5,0.078,-0.03,-0.068,0,0,0.00097,0.001,0.056,0.32,0.31,0.026,0.28,0.28,0.063,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0019,0.0013,0.00012,0.0013,0.0013,0.00085,0.0013,1,1 -7590000,-0.28,0.024,-0.0066,0.96,-0.34,-0.082,-0.022,-0.28,-0.061,-0.041,-0.00055,-0.0098,-0.00021,-0.0016,-0.00021,-0.13,-0.1,-0.022,0.5,0.078,-0.03,-0.068,0,0,0.00094,0.00097,0.056,0.36,0.36,0.025,0.34,0.34,0.062,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0018,0.0013,0.00011,0.0013,0.0013,0.00085,0.0013,1,1 -7690000,-0.28,0.024,-0.0066,0.96,-0.35,-0.091,-0.022,-0.31,-0.071,-0.036,-0.00053,-0.0097,-0.00021,-0.0017,-0.00019,-0.13,-0.1,-0.022,0.5,0.079,-0.031,-0.068,0,0,0.00091,0.00094,0.055,0.4,0.4,0.025,0.41,0.4,0.062,6.1e-05,6.2e-05,2.2e-06,0.04,0.04,0.0017,0.0013,0.0001,0.0013,0.0013,0.00084,0.0013,1,1 -7790000,-0.28,0.023,-0.0064,0.96,-0.36,-0.1,-0.024,-0.34,-0.085,-0.041,-0.00046,-0.0096,-0.0002,-0.0017,-0.00022,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.00088,0.00091,0.055,0.45,0.45,0.024,0.48,0.48,0.061,6.1e-05,6.2e-05,2.2e-06,0.04,0.04,0.0016,0.0013,9.8e-05,0.0013,0.0013,0.00084,0.0013,1,1 -7890000,-0.28,0.023,-0.0065,0.96,-0.37,-0.11,-0.025,-0.37,-0.097,-0.045,-0.00044,-0.0095,-0.0002,-0.0016,-0.00022,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.00085,0.00088,0.055,0.5,0.49,0.023,0.57,0.56,0.06,6e-05,6.1e-05,2.2e-06,0.04,0.04,0.0015,0.0013,9.4e-05,0.0013,0.0013,0.00083,0.0013,1,1 -7990000,-0.28,0.023,-0.0065,0.96,-0.39,-0.11,-0.021,-0.4,-0.11,-0.041,-0.00047,-0.0094,-0.0002,-0.0016,-0.00017,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.00083,0.00085,0.054,0.55,0.54,0.022,0.67,0.66,0.059,6e-05,6.1e-05,2.2e-06,0.04,0.04,0.0015,0.0013,9.1e-05,0.0013,0.0012,0.00083,0.0013,1,1 -8090000,-0.28,0.023,-0.0064,0.96,-0.41,-0.12,-0.022,-0.44,-0.12,-0.044,-0.0004,-0.0094,-0.0002,-0.0016,-0.00022,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.0008,0.00082,0.054,0.6,0.6,0.022,0.79,0.77,0.059,5.9e-05,6e-05,2.2e-06,0.04,0.04,0.0014,0.0013,8.8e-05,0.0013,0.0012,0.00083,0.0013,1,1 -8190000,-0.28,0.022,-0.0064,0.96,-0.41,-0.14,-0.017,-0.46,-0.14,-0.038,-0.00033,-0.0092,-0.0002,-0.0016,-0.00023,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.00077,0.0008,0.054,0.66,0.65,0.021,0.91,0.9,0.058,5.8e-05,5.9e-05,2.2e-06,0.04,0.04,0.0013,0.0013,8.6e-05,0.0013,0.0012,0.00082,0.0013,1,1 -8290000,-0.28,0.022,-0.0066,0.96,-0.44,-0.14,-0.016,-0.51,-0.15,-0.038,-0.00039,-0.0093,-0.0002,-0.0017,-0.0002,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.00075,0.00077,0.054,0.71,0.7,0.02,1.1,1,0.057,5.7e-05,5.8e-05,2.2e-06,0.04,0.04,0.0013,0.0013,8.4e-05,0.0013,0.0012,0.00082,0.0013,1,1 -8390000,-0.28,0.022,-0.0066,0.96,-0.45,-0.14,-0.015,-0.55,-0.16,-0.036,-0.00039,-0.0092,-0.0002,-0.0017,-0.00018,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.00073,0.00075,0.054,0.77,0.76,0.02,1.2,1.2,0.057,5.6e-05,5.7e-05,2.2e-06,0.04,0.04,0.0012,0.0013,8.3e-05,0.0013,0.0012,0.00082,0.0013,1,1 -8490000,-0.28,0.022,-0.0066,0.96,-0.46,-0.14,-0.016,-0.58,-0.17,-0.041,-0.00048,-0.0091,-0.00019,-0.0016,-9.5e-05,-0.13,-0.1,-0.023,0.5,0.079,-0.031,-0.068,0,0,0.0007,0.00072,0.053,0.82,0.82,0.019,1.4,1.4,0.056,5.5e-05,5.5e-05,2.2e-06,0.04,0.04,0.0011,0.0013,8.1e-05,0.0013,0.0012,0.00082,0.0013,1,1 -8590000,-0.28,0.021,-0.0064,0.96,-0.45,-0.15,-0.012,-0.6,-0.19,-0.036,-0.00042,-0.0089,-0.00019,-0.0016,-9.3e-05,-0.13,-0.1,-0.023,0.5,0.08,-0.031,-0.068,0,0,0.00068,0.0007,0.053,0.88,0.87,0.019,1.6,1.5,0.055,5.3e-05,5.4e-05,2.2e-06,0.04,0.04,0.0011,0.0012,8e-05,0.0013,0.0012,0.00081,0.0013,1,1 -8690000,-0.28,0.021,-0.0066,0.96,-0.47,-0.15,-0.014,-0.64,-0.2,-0.037,-0.00048,-0.0088,-0.00019,-0.0016,-5.5e-05,-0.13,-0.1,-0.023,0.5,0.08,-0.031,-0.069,0,0,0.00066,0.00068,0.053,0.94,0.93,0.018,1.8,1.7,0.055,5.2e-05,5.2e-05,2.2e-06,0.04,0.04,0.001,0.0012,7.9e-05,0.0013,0.0012,0.00081,0.0013,1,1 -8790000,-0.28,0.021,-0.0066,0.96,-0.48,-0.16,-0.013,-0.68,-0.22,-0.035,-0.00046,-0.0088,-0.00018,-0.0016,-5e-05,-0.13,-0.1,-0.023,0.5,0.08,-0.031,-0.069,0,0,0.00064,0.00066,0.053,1,0.99,0.018,2,2,0.055,5e-05,5.1e-05,2.2e-06,0.04,0.04,0.00099,0.0012,7.8e-05,0.0013,0.0012,0.00081,0.0013,1,1 -8890000,-0.28,0.021,-0.0066,0.96,-0.47,-0.16,-0.0094,-0.68,-0.23,-0.029,-0.00051,-0.0085,-0.00018,-0.0016,5.8e-05,-0.13,-0.1,-0.023,0.5,0.08,-0.031,-0.069,0,0,0.00063,0.00064,0.053,1.1,1,0.017,2.2,2.2,0.054,4.8e-05,4.9e-05,2.2e-06,0.04,0.04,0.00095,0.0012,7.7e-05,0.0013,0.0012,0.0008,0.0013,1,1 -8990000,-0.28,0.02,-0.0064,0.96,-0.45,-0.16,-0.0089,-0.68,-0.24,-0.032,-0.00055,-0.0082,-0.00017,-0.0013,0.00016,-0.13,-0.1,-0.023,0.5,0.08,-0.032,-0.069,0,0,0.00061,0.00063,0.053,1.1,1.1,0.017,2.5,2.4,0.054,4.7e-05,4.7e-05,2.2e-06,0.04,0.04,0.00091,0.0012,7.6e-05,0.0013,0.0012,0.0008,0.0013,1,1 -9090000,-0.28,0.02,-0.0065,0.96,-0.46,-0.15,-0.01,-0.72,-0.22,-0.032,-0.00071,-0.0082,-0.00016,-0.0012,0.00033,-0.13,-0.1,-0.023,0.5,0.08,-0.031,-0.069,0,0,0.0006,0.00061,0.053,1.2,1.2,0.016,2.7,2.7,0.053,4.5e-05,4.5e-05,2.2e-06,0.04,0.04,0.00087,0.0012,7.5e-05,0.0013,0.0012,0.0008,0.0013,1,1 -9190000,-0.28,0.02,-0.0065,0.96,-0.46,-0.15,-0.0096,-0.74,-0.22,-0.033,-0.00081,-0.008,-0.00016,-0.0011,0.00045,-0.13,-0.1,-0.023,0.5,0.081,-0.031,-0.069,0,0,0.00058,0.0006,0.053,1.2,1.2,0.016,3,3,0.052,4.3e-05,4.3e-05,2.2e-06,0.04,0.04,0.00084,0.0012,7.4e-05,0.0013,0.0012,0.00079,0.0013,1,1 -9290000,-0.28,0.02,-0.0062,0.96,-0.46,-0.15,-0.0082,-0.74,-0.24,-0.03,-0.00081,-0.0078,-0.00015,-0.001,0.00052,-0.13,-0.1,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00057,0.00059,0.053,1.3,1.3,0.015,3.3,3.3,0.052,4.1e-05,4.1e-05,2.2e-06,0.04,0.04,0.0008,0.0012,7.4e-05,0.0013,0.0012,0.00079,0.0013,1,1 -9390000,-0.28,0.019,-0.006,0.96,-0.45,-0.17,-0.0071,-0.75,-0.27,-0.031,-0.00073,-0.0077,-0.00015,-0.00084,0.0005,-0.13,-0.1,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00056,0.00058,0.053,1.4,1.4,0.015,3.7,3.6,0.052,4e-05,4e-05,2.2e-06,0.04,0.04,0.00077,0.0012,7.3e-05,0.0013,0.0012,0.00079,0.0013,1,1 -9490000,-0.28,0.019,-0.0061,0.96,-0.46,-0.16,-0.0055,-0.78,-0.27,-0.028,-0.0008,-0.0076,-0.00015,-0.00092,0.00059,-0.14,-0.1,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00055,0.00057,0.053,1.4,1.4,0.015,4,4,0.051,3.8e-05,3.8e-05,2.2e-06,0.04,0.04,0.00074,0.0012,7.2e-05,0.0013,0.0012,0.00079,0.0013,1,1 -9590000,-0.28,0.019,-0.0061,0.96,-0.47,-0.18,-0.0054,-0.82,-0.32,-0.029,-0.00068,-0.0075,-0.00015,-0.00085,0.00046,-0.14,-0.1,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00054,0.00056,0.053,1.5,1.5,0.014,4.4,4.3,0.05,3.6e-05,3.6e-05,2.2e-06,0.04,0.04,0.00072,0.0012,7.2e-05,0.0013,0.0012,0.00078,0.0013,1,1 -9690000,-0.28,0.019,-0.006,0.96,-0.47,-0.19,-0.0026,-0.83,-0.35,-0.028,-0.00064,-0.0074,-0.00015,-0.00077,0.00045,-0.14,-0.11,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00054,0.00055,0.053,1.6,1.6,0.014,4.8,4.8,0.05,3.5e-05,3.4e-05,2.2e-06,0.04,0.04,0.00069,0.0012,7.1e-05,0.0013,0.0012,0.00078,0.0013,1,1 -9790000,-0.28,0.019,-0.006,0.96,-0.48,-0.2,-0.004,-0.88,-0.39,-0.029,-0.00055,-0.0074,-0.00015,-0.00075,0.00038,-0.14,-0.11,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00053,0.00054,0.053,1.6,1.6,0.014,5.2,5.2,0.05,3.3e-05,3.3e-05,2.2e-06,0.04,0.04,0.00067,0.0012,7.1e-05,0.0013,0.0012,0.00078,0.0013,1,1 -9890000,-0.28,0.019,-0.0059,0.96,-0.47,-0.21,-0.0028,-0.88,-0.41,-0.03,-0.00058,-0.0072,-0.00014,-0.00051,0.00044,-0.14,-0.11,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00053,0.00054,0.053,1.7,1.7,0.013,5.7,5.7,0.049,3.1e-05,3.1e-05,2.2e-06,0.04,0.04,0.00064,0.0012,7e-05,0.0013,0.0012,0.00078,0.0013,1,1 -9990000,-0.28,0.019,-0.0059,0.96,-0.49,-0.22,-0.0021,-0.93,-0.44,-0.032,-0.00052,-0.0072,-0.00015,-0.00043,0.00037,-0.14,-0.11,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00052,0.00053,0.053,1.8,1.8,0.013,6.2,6.2,0.049,3e-05,2.9e-05,2.2e-06,0.04,0.04,0.00062,0.0012,7e-05,0.0013,0.0012,0.00077,0.0013,1,1 -10090000,-0.28,0.019,-0.0058,0.96,-0.49,-0.23,-0.00087,-0.96,-0.5,-0.03,-0.00041,-0.0071,-0.00015,-0.00043,0.00029,-0.14,-0.11,-0.023,0.5,0.081,-0.032,-0.069,0,0,0.00052,0.00053,0.053,1.9,1.9,0.013,6.8,6.7,0.049,2.8e-05,2.8e-05,2.2e-06,0.04,0.04,0.0006,0.0012,7e-05,0.0013,0.0012,0.00077,0.0013,1,1 -10190000,-0.28,0.019,-0.0057,0.96,-0.49,-0.25,-3e-05,-0.97,-0.56,-0.031,-0.00028,-0.007,-0.00015,-0.00026,0.00016,-0.14,-0.11,-0.023,0.5,0.081,-0.033,-0.069,0,0,0.00051,0.00052,0.053,2,1.9,0.013,7.3,7.3,0.048,2.7e-05,2.6e-05,2.2e-06,0.04,0.04,0.00058,0.0012,6.9e-05,0.0013,0.0012,0.00077,0.0013,1,1 -10290000,-0.28,0.019,-0.0057,0.96,-0.49,-0.25,-0.0012,-0.98,-0.57,-0.03,-0.00034,-0.0069,-0.00014,-0.00014,0.00022,-0.14,-0.11,-0.023,0.5,0.081,-0.033,-0.069,0,0,0.00051,0.00052,0.053,2,2,0.012,8,7.9,0.048,2.6e-05,2.5e-05,2.2e-06,0.04,0.04,0.00057,0.0012,6.9e-05,0.0013,0.0012,0.00077,0.0013,1,1 -10390000,-0.28,0.019,-0.0056,0.96,0.0031,-0.0051,-0.0025,0.00058,-0.00014,-0.03,-0.00038,-0.0067,-0.00014,1.3e-05,0.00029,-0.14,-0.11,-0.023,0.5,0.081,-0.033,-0.069,0,0,0.00051,0.00052,0.053,0.25,0.25,0.56,0.25,0.25,0.048,2.4e-05,2.4e-05,2.2e-06,0.04,0.04,0.00055,0.0012,6.9e-05,0.0013,0.0012,0.00077,0.0013,1,1 -10490000,-0.28,0.019,-0.0056,0.96,-0.01,-0.0085,0.0071,0.00025,-0.0008,-0.024,-0.00032,-0.0067,-0.00014,-0.00013,0.00023,-0.14,-0.11,-0.023,0.5,0.081,-0.033,-0.069,0,0,0.00051,0.00051,0.053,0.26,0.26,0.55,0.26,0.26,0.057,2.3e-05,2.2e-05,2.2e-06,0.04,0.04,0.00054,0.0012,6.9e-05,0.0013,0.0012,0.00076,0.0013,1,1 -10590000,-0.28,0.019,-0.0055,0.96,-0.021,-0.0072,0.013,-0.0011,-0.00056,-0.022,-0.00041,-0.0066,-0.00013,0.00012,0.00057,-0.14,-0.11,-0.023,0.5,0.081,-0.033,-0.069,0,0,0.0005,0.00051,0.053,0.13,0.13,0.27,0.26,0.26,0.055,2.2e-05,2.1e-05,2.2e-06,0.039,0.039,0.00052,0.0012,6.9e-05,0.0013,0.0012,0.00076,0.0013,1,1 -10690000,-0.28,0.019,-0.0054,0.96,-0.033,-0.0096,0.016,-0.0038,-0.0014,-0.018,-0.00039,-0.0065,-0.00013,0.00014,0.00056,-0.14,-0.11,-0.023,0.5,0.081,-0.033,-0.069,0,0,0.0005,0.00051,0.053,0.14,0.14,0.26,0.27,0.27,0.065,2.1e-05,2e-05,2.2e-06,0.039,0.039,0.00052,0.0012,6.9e-05,0.0013,0.0012,0.00076,0.0013,1,1 -10790000,-0.28,0.019,-0.0053,0.96,-0.033,-0.013,0.014,0.00012,-0.0018,-0.016,-0.00042,-0.0064,-0.00013,0.002,2.6e-05,-0.14,-0.11,-0.023,0.5,0.081,-0.033,-0.069,0,0,0.00048,0.00049,0.052,0.094,0.094,0.17,0.13,0.13,0.062,2e-05,1.9e-05,2.2e-06,0.038,0.038,0.00051,0.0012,6.9e-05,0.0013,0.0012,0.00076,0.0013,1,1 -10890000,-0.28,0.019,-0.0052,0.96,-0.043,-0.018,0.01,-0.0036,-0.0034,-0.019,-0.00054,-0.0063,-0.00012,0.0021,0.00017,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00048,0.00049,0.052,0.1,0.1,0.16,0.14,0.14,0.068,1.9e-05,1.8e-05,2.2e-06,0.038,0.038,0.0005,0.0012,6.9e-05,0.0013,0.0012,0.00076,0.0013,1,1 -10990000,-0.28,0.019,-0.0052,0.96,-0.039,-0.021,0.016,-0.0014,-0.0019,-0.012,-0.00057,-0.0064,-0.00012,0.0058,0.00059,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00045,0.00046,0.052,0.081,0.081,0.12,0.091,0.091,0.065,1.8e-05,1.7e-05,2.2e-06,0.036,0.036,0.00049,0.0012,6.9e-05,0.0013,0.0012,0.00075,0.0013,1,1 -11090000,-0.28,0.019,-0.0053,0.96,-0.05,-0.028,0.02,-0.0059,-0.0044,-0.0081,-0.00046,-0.0063,-0.00013,0.006,0.00059,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00045,0.00046,0.052,0.093,0.093,0.11,0.097,0.097,0.069,1.7e-05,1.6e-05,2.2e-06,0.036,0.036,0.00049,0.0012,6.9e-05,0.0013,0.0012,0.00075,0.0013,1,1 -11190000,-0.28,0.018,-0.0054,0.96,-0.041,-0.025,0.027,-0.002,-0.0027,-0.0011,-0.00047,-0.0063,-0.00013,0.013,0.0015,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00041,0.00042,0.052,0.076,0.076,0.083,0.072,0.072,0.066,1.6e-05,1.5e-05,2.2e-06,0.033,0.033,0.00048,0.0012,6.8e-05,0.0013,0.0012,0.00075,0.0013,1,1 -11290000,-0.28,0.018,-0.0054,0.96,-0.05,-0.027,0.026,-0.0065,-0.0052,-0.00073,-0.00048,-0.0063,-0.00013,0.013,0.0014,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00041,0.00042,0.052,0.09,0.09,0.077,0.078,0.078,0.069,1.5e-05,1.5e-05,2.2e-06,0.033,0.033,0.00048,0.0012,6.8e-05,0.0013,0.0012,0.00075,0.0013,1,1 -11390000,-0.28,0.018,-0.0053,0.96,-0.043,-0.023,0.017,-0.0037,-0.0033,-0.0092,-0.00053,-0.0063,-0.00013,0.019,0.0028,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00036,0.00037,0.052,0.075,0.075,0.062,0.062,0.062,0.066,1.4e-05,1.4e-05,2.2e-06,0.029,0.029,0.00047,0.0012,6.8e-05,0.0013,0.0012,0.00074,0.0013,1,1 -11490000,-0.28,0.018,-0.0052,0.96,-0.05,-0.025,0.021,-0.0082,-0.0059,-0.003,-0.00054,-0.0063,-0.00012,0.019,0.003,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00036,0.00037,0.052,0.089,0.089,0.057,0.068,0.068,0.067,1.4e-05,1.3e-05,2.2e-06,0.029,0.029,0.00047,0.0012,6.8e-05,0.0013,0.0012,0.00074,0.0013,1,1 -11590000,-0.28,0.018,-0.0053,0.96,-0.044,-0.021,0.019,-0.005,-0.0038,-0.0041,-0.00058,-0.0063,-0.00012,0.025,0.0041,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00031,0.00032,0.052,0.074,0.074,0.048,0.056,0.056,0.065,1.3e-05,1.2e-05,2.2e-06,0.025,0.025,0.00047,0.0012,6.8e-05,0.0013,0.0012,0.00074,0.0013,1,1 -11690000,-0.28,0.017,-0.0053,0.96,-0.051,-0.025,0.019,-0.0097,-0.0061,-0.0053,-0.00062,-0.0063,-0.00012,0.024,0.0041,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00032,0.00032,0.052,0.088,0.088,0.044,0.063,0.063,0.066,1.2e-05,1.2e-05,2.2e-06,0.025,0.025,0.00047,0.0012,6.8e-05,0.0013,0.0012,0.00074,0.0013,1,1 -11790000,-0.28,0.017,-0.0052,0.96,-0.041,-0.025,0.02,-0.0056,-0.0054,-0.0023,-0.00071,-0.0063,-0.00012,0.03,0.0045,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00027,0.00027,0.052,0.073,0.073,0.037,0.053,0.053,0.063,1.2e-05,1.1e-05,2.2e-06,0.021,0.021,0.00046,0.0012,6.8e-05,0.0013,0.0012,0.00073,0.0013,1,1 -11890000,-0.28,0.017,-0.0054,0.96,-0.049,-0.027,0.018,-0.01,-0.0079,-0.0016,-0.0007,-0.0063,-0.00012,0.03,0.0044,-0.14,-0.11,-0.023,0.5,0.082,-0.033,-0.069,0,0,0.00027,0.00027,0.052,0.085,0.085,0.034,0.06,0.06,0.063,1.1e-05,1.1e-05,2.2e-06,0.021,0.021,0.00046,0.0012,6.8e-05,0.0013,0.0012,0.00073,0.0013,1,1 -11990000,-0.28,0.017,-0.0054,0.96,-0.039,-0.021,0.015,-0.0064,-0.0052,-0.0052,-0.00073,-0.0063,-0.00012,0.036,0.0065,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.00023,0.00023,0.052,0.074,0.074,0.03,0.062,0.062,0.061,1.1e-05,1e-05,2.2e-06,0.018,0.018,0.00046,0.0012,6.8e-05,0.0013,0.0012,0.00073,0.0013,1,1 -12090000,-0.28,0.017,-0.0053,0.96,-0.045,-0.022,0.018,-0.011,-0.0074,0.00087,-0.0007,-0.0062,-0.00012,0.037,0.0067,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.00023,0.00023,0.052,0.085,0.085,0.027,0.07,0.07,0.06,1e-05,9.7e-06,2.2e-06,0.018,0.018,0.00046,0.0012,6.8e-05,0.0013,0.0012,0.00073,0.0013,1,1 -12190000,-0.28,0.017,-0.0053,0.96,-0.038,-0.013,0.017,-0.0054,-0.0028,0.0028,-0.00066,-0.0062,-0.00012,0.042,0.0085,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.0002,0.0002,0.052,0.068,0.068,0.024,0.057,0.057,0.058,9.7e-06,9.2e-06,2.2e-06,0.015,0.015,0.00045,0.0012,6.8e-05,0.0012,0.0012,0.00072,0.0013,1,1 -12290000,-0.28,0.017,-0.0054,0.96,-0.04,-0.011,0.016,-0.0094,-0.004,0.0038,-0.00064,-0.0062,-0.00012,0.043,0.0084,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.0002,0.0002,0.052,0.079,0.079,0.022,0.065,0.065,0.058,9.3e-06,8.8e-06,2.2e-06,0.015,0.015,0.00045,0.0012,6.8e-05,0.0012,0.0012,0.00072,0.0013,1,1 -12390000,-0.28,0.016,-0.0054,0.96,-0.033,-0.0082,0.014,-0.0051,-0.0026,-0.0022,-0.00063,-0.0062,-0.00012,0.046,0.0086,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.00017,0.00017,0.051,0.064,0.064,0.02,0.054,0.054,0.056,8.9e-06,8.4e-06,2.2e-06,0.012,0.013,0.00045,0.0012,6.8e-05,0.0012,0.0012,0.00072,0.0013,1,1 -12490000,-0.28,0.016,-0.0054,0.96,-0.036,-0.0092,0.018,-0.0087,-0.0035,-0.00015,-0.00061,-0.0061,-0.00012,0.047,0.0087,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.00017,0.00017,0.051,0.073,0.073,0.018,0.061,0.061,0.055,8.5e-06,8e-06,2.2e-06,0.012,0.013,0.00045,0.0012,6.8e-05,0.0012,0.0012,0.00072,0.0013,1,1 -12590000,-0.28,0.016,-0.0053,0.96,-0.03,-0.008,0.019,-0.0035,-0.0039,0.0017,-0.00062,-0.0061,-0.00012,0.05,0.0077,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.00015,0.00015,0.051,0.06,0.06,0.017,0.051,0.051,0.054,8.1e-06,7.7e-06,2.2e-06,0.011,0.011,0.00045,0.0012,6.8e-05,0.0012,0.0012,0.00072,0.0013,1,1 -12690000,-0.28,0.016,-0.0053,0.96,-0.033,-0.0061,0.019,-0.0066,-0.0046,0.0032,-0.00061,-0.0061,-0.00012,0.05,0.0077,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.069,0,0,0.00015,0.00015,0.051,0.068,0.068,0.015,0.059,0.059,0.053,7.8e-06,7.3e-06,2.2e-06,0.011,0.011,0.00045,0.0012,6.8e-05,0.0012,0.0012,0.00072,0.0013,1,1 -12790000,-0.28,0.016,-0.0051,0.96,-0.023,-0.012,0.02,-0.0016,-0.0076,0.0054,-0.00068,-0.0061,-0.00012,0.053,0.0067,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.069,0,0,0.00013,0.00013,0.051,0.06,0.06,0.014,0.061,0.061,0.051,7.5e-06,7e-06,2.2e-06,0.0093,0.0095,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0013,1,1 -12890000,-0.28,0.016,-0.0051,0.96,-0.025,-0.012,0.021,-0.0039,-0.0089,0.0084,-0.00071,-0.006,-0.00012,0.053,0.0071,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.069,0,0,0.00013,0.00013,0.051,0.068,0.068,0.013,0.07,0.07,0.051,7.2e-06,6.7e-06,2.2e-06,0.0093,0.0095,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0013,1,1 -12990000,-0.28,0.016,-0.0051,0.96,-0.021,-0.0096,0.022,-0.0012,-0.0062,0.0096,-0.00076,-0.0061,-0.00012,0.054,0.0077,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.07,0,0,0.00012,0.00012,0.051,0.054,0.054,0.012,0.056,0.056,0.05,6.9e-06,6.4e-06,2.2e-06,0.008,0.0082,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0013,1,1 -13090000,-0.28,0.016,-0.0051,0.96,-0.023,-0.011,0.019,-0.0033,-0.0075,0.0084,-0.0008,-0.006,-0.00011,0.054,0.0082,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.07,0,0,0.00012,0.00012,0.051,0.061,0.061,0.011,0.064,0.064,0.049,6.6e-06,6.2e-06,2.2e-06,0.0079,0.0082,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0013,1,1 -13190000,-0.28,0.016,-0.005,0.96,-0.019,-0.011,0.018,-0.0017,-0.0085,0.009,-0.00082,-0.006,-0.00011,0.055,0.0082,-0.14,-0.11,-0.023,0.5,0.083,-0.033,-0.07,0,0,0.00011,0.00011,0.051,0.054,0.054,0.011,0.066,0.066,0.047,6.3e-06,5.9e-06,2.2e-06,0.0071,0.0074,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0013,1,1 -13290000,-0.28,0.016,-0.005,0.96,-0.02,-0.011,0.016,-0.0037,-0.0097,0.0083,-0.00081,-0.006,-0.00011,0.055,0.0084,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,0.00011,0.00011,0.051,0.06,0.06,0.01,0.075,0.075,0.047,6.1e-06,5.7e-06,2.2e-06,0.0071,0.0073,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0012,1,1 -13390000,-0.28,0.016,-0.005,0.96,-0.017,-0.0081,0.015,-0.0014,-0.0067,0.0089,-0.00079,-0.006,-0.00011,0.057,0.0084,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,9.9e-05,9.9e-05,0.051,0.048,0.048,0.0094,0.06,0.06,0.046,5.8e-06,5.4e-06,2.2e-06,0.0062,0.0065,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0012,1,1 -13490000,-0.28,0.016,-0.005,0.96,-0.019,-0.011,0.015,-0.0032,-0.0078,0.0051,-0.00079,-0.006,-0.00011,0.057,0.0087,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,0.0001,0.0001,0.051,0.053,0.053,0.009,0.068,0.068,0.045,5.6e-06,5.2e-06,2.2e-06,0.0062,0.0065,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0012,1,1 -13590000,-0.28,0.016,-0.005,0.96,-0.014,-0.0072,0.016,0.0017,-0.0055,0.0036,-0.00077,-0.006,-0.00011,0.059,0.0088,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,9.2e-05,9.2e-05,0.051,0.044,0.044,0.0085,0.055,0.055,0.044,5.4e-06,5e-06,2.2e-06,0.0056,0.0058,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.00071,0.0012,1,1 -13690000,-0.28,0.016,-0.0049,0.96,-0.015,-0.0064,0.016,0.00027,-0.0063,0.0062,-0.0008,-0.0059,-0.00011,0.059,0.0091,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,9.3e-05,9.3e-05,0.051,0.049,0.049,0.0082,0.063,0.063,0.044,5.2e-06,4.8e-06,2.2e-06,0.0055,0.0058,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -13790000,-0.28,0.015,-0.0049,0.96,-0.011,-0.0044,0.016,0.0054,-0.0033,0.0057,-0.00079,-0.006,-0.00011,0.06,0.0089,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,8.7e-05,8.6e-05,0.051,0.041,0.041,0.0078,0.052,0.052,0.042,5e-06,4.6e-06,2.2e-06,0.005,0.0053,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -13890000,-0.28,0.015,-0.0048,0.96,-0.012,-0.0055,0.017,0.0044,-0.0038,0.0078,-0.00083,-0.006,-0.00011,0.06,0.0091,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,8.8e-05,8.7e-05,0.051,0.045,0.045,0.0076,0.059,0.059,0.042,4.8e-06,4.5e-06,2.2e-06,0.005,0.0053,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -13990000,-0.28,0.015,-0.0048,0.96,-0.014,-0.0093,0.016,0.0039,-0.0045,0.0067,-0.00085,-0.006,-0.00011,0.06,0.0095,-0.14,-0.11,-0.023,0.5,0.084,-0.033,-0.07,0,0,8.3e-05,8.2e-05,0.051,0.038,0.038,0.0073,0.05,0.05,0.041,4.7e-06,4.3e-06,2.2e-06,0.0046,0.0049,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14090000,-0.28,0.015,-0.0049,0.96,-0.013,-0.0034,0.017,0.0023,-0.0048,0.0031,-0.00078,-0.006,-0.00011,0.061,0.0087,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,8.4e-05,8.3e-05,0.051,0.042,0.042,0.0072,0.057,0.057,0.041,4.5e-06,4.2e-06,2.2e-06,0.0046,0.0049,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14190000,-0.28,0.015,-0.005,0.96,-0.01,-0.0023,0.017,0.0036,-0.0038,0.0033,-0.00074,-0.0059,-0.00011,0.062,0.0085,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,8e-05,7.9e-05,0.051,0.036,0.036,0.007,0.049,0.049,0.04,4.3e-06,4e-06,2.2e-06,0.0043,0.0045,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14290000,-0.28,0.015,-0.0049,0.96,-0.013,-0.0026,0.015,0.0025,-0.0041,0.0075,-0.00073,-0.0059,-0.00011,0.062,0.0087,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,8e-05,7.9e-05,0.051,0.039,0.039,0.0069,0.055,0.055,0.039,4.2e-06,3.9e-06,2.2e-06,0.0042,0.0045,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14390000,-0.28,0.015,-0.0049,0.96,-0.012,-0.0022,0.017,0.0036,-0.0046,0.012,-0.00075,-0.0059,-0.00011,0.063,0.0088,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,7.7e-05,7.6e-05,0.051,0.034,0.034,0.0067,0.047,0.047,0.039,4e-06,3.7e-06,2.2e-06,0.004,0.0042,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14490000,-0.28,0.015,-0.0051,0.96,-0.012,-0.0015,0.02,0.0023,-0.0046,0.014,-0.00071,-0.0059,-0.00012,0.063,0.0084,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,7.7e-05,7.6e-05,0.051,0.037,0.037,0.0066,0.054,0.054,0.038,3.9e-06,3.6e-06,2.2e-06,0.004,0.0042,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14590000,-0.28,0.015,-0.0051,0.96,-0.015,-0.0032,0.018,0.0007,-0.0051,0.01,-0.00069,-0.0059,-0.00012,0.064,0.0085,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,7.4e-05,7.3e-05,0.051,0.032,0.032,0.0065,0.047,0.047,0.038,3.8e-06,3.5e-06,2.2e-06,0.0037,0.004,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14690000,-0.28,0.015,-0.0051,0.96,-0.016,-0.0035,0.018,-0.00089,-0.0056,0.01,-0.0007,-0.0059,-0.00011,0.064,0.0088,-0.14,-0.11,-0.023,0.5,0.083,-0.034,-0.07,0,0,7.5e-05,7.4e-05,0.051,0.035,0.035,0.0065,0.052,0.052,0.037,3.7e-06,3.4e-06,2.2e-06,0.0037,0.004,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14790000,-0.28,0.015,-0.0052,0.96,-0.019,-0.00093,0.018,-0.00059,-0.0012,0.013,-0.00073,-0.0058,-0.00011,0.065,0.01,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,7.2e-05,7.1e-05,0.051,0.03,0.03,0.0064,0.046,0.046,0.036,3.5e-06,3.2e-06,2.2e-06,0.0035,0.0038,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14890000,-0.28,0.015,-0.0051,0.96,-0.02,0.00099,0.022,-0.0027,-0.0015,0.014,-0.00074,-0.0058,-0.00011,0.065,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,7.3e-05,7.2e-05,0.051,0.033,0.033,0.0064,0.052,0.052,0.036,3.4e-06,3.1e-06,2.2e-06,0.0035,0.0038,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -14990000,-0.28,0.015,-0.0051,0.96,-0.02,-0.001,0.025,-0.0022,-0.0027,0.016,-0.00074,-0.0057,-0.00011,0.066,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,7.1e-05,6.9e-05,0.051,0.029,0.029,0.0064,0.045,0.045,0.036,3.3e-06,3e-06,2.2e-06,0.0033,0.0036,0.00044,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -15090000,-0.28,0.015,-0.005,0.96,-0.021,-0.0021,0.029,-0.0043,-0.0028,0.018,-0.00075,-0.0057,-0.00011,0.066,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,7.2e-05,7e-05,0.051,0.031,0.031,0.0064,0.051,0.051,0.035,3.2e-06,2.9e-06,2.2e-06,0.0033,0.0036,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -15190000,-0.28,0.016,-0.0052,0.96,-0.021,-0.00028,0.029,-0.0034,-0.0022,0.02,-0.00073,-0.0057,-0.00011,0.067,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,7e-05,6.8e-05,0.051,0.027,0.028,0.0064,0.045,0.045,0.035,3.1e-06,2.8e-06,2.2e-06,0.0032,0.0034,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -15290000,-0.28,0.016,-0.0052,0.96,-0.024,-0.00035,0.029,-0.0059,-0.0026,0.017,-0.00075,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,7e-05,6.8e-05,0.051,0.03,0.03,0.0065,0.05,0.05,0.035,3e-06,2.8e-06,2.2e-06,0.0032,0.0034,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.0007,0.0012,1,1 -15390000,-0.28,0.016,-0.0053,0.96,-0.023,-0.0023,0.028,-0.0046,-0.0022,0.017,-0.00075,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.8e-05,6.6e-05,0.051,0.026,0.026,0.0064,0.044,0.044,0.034,2.9e-06,2.7e-06,2.2e-06,0.0031,0.0033,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -15490000,-0.28,0.016,-0.0053,0.96,-0.025,0.00021,0.028,-0.007,-0.0024,0.018,-0.00075,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.9e-05,6.7e-05,0.051,0.028,0.028,0.0065,0.05,0.05,0.034,2.8e-06,2.6e-06,2.2e-06,0.003,0.0033,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -15590000,-0.28,0.016,-0.0053,0.96,-0.022,-0.0041,0.028,-0.0033,-0.0056,0.017,-0.00079,-0.0057,-0.00011,0.067,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.7e-05,6.5e-05,0.051,0.025,0.025,0.0065,0.044,0.044,0.034,2.7e-06,2.5e-06,2.2e-06,0.0029,0.0032,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -15690000,-0.28,0.016,-0.0052,0.96,-0.024,-0.0021,0.028,-0.0049,-0.0059,0.018,-0.00083,-0.0057,-0.00011,0.066,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.8e-05,6.6e-05,0.051,0.027,0.027,0.0066,0.049,0.049,0.034,2.7e-06,2.4e-06,2.2e-06,0.0029,0.0032,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -15790000,-0.28,0.015,-0.0052,0.96,-0.021,-0.00088,0.028,-0.0035,-0.0051,0.019,-0.00087,-0.0058,-0.00011,0.066,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.6e-05,6.4e-05,0.051,0.024,0.024,0.0066,0.043,0.043,0.033,2.6e-06,2.3e-06,2.2e-06,0.0028,0.0031,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -15890000,-0.28,0.016,-0.0053,0.96,-0.021,-0.0021,0.029,-0.0059,-0.005,0.019,-0.00084,-0.0057,-0.00011,0.066,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.7e-05,6.5e-05,0.051,0.026,0.026,0.0067,0.049,0.049,0.034,2.5e-06,2.3e-06,2.2e-06,0.0028,0.0031,0.00043,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -15990000,-0.28,0.015,-0.0052,0.96,-0.02,-0.0017,0.026,-0.0049,-0.0043,0.018,-0.00083,-0.0057,-0.00011,0.067,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.5e-05,6.3e-05,0.051,0.023,0.023,0.0068,0.043,0.043,0.033,2.4e-06,2.2e-06,2.2e-06,0.0027,0.003,0.00042,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16090000,-0.28,0.016,-0.0052,0.96,-0.022,-0.00036,0.024,-0.0072,-0.0042,0.018,-0.00082,-0.0057,-0.00011,0.067,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.6e-05,6.3e-05,0.051,0.024,0.025,0.0069,0.048,0.048,0.033,2.4e-06,2.1e-06,2.2e-06,0.0027,0.003,0.00042,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16190000,-0.28,0.016,-0.0052,0.96,-0.02,-0.0002,0.023,-0.0071,-0.0035,0.015,-0.0008,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.5e-05,6.2e-05,0.051,0.022,0.022,0.0069,0.043,0.043,0.033,2.3e-06,2.1e-06,2.2e-06,0.0027,0.0029,0.00042,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16290000,-0.28,0.015,-0.0052,0.96,-0.022,0.00077,0.022,-0.009,-0.0035,0.016,-0.00081,-0.0057,-0.00011,0.067,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.5e-05,6.3e-05,0.051,0.023,0.024,0.007,0.048,0.048,0.033,2.2e-06,2e-06,2.2e-06,0.0026,0.0029,0.00042,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16390000,-0.28,0.015,-0.0051,0.96,-0.023,0.00023,0.023,-0.007,-0.0034,0.017,-0.00082,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.4e-05,6.1e-05,0.051,0.021,0.021,0.007,0.042,0.042,0.033,2.2e-06,2e-06,2.2e-06,0.0026,0.0029,0.00041,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16490000,-0.28,0.016,-0.0052,0.96,-0.027,0.0013,0.025,-0.0098,-0.0033,0.021,-0.00081,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.5e-05,6.2e-05,0.051,0.022,0.023,0.0072,0.047,0.047,0.033,2.1e-06,1.9e-06,2.2e-06,0.0026,0.0028,0.00041,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16590000,-0.28,0.016,-0.0052,0.96,-0.031,0.0017,0.029,-0.0085,-0.0028,0.021,-0.00082,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6.1e-05,0.051,0.02,0.02,0.0072,0.042,0.042,0.033,2.1e-06,1.8e-06,2.2e-06,0.0025,0.0028,0.00041,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16690000,-0.28,0.015,-0.0053,0.96,-0.034,0.0053,0.029,-0.011,-0.0026,0.021,-0.00084,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.4e-05,6.1e-05,0.051,0.022,0.022,0.0073,0.047,0.047,0.033,2e-06,1.8e-06,2.2e-06,0.0025,0.0028,0.00041,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16790000,-0.28,0.015,-0.0051,0.96,-0.035,0.005,0.028,-0.0096,-0.0024,0.021,-0.00086,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.019,0.02,0.0073,0.042,0.042,0.033,1.9e-06,1.7e-06,2.2e-06,0.0025,0.0027,0.0004,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16890000,-0.28,0.015,-0.005,0.96,-0.035,0.0046,0.029,-0.013,-0.0023,0.02,-0.00089,-0.0057,-0.00011,0.068,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.021,0.021,0.0074,0.046,0.046,0.033,1.9e-06,1.7e-06,2.2e-06,0.0025,0.0027,0.0004,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -16990000,-0.28,0.015,-0.0051,0.96,-0.032,0.005,0.029,-0.011,-0.0025,0.019,-0.0009,-0.0057,-0.00011,0.068,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.021,0.021,0.0074,0.049,0.049,0.033,1.8e-06,1.7e-06,2.2e-06,0.0024,0.0027,0.0004,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17090000,-0.28,0.015,-0.0052,0.96,-0.037,0.007,0.028,-0.015,-0.0019,0.018,-0.00089,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.022,0.022,0.0075,0.054,0.054,0.033,1.8e-06,1.6e-06,2.2e-06,0.0024,0.0027,0.00039,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17190000,-0.28,0.015,-0.0053,0.96,-0.036,0.0088,0.03,-0.014,-0.0036,0.021,-0.00089,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.07,0,0,6.2e-05,5.9e-05,0.051,0.021,0.022,0.0076,0.056,0.057,0.033,1.8e-06,1.6e-06,2.2e-06,0.0024,0.0027,0.00039,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17290000,-0.28,0.015,-0.0053,0.96,-0.039,0.0095,0.029,-0.017,-0.0023,0.021,-0.00087,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.023,0.023,0.0077,0.062,0.062,0.033,1.7e-06,1.5e-06,2.2e-06,0.0024,0.0026,0.00039,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17390000,-0.28,0.015,-0.0052,0.96,-0.029,0.014,0.029,-0.01,-0.001,0.021,-0.00091,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,6.1e-05,5.8e-05,0.051,0.02,0.02,0.0076,0.052,0.052,0.033,1.7e-06,1.5e-06,2.2e-06,0.0024,0.0026,0.00038,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17490000,-0.28,0.015,-0.0053,0.96,-0.029,0.016,0.029,-0.013,0.00056,0.023,-0.0009,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,6.2e-05,5.9e-05,0.051,0.021,0.021,0.0078,0.058,0.058,0.033,1.6e-06,1.5e-06,2.2e-06,0.0023,0.0026,0.00038,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17590000,-0.28,0.015,-0.0053,0.96,-0.029,0.014,0.028,-0.012,0.0001,0.02,-0.00091,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.023,0.5,0.084,-0.034,-0.07,0,0,6.1e-05,5.7e-05,0.051,0.018,0.019,0.0077,0.049,0.049,0.033,1.6e-06,1.4e-06,2.2e-06,0.0023,0.0026,0.00037,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17690000,-0.28,0.015,-0.0054,0.96,-0.03,0.014,0.029,-0.015,0.0013,0.023,-0.00092,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,6.1e-05,5.8e-05,0.051,0.019,0.02,0.0078,0.054,0.054,0.033,1.5e-06,1.4e-06,2.2e-06,0.0023,0.0026,0.00037,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17790000,-0.28,0.015,-0.0054,0.96,-0.031,0.014,0.029,-0.015,0.0021,0.028,-0.00093,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,6.1e-05,5.7e-05,0.051,0.019,0.02,0.0078,0.057,0.057,0.033,1.5e-06,1.3e-06,2.2e-06,0.0023,0.0025,0.00036,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17890000,-0.28,0.015,-0.0053,0.96,-0.034,0.016,0.029,-0.017,0.0033,0.032,-0.00094,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,6.1e-05,5.8e-05,0.051,0.02,0.021,0.0079,0.062,0.062,0.033,1.5e-06,1.3e-06,2.2e-06,0.0023,0.0025,0.00036,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -17990000,-0.28,0.015,-0.0053,0.96,-0.034,0.016,0.029,-0.014,0.0055,0.033,-0.00094,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,6e-05,5.6e-05,0.051,0.018,0.018,0.0079,0.052,0.052,0.033,1.4e-06,1.3e-06,2.2e-06,0.0022,0.0025,0.00036,0.0012,6.7e-05,0.0012,0.0012,0.00069,0.0012,1,1 -18090000,-0.28,0.015,-0.0054,0.96,-0.035,0.017,0.028,-0.018,0.0071,0.031,-0.00094,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,6e-05,5.7e-05,0.051,0.019,0.019,0.008,0.057,0.057,0.034,1.4e-06,1.3e-06,2.2e-06,0.0022,0.0025,0.00035,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18190000,-0.28,0.015,-0.0053,0.96,-0.032,0.015,0.028,-0.013,0.0048,0.029,-0.00098,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.9e-05,5.6e-05,0.051,0.017,0.017,0.0079,0.049,0.049,0.034,1.4e-06,1.2e-06,2.2e-06,0.0022,0.0025,0.00035,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18290000,-0.28,0.015,-0.0053,0.96,-0.036,0.015,0.027,-0.017,0.006,0.028,-0.00098,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,6e-05,5.6e-05,0.051,0.018,0.018,0.008,0.053,0.053,0.034,1.3e-06,1.2e-06,2.2e-06,0.0022,0.0025,0.00034,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18390000,-0.28,0.015,-0.0052,0.96,-0.032,0.014,0.027,-0.012,0.005,0.027,-0.00099,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.5e-05,0.051,0.016,0.016,0.0079,0.046,0.046,0.034,1.3e-06,1.2e-06,2.2e-06,0.0022,0.0024,0.00034,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18490000,-0.28,0.015,-0.0052,0.96,-0.036,0.013,0.026,-0.015,0.006,0.029,-0.001,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.9e-05,5.5e-05,0.051,0.017,0.017,0.008,0.051,0.051,0.034,1.3e-06,1.1e-06,2.2e-06,0.0022,0.0024,0.00033,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18590000,-0.28,0.015,-0.0051,0.96,-0.034,0.013,0.026,-0.013,0.0053,0.031,-0.001,-0.0057,-0.00011,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.4e-05,0.051,0.015,0.016,0.0079,0.044,0.044,0.034,1.2e-06,1.1e-06,2.2e-06,0.0022,0.0024,0.00033,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18690000,-0.28,0.015,-0.0051,0.96,-0.034,0.012,0.024,-0.015,0.0063,0.03,-0.001,-0.0057,-0.00011,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.5e-05,0.051,0.016,0.017,0.008,0.048,0.049,0.034,1.2e-06,1.1e-06,2.2e-06,0.0022,0.0024,0.00032,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18790000,-0.28,0.015,-0.0051,0.96,-0.031,0.012,0.024,-0.012,0.0054,0.028,-0.001,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.4e-05,0.051,0.015,0.015,0.0079,0.043,0.043,0.034,1.2e-06,1.1e-06,2.2e-06,0.0021,0.0024,0.00032,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18890000,-0.28,0.015,-0.005,0.96,-0.031,0.012,0.022,-0.015,0.0067,0.024,-0.001,-0.0058,-0.00012,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.4e-05,0.051,0.016,0.016,0.008,0.047,0.047,0.034,1.2e-06,1e-06,2.2e-06,0.0021,0.0024,0.00031,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -18990000,-0.28,0.015,-0.005,0.96,-0.029,0.013,0.023,-0.013,0.0058,0.027,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.3e-05,0.051,0.015,0.015,0.0079,0.042,0.042,0.034,1.1e-06,1e-06,2.2e-06,0.0021,0.0024,0.00031,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19090000,-0.28,0.015,-0.005,0.96,-0.028,0.013,0.023,-0.016,0.0066,0.024,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.4e-05,0.051,0.016,0.016,0.0079,0.045,0.046,0.035,1.1e-06,9.9e-07,2.2e-06,0.0021,0.0024,0.0003,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19190000,-0.28,0.015,-0.005,0.96,-0.026,0.014,0.023,-0.014,0.0065,0.023,-0.0011,-0.0058,-0.00012,0.068,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.3e-05,0.05,0.014,0.015,0.0079,0.041,0.041,0.034,1.1e-06,9.6e-07,2.2e-06,0.0021,0.0024,0.0003,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19290000,-0.28,0.015,-0.0049,0.96,-0.027,0.014,0.024,-0.016,0.0078,0.022,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.3e-05,0.05,0.015,0.016,0.0079,0.044,0.044,0.034,1.1e-06,9.5e-07,2.2e-06,0.0021,0.0023,0.00029,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19390000,-0.28,0.015,-0.0051,0.96,-0.025,0.013,0.025,-0.014,0.0076,0.021,-0.0011,-0.0058,-0.00012,0.068,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.014,0.015,0.0078,0.04,0.04,0.035,1e-06,9.2e-07,2.2e-06,0.0021,0.0023,0.00029,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19490000,-0.28,0.015,-0.0052,0.96,-0.028,0.014,0.024,-0.018,0.0091,0.021,-0.0011,-0.0058,-0.00012,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.3e-05,0.05,0.015,0.016,0.0078,0.043,0.044,0.035,1e-06,9.1e-07,2.2e-06,0.0021,0.0023,0.00029,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19590000,-0.28,0.015,-0.005,0.96,-0.024,0.015,0.026,-0.015,0.0073,0.021,-0.0011,-0.0058,-0.00013,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.014,0.014,0.0077,0.039,0.039,0.035,9.9e-07,8.8e-07,2.2e-06,0.0021,0.0023,0.00028,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19690000,-0.28,0.015,-0.005,0.96,-0.025,0.013,0.025,-0.018,0.0081,0.02,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.015,0.015,0.0078,0.043,0.043,0.035,9.8e-07,8.7e-07,2.2e-06,0.0021,0.0023,0.00028,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19790000,-0.28,0.015,-0.0051,0.96,-0.022,0.013,0.023,-0.018,0.0088,0.017,-0.0011,-0.0058,-0.00013,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.015,0.016,0.0077,0.045,0.045,0.035,9.6e-07,8.5e-07,2.2e-06,0.002,0.0023,0.00027,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19890000,-0.28,0.015,-0.0052,0.96,-0.023,0.013,0.023,-0.02,0.01,0.015,-0.0011,-0.0058,-0.00013,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.016,0.017,0.0077,0.049,0.049,0.035,9.5e-07,8.4e-07,2.2e-06,0.002,0.0023,0.00027,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -19990000,-0.28,0.015,-0.0052,0.96,-0.02,0.014,0.021,-0.015,0.0093,0.012,-0.0011,-0.0058,-0.00013,0.068,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.014,0.015,0.0076,0.043,0.044,0.035,9.2e-07,8.1e-07,2.2e-06,0.002,0.0023,0.00026,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -20090000,-0.28,0.015,-0.0052,0.96,-0.023,0.017,0.021,-0.018,0.011,0.015,-0.0011,-0.0058,-0.00013,0.068,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.015,0.016,0.0076,0.047,0.048,0.035,9.1e-07,8e-07,2.2e-06,0.002,0.0023,0.00026,0.0012,6.7e-05,0.0012,0.0012,0.00068,0.0012,1,1 -20190000,-0.28,0.015,-0.0052,0.96,-0.023,0.014,0.022,-0.019,0.011,0.015,-0.0011,-0.0058,-0.00013,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.015,0.016,0.0075,0.05,0.05,0.035,8.8e-07,7.8e-07,2.2e-06,0.002,0.0023,0.00025,0.0012,6.6e-05,0.0012,0.0012,0.00068,0.0012,1,1 -20290000,-0.28,0.015,-0.0052,0.96,-0.022,0.017,0.022,-0.021,0.013,0.016,-0.0011,-0.0058,-0.00013,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.016,0.017,0.0075,0.054,0.054,0.035,8.7e-07,7.7e-07,2.2e-06,0.002,0.0023,0.00025,0.0012,6.6e-05,0.0012,0.0012,0.00068,0.0012,1,1 -20390000,-0.28,0.015,-0.0051,0.96,-0.02,0.015,0.022,-0.021,0.012,0.017,-0.0011,-0.0058,-0.00013,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5e-05,0.05,0.016,0.017,0.0075,0.056,0.057,0.035,8.5e-07,7.5e-07,2.2e-06,0.002,0.0023,0.00025,0.0012,6.6e-05,0.0012,0.0012,0.00068,0.0012,1,1 -20490000,-0.28,0.015,-0.0051,0.96,-0.018,0.017,0.022,-0.023,0.013,0.015,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.017,0.018,0.0075,0.061,0.062,0.035,8.4e-07,7.4e-07,2.2e-06,0.002,0.0022,0.00024,0.0012,6.6e-05,0.0012,0.0011,0.00068,0.0012,1,1 -20590000,-0.28,0.015,-0.005,0.96,-0.018,0.016,0.022,-0.023,0.012,0.014,-0.0011,-0.0058,-0.00013,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.4e-05,5e-05,0.05,0.017,0.018,0.0074,0.064,0.064,0.035,8.2e-07,7.3e-07,2.2e-06,0.002,0.0022,0.00024,0.0012,6.5e-05,0.0012,0.0011,0.00068,0.0012,1,1 -20690000,-0.28,0.015,-0.0049,0.96,-0.017,0.017,0.023,-0.024,0.014,0.014,-0.0011,-0.0058,-0.00013,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5e-05,0.05,0.018,0.019,0.0074,0.069,0.07,0.035,8.1e-07,7.2e-07,2.2e-06,0.002,0.0022,0.00023,0.0012,6.5e-05,0.0012,0.0011,0.00068,0.0012,1,1 -20790000,-0.28,0.015,-0.0043,0.96,-0.011,0.012,0.0077,-0.019,0.01,0.013,-0.0011,-0.0058,-0.00014,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5.3e-05,4.9e-05,0.05,0.015,0.016,0.0073,0.056,0.057,0.035,7.8e-07,6.9e-07,2.2e-06,0.002,0.0022,0.00023,0.0012,6.5e-05,0.0012,0.0011,0.00068,0.0012,1,1 -20890000,-0.29,0.01,0.0044,0.96,-0.0062,0.0017,-0.11,-0.02,0.011,0.0065,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5.3e-05,4.9e-05,0.05,0.016,0.017,0.0073,0.061,0.062,0.035,7.8e-07,6.9e-07,2.2e-06,0.002,0.0022,0.00023,0.0012,6.5e-05,0.0012,0.0011,0.00068,0.0012,1,1 -20990000,-0.29,0.0064,0.0073,0.96,0.0086,-0.015,-0.25,-0.017,0.0083,-0.0084,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5.2e-05,4.8e-05,0.05,0.015,0.015,0.0072,0.051,0.052,0.034,7.5e-07,6.7e-07,2.2e-06,0.002,0.0022,0.00022,0.0012,6.5e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21090000,-0.29,0.0069,0.0058,0.96,0.022,-0.028,-0.37,-0.015,0.0064,-0.039,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5.3e-05,4.8e-05,0.05,0.016,0.016,0.0072,0.056,0.056,0.035,7.5e-07,6.6e-07,2.2e-06,0.002,0.0022,0.00022,0.0012,6.4e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21190000,-0.29,0.0088,0.0032,0.96,0.028,-0.034,-0.5,-0.013,0.0048,-0.076,-0.0011,-0.0057,-0.00014,0.069,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.7e-05,0.05,0.014,0.015,0.0071,0.048,0.048,0.035,7.2e-07,6.4e-07,2.1e-06,0.002,0.0022,0.00022,0.0012,6.4e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21290000,-0.29,0.01,0.0011,0.96,0.027,-0.036,-0.63,-0.01,0.0022,-0.13,-0.0011,-0.0058,-0.00014,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.2e-05,4.8e-05,0.05,0.015,0.016,0.0071,0.052,0.052,0.035,7.2e-07,6.4e-07,2.1e-06,0.002,0.0022,0.00021,0.0012,6.4e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21390000,-0.29,0.011,-0.00034,0.96,0.021,-0.029,-0.75,-0.012,0.0054,-0.2,-0.0011,-0.0058,-0.00013,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.7e-05,0.05,0.015,0.016,0.007,0.054,0.055,0.035,7e-07,6.2e-07,2.1e-06,0.0019,0.0022,0.00021,0.0012,6.4e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21490000,-0.29,0.012,-0.0011,0.96,0.014,-0.028,-0.89,-0.0097,0.0023,-0.28,-0.0011,-0.0058,-0.00013,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.2e-05,4.8e-05,0.05,0.016,0.017,0.007,0.059,0.059,0.035,7e-07,6.2e-07,2.1e-06,0.0019,0.0022,0.00021,0.0012,6.3e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21590000,-0.29,0.012,-0.0016,0.96,0.0024,-0.022,-1,-0.014,0.0069,-0.37,-0.0011,-0.0058,-0.00012,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.7e-05,0.05,0.016,0.017,0.0069,0.061,0.062,0.034,6.8e-07,6e-07,2.1e-06,0.0019,0.0022,0.0002,0.0012,6.3e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21690000,-0.29,0.012,-0.0019,0.96,-0.0028,-0.019,-1.1,-0.014,0.0041,-0.49,-0.0011,-0.0058,-0.00011,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.2e-05,4.7e-05,0.05,0.017,0.018,0.0069,0.066,0.067,0.035,6.8e-07,6e-07,2.1e-06,0.0019,0.0022,0.0002,0.0012,6.3e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21790000,-0.29,0.012,-0.0023,0.96,-0.0086,-0.011,-1.3,-0.015,0.01,-0.61,-0.0011,-0.0058,-0.0001,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.6e-05,0.05,0.017,0.018,0.0069,0.069,0.069,0.034,6.6e-07,5.8e-07,2.1e-06,0.0019,0.0022,0.0002,0.0012,6.3e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21890000,-0.29,0.012,-0.0026,0.96,-0.014,-0.007,-1.4,-0.016,0.0098,-0.75,-0.0011,-0.0058,-0.0001,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.7e-05,0.05,0.018,0.019,0.0068,0.074,0.075,0.034,6.6e-07,5.8e-07,2.1e-06,0.0019,0.0022,0.00019,0.0012,6.3e-05,0.0012,0.0011,0.00067,0.0012,1,1 -21990000,-0.29,0.012,-0.0033,0.96,-0.02,0.0012,-1.4,-0.023,0.017,-0.89,-0.001,-0.0058,-8.8e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5.1e-05,4.6e-05,0.05,0.018,0.019,0.0068,0.076,0.077,0.034,6.4e-07,5.7e-07,2.1e-06,0.0019,0.0022,0.00019,0.0012,6.3e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22090000,-0.29,0.013,-0.004,0.96,-0.023,0.0045,-1.4,-0.023,0.016,-1,-0.0011,-0.0058,-8.4e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.6e-05,0.05,0.019,0.02,0.0068,0.082,0.084,0.034,6.4e-07,5.6e-07,2.1e-06,0.0019,0.0022,0.00019,0.0012,6.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22190000,-0.29,0.013,-0.0044,0.96,-0.03,0.011,-1.4,-0.028,0.024,-1.2,-0.0011,-0.0058,-7.1e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.6e-05,0.05,0.018,0.02,0.0067,0.085,0.086,0.034,6.2e-07,5.5e-07,2.1e-06,0.0019,0.0021,0.00019,0.0012,6.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22290000,-0.29,0.014,-0.0051,0.96,-0.038,0.016,-1.4,-0.032,0.025,-1.3,-0.0011,-0.0058,-7.2e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5.1e-05,4.6e-05,0.05,0.019,0.021,0.0067,0.091,0.093,0.034,6.2e-07,5.4e-07,2.1e-06,0.0019,0.0021,0.00018,0.0012,6.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22390000,-0.29,0.014,-0.0054,0.96,-0.045,0.023,-1.4,-0.038,0.03,-1.5,-0.001,-0.0058,-7.1e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.5e-05,0.05,0.019,0.02,0.0066,0.093,0.095,0.034,6e-07,5.3e-07,2.1e-06,0.0019,0.0021,0.00018,0.0012,6.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22490000,-0.29,0.014,-0.0055,0.96,-0.052,0.029,-1.4,-0.043,0.033,-1.6,-0.001,-0.0058,-7.3e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.5e-05,0.05,0.02,0.021,0.0066,0.1,0.1,0.034,6e-07,5.3e-07,2.1e-06,0.0019,0.0021,0.00018,0.0012,6.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22590000,-0.29,0.015,-0.0054,0.96,-0.057,0.035,-1.4,-0.044,0.036,-1.7,-0.0011,-0.0058,-6.9e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,4.9e-05,4.5e-05,0.05,0.019,0.021,0.0065,0.1,0.1,0.034,5.8e-07,5.2e-07,2.1e-06,0.0019,0.0021,0.00018,0.0012,6.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22690000,-0.29,0.015,-0.0053,0.96,-0.061,0.04,-1.4,-0.051,0.04,-1.9,-0.001,-0.0058,-6.9e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.5e-05,0.05,0.02,0.022,0.0065,0.11,0.11,0.034,5.8e-07,5.1e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 -22790000,-0.29,0.016,-0.0052,0.96,-0.068,0.044,-1.4,-0.056,0.043,-2,-0.001,-0.0058,-7.3e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,4.9e-05,4.4e-05,0.05,0.02,0.021,0.0065,0.11,0.11,0.034,5.6e-07,5e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.2e-05,0.0012,0.0011,0.00066,0.0012,1,1 -22890000,-0.29,0.016,-0.0053,0.96,-0.073,0.049,-1.4,-0.063,0.046,-2.2,-0.0011,-0.0058,-6.9e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.069,0,0,4.9e-05,4.5e-05,0.05,0.021,0.022,0.0064,0.12,0.12,0.034,5.6e-07,5e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.2e-05,0.0012,0.0011,0.00066,0.0012,1,1 -22990000,-0.29,0.016,-0.0051,0.96,-0.076,0.049,-1.4,-0.066,0.045,-2.3,-0.0011,-0.0058,-7.1e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.8e-05,4.4e-05,0.05,0.02,0.022,0.0064,0.12,0.12,0.034,5.5e-07,4.9e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.2e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23090000,-0.29,0.017,-0.0051,0.96,-0.082,0.053,-1.4,-0.073,0.05,-2.5,-0.0011,-0.0058,-7e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.9e-05,4.4e-05,0.05,0.021,0.023,0.0064,0.13,0.13,0.034,5.5e-07,4.8e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23190000,-0.29,0.017,-0.005,0.96,-0.083,0.048,-1.4,-0.072,0.047,-2.6,-0.0011,-0.0058,-8.2e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.8e-05,4.3e-05,0.049,0.02,0.022,0.0063,0.13,0.13,0.033,5.3e-07,4.7e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23290000,-0.29,0.017,-0.0055,0.96,-0.09,0.052,-1.4,-0.08,0.051,-2.8,-0.0011,-0.0058,-7.9e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.8e-05,4.4e-05,0.049,0.021,0.023,0.0063,0.14,0.14,0.034,5.3e-07,4.7e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23390000,-0.28,0.017,-0.0054,0.96,-0.089,0.055,-1.4,-0.075,0.053,-2.9,-0.0011,-0.0058,-8.9e-05,0.068,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.021,0.022,0.0063,0.14,0.14,0.033,5.2e-07,4.6e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23490000,-0.28,0.017,-0.0055,0.96,-0.096,0.055,-1.4,-0.086,0.057,-3,-0.0011,-0.0058,-8.4e-05,0.069,0.011,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.8e-05,4.3e-05,0.049,0.021,0.023,0.0063,0.15,0.15,0.033,5.2e-07,4.6e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23590000,-0.29,0.017,-0.0056,0.96,-0.094,0.049,-1.4,-0.081,0.048,-3.2,-0.0011,-0.0058,-9.7e-05,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.021,0.022,0.0062,0.15,0.15,0.033,5e-07,4.5e-07,2.1e-06,0.0019,0.0021,0.00015,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23690000,-0.29,0.018,-0.0062,0.96,-0.093,0.052,-1.3,-0.09,0.052,-3.3,-0.0011,-0.0058,-9.3e-05,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.022,0.023,0.0062,0.16,0.16,0.033,5e-07,4.5e-07,2.1e-06,0.0019,0.0021,0.00015,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23790000,-0.29,0.021,-0.0077,0.96,-0.079,0.049,-0.95,-0.08,0.048,-3.4,-0.0012,-0.0058,-9.8e-05,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.6e-05,4.2e-05,0.049,0.02,0.022,0.0061,0.16,0.16,0.033,4.9e-07,4.4e-07,2e-06,0.0019,0.0021,0.00015,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23890000,-0.29,0.025,-0.011,0.96,-0.073,0.052,-0.52,-0.087,0.052,-3.5,-0.0012,-0.0058,-9.5e-05,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.021,0.022,0.0061,0.17,0.17,0.033,4.9e-07,4.4e-07,2e-06,0.0019,0.0021,0.00015,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -23990000,-0.29,0.028,-0.012,0.96,-0.064,0.051,-0.13,-0.075,0.047,-3.6,-0.0012,-0.0058,-0.0001,0.068,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.021,0.0061,0.17,0.17,0.033,4.8e-07,4.3e-07,2e-06,0.0019,0.0021,0.00015,0.0012,6.1e-05,0.0012,0.0011,0.00066,0.0012,1,1 -24090000,-0.29,0.027,-0.012,0.96,-0.071,0.059,0.098,-0.08,0.052,-3.6,-0.0012,-0.0058,-0.0001,0.067,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.7e-05,4.2e-05,0.049,0.021,0.022,0.0061,0.18,0.18,0.033,4.8e-07,4.3e-07,2e-06,0.0019,0.0021,0.00015,0.0012,6e-05,0.0012,0.0011,0.00066,0.0012,1,1 -24190000,-0.29,0.022,-0.0094,0.96,-0.075,0.055,0.088,-0.067,0.039,-3.6,-0.0012,-0.0058,-0.00012,0.067,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.021,0.006,0.18,0.18,0.033,4.7e-07,4.2e-07,2e-06,0.0019,0.0021,0.00014,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24290000,-0.29,0.019,-0.0074,0.96,-0.08,0.057,0.066,-0.074,0.045,-3.6,-0.0012,-0.0058,-0.00011,0.067,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.7e-05,4.2e-05,0.049,0.021,0.023,0.006,0.19,0.19,0.033,4.7e-07,4.2e-07,2e-06,0.0019,0.0021,0.00014,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24390000,-0.29,0.018,-0.0065,0.96,-0.064,0.051,0.082,-0.055,0.035,-3.6,-0.0012,-0.0058,-0.00012,0.067,0.012,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.022,0.006,0.19,0.19,0.033,4.6e-07,4.1e-07,2e-06,0.0018,0.0021,0.00014,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24490000,-0.29,0.018,-0.0067,0.96,-0.058,0.047,0.08,-0.061,0.038,-3.6,-0.0012,-0.0058,-0.00011,0.067,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.021,0.023,0.006,0.2,0.2,0.033,4.6e-07,4.1e-07,2e-06,0.0018,0.0021,0.00014,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24590000,-0.29,0.018,-0.0073,0.96,-0.047,0.045,0.076,-0.042,0.033,-3.6,-0.0013,-0.0058,-0.00012,0.067,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.022,0.0059,0.2,0.2,0.033,4.5e-07,4e-07,2e-06,0.0018,0.0021,0.00014,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24690000,-0.29,0.018,-0.0078,0.96,-0.045,0.045,0.075,-0.047,0.037,-3.5,-0.0013,-0.0058,-0.00012,0.067,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.021,0.023,0.0059,0.21,0.21,0.033,4.5e-07,4e-07,2e-06,0.0018,0.0021,0.00014,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24790000,-0.29,0.017,-0.0079,0.96,-0.038,0.043,0.067,-0.034,0.029,-3.5,-0.0013,-0.0058,-0.00013,0.067,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.1e-05,0.049,0.02,0.022,0.0059,0.21,0.21,0.032,4.4e-07,3.9e-07,2e-06,0.0018,0.0021,0.00013,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24890000,-0.29,0.017,-0.0078,0.96,-0.037,0.046,0.056,-0.038,0.032,-3.5,-0.0013,-0.0058,-0.00013,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.021,0.023,0.0059,0.22,0.22,0.032,4.4e-07,3.9e-07,2e-06,0.0018,0.0021,0.00013,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -24990000,-0.29,0.016,-0.0076,0.96,-0.025,0.046,0.049,-0.023,0.027,-3.5,-0.0013,-0.0058,-0.00013,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.1e-05,0.048,0.021,0.022,0.0058,0.22,0.22,0.032,4.3e-07,3.9e-07,2e-06,0.0018,0.0021,0.00013,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25090000,-0.29,0.016,-0.0079,0.96,-0.02,0.046,0.047,-0.024,0.031,-3.5,-0.0013,-0.0058,-0.00013,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.2e-05,0.048,0.021,0.023,0.0058,0.23,0.23,0.032,4.3e-07,3.8e-07,2e-06,0.0018,0.0021,0.00013,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25190000,-0.29,0.016,-0.0081,0.96,-0.01,0.042,0.047,-0.0082,0.021,-3.5,-0.0013,-0.0059,-0.00015,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0058,0.23,0.23,0.032,4.2e-07,3.8e-07,2e-06,0.0018,0.0021,0.00013,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25290000,-0.29,0.015,-0.0083,0.96,-0.0055,0.045,0.042,-0.0089,0.026,-3.5,-0.0013,-0.0059,-0.00015,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.2e-05,0.048,0.022,0.023,0.0058,0.24,0.24,0.032,4.2e-07,3.8e-07,2e-06,0.0018,0.0021,0.00013,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25390000,-0.29,0.015,-0.0084,0.96,0.0035,0.043,0.04,0.0011,0.02,-3.5,-0.0013,-0.0059,-0.00016,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0057,0.24,0.24,0.032,4.2e-07,3.7e-07,2e-06,0.0018,0.0021,0.00013,0.0012,6e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25490000,-0.29,0.015,-0.0085,0.96,0.0079,0.044,0.04,0.00081,0.025,-3.5,-0.0013,-0.0059,-0.00016,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.1e-05,0.048,0.022,0.023,0.0058,0.25,0.25,0.032,4.2e-07,3.7e-07,2e-06,0.0018,0.0021,0.00013,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25590000,-0.29,0.015,-0.0086,0.96,0.013,0.04,0.041,0.0082,0.0099,-3.5,-0.0013,-0.0058,-0.00017,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0057,0.25,0.25,0.032,4.1e-07,3.6e-07,2e-06,0.0018,0.0021,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25690000,-0.29,0.014,-0.0081,0.96,0.014,0.039,0.03,0.0097,0.013,-3.5,-0.0013,-0.0058,-0.00017,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.1e-05,0.048,0.022,0.023,0.0057,0.26,0.26,0.032,4.1e-07,3.6e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25790000,-0.29,0.014,-0.008,0.96,0.024,0.034,0.03,0.017,0.0038,-3.5,-0.0013,-0.0058,-0.00018,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0057,0.25,0.26,0.032,4e-07,3.6e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25890000,-0.29,0.014,-0.008,0.96,0.03,0.034,0.033,0.02,0.008,-3.5,-0.0013,-0.0058,-0.00019,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.1e-05,0.048,0.022,0.023,0.0057,0.27,0.27,0.032,4e-07,3.6e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -25990000,-0.29,0.014,-0.008,0.96,0.033,0.029,0.026,0.017,-0.0032,-3.5,-0.0014,-0.0058,-0.0002,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0056,0.26,0.27,0.032,4e-07,3.5e-07,1.9e-06,0.0018,0.002,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26090000,-0.29,0.014,-0.0077,0.96,0.038,0.029,0.025,0.02,-0.0011,-3.5,-0.0014,-0.0058,-0.00019,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.28,0.28,0.032,3.9e-07,3.5e-07,1.9e-06,0.0018,0.002,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26190000,-0.29,0.014,-0.0075,0.96,0.042,0.02,0.02,0.024,-0.017,-3.5,-0.0014,-0.0058,-0.0002,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0056,0.27,0.28,0.032,3.9e-07,3.5e-07,1.9e-06,0.0018,0.002,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26290000,-0.29,0.015,-0.0075,0.96,0.043,0.019,0.015,0.027,-0.015,-3.5,-0.0014,-0.0058,-0.0002,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.29,0.29,0.032,3.9e-07,3.5e-07,1.9e-06,0.0018,0.002,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26390000,-0.29,0.015,-0.0069,0.96,0.04,0.01,0.019,0.019,-0.029,-3.5,-0.0014,-0.0058,-0.00021,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0056,0.28,0.29,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.002,0.00012,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26490000,-0.29,0.015,-0.0067,0.96,0.043,0.0083,0.028,0.023,-0.028,-3.5,-0.0014,-0.0058,-0.00022,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.3,0.3,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26590000,-0.29,0.015,-0.0061,0.96,0.042,-0.0016,0.028,0.023,-0.041,-3.5,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0056,0.29,0.3,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26690000,-0.29,0.015,-0.006,0.96,0.044,-0.0052,0.027,0.027,-0.041,-3.5,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.31,0.31,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26790000,-0.29,0.014,-0.0058,0.96,0.047,-0.011,0.026,0.024,-0.054,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0055,0.3,0.31,0.031,3.7e-07,3.3e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26890000,-0.29,0.014,-0.0052,0.96,0.053,-0.014,0.022,0.029,-0.056,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.022,0.023,0.0055,0.31,0.32,0.032,3.7e-07,3.3e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -26990000,-0.29,0.015,-0.0046,0.96,0.054,-0.02,0.021,0.022,-0.063,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0055,0.31,0.31,0.031,3.7e-07,3.3e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -27090000,-0.29,0.015,-0.0044,0.96,0.056,-0.026,0.025,0.028,-0.065,-3.5,-0.0014,-0.0058,-0.00025,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.022,0.023,0.0055,0.32,0.33,0.031,3.7e-07,3.3e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -27190000,-0.29,0.015,-0.0045,0.96,0.057,-0.031,0.027,0.018,-0.069,-3.5,-0.0014,-0.0058,-0.00025,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0055,0.32,0.32,0.031,3.6e-07,3.2e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -27290000,-0.29,0.016,-0.0045,0.96,0.064,-0.034,0.14,0.024,-0.072,-3.5,-0.0014,-0.0058,-0.00025,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.022,0.023,0.0055,0.33,0.34,0.031,3.6e-07,3.2e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,5.9e-05,0.0012,0.0011,0.00065,0.0012,1,1 -27390000,-0.29,0.018,-0.0057,0.96,0.067,-0.026,0.46,0.0069,-0.027,-3.5,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.13,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.015,0.016,0.0054,0.15,0.15,0.031,3.5e-07,3.2e-07,1.8e-06,0.0018,0.002,0.00011,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -27490000,-0.29,0.02,-0.0069,0.96,0.071,-0.029,0.78,0.014,-0.029,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.013,-0.13,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,4e-05,0.048,0.015,0.016,0.0055,0.15,0.15,0.031,3.5e-07,3.2e-07,1.8e-06,0.0018,0.002,0.00011,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -27590000,-0.29,0.019,-0.0069,0.96,0.063,-0.031,0.87,0.0076,-0.02,-3.4,-0.0014,-0.0058,-0.00023,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.013,0.014,0.0054,0.096,0.096,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.00011,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -27690000,-0.29,0.016,-0.006,0.96,0.057,-0.028,0.78,0.013,-0.023,-3.3,-0.0014,-0.0058,-0.00023,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.014,0.015,0.0054,0.1,0.1,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -27790000,-0.29,0.015,-0.0048,0.96,0.054,-0.027,0.77,0.011,-0.019,-3.2,-0.0013,-0.0058,-0.00023,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.013,0.014,0.0054,0.073,0.074,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -27890000,-0.29,0.015,-0.0045,0.96,0.06,-0.032,0.81,0.016,-0.021,-3.2,-0.0013,-0.0058,-0.00023,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.014,0.015,0.0054,0.076,0.077,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -27990000,-0.29,0.015,-0.0048,0.96,0.061,-0.035,0.8,0.019,-0.024,-3.1,-0.0013,-0.0058,-0.00022,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.014,0.015,0.0054,0.079,0.079,0.031,3.4e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28090000,-0.29,0.015,-0.0051,0.96,0.064,-0.035,0.8,0.026,-0.028,-3,-0.0013,-0.0058,-0.00022,0.066,0.014,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.014,0.016,0.0054,0.082,0.083,0.031,3.4e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28190000,-0.29,0.015,-0.0045,0.96,0.062,-0.034,0.81,0.026,-0.03,-2.9,-0.0013,-0.0058,-0.00021,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.014,0.015,0.0054,0.084,0.085,0.031,3.4e-07,3e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28290000,-0.29,0.016,-0.0039,0.96,0.066,-0.037,0.81,0.032,-0.034,-2.9,-0.0013,-0.0058,-0.00021,0.066,0.014,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.015,0.016,0.0054,0.088,0.089,0.031,3.4e-07,3e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28390000,-0.29,0.016,-0.0039,0.96,0.067,-0.039,0.81,0.035,-0.035,-2.8,-0.0013,-0.0058,-0.0002,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.015,0.016,0.0053,0.091,0.092,0.031,3.3e-07,3e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28490000,-0.29,0.017,-0.0041,0.96,0.07,-0.042,0.81,0.042,-0.038,-2.7,-0.0013,-0.0058,-0.0002,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.016,0.017,0.0054,0.095,0.096,0.031,3.4e-07,3e-07,1.8e-06,0.0018,0.002,9.9e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28590000,-0.29,0.017,-0.0041,0.96,0.063,-0.043,0.81,0.043,-0.042,-2.6,-0.0013,-0.0058,-0.00019,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.016,0.017,0.0053,0.098,0.099,0.031,3.3e-07,3e-07,1.8e-06,0.0018,0.002,9.8e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28690000,-0.29,0.016,-0.004,0.96,0.062,-0.044,0.81,0.049,-0.046,-2.6,-0.0013,-0.0058,-0.00019,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.016,0.018,0.0053,0.1,0.1,0.031,3.3e-07,3e-07,1.8e-06,0.0018,0.002,9.8e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28790000,-0.29,0.016,-0.0034,0.96,0.06,-0.043,0.81,0.05,-0.045,-2.5,-0.0013,-0.0058,-0.00018,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.016,0.018,0.0053,0.1,0.11,0.031,3.3e-07,2.9e-07,1.8e-06,0.0018,0.002,9.7e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28890000,-0.29,0.015,-0.0032,0.96,0.063,-0.045,0.81,0.056,-0.049,-2.4,-0.0013,-0.0058,-0.00018,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.017,0.018,0.0053,0.11,0.11,0.031,3.3e-07,2.9e-07,1.8e-06,0.0018,0.002,9.7e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -28990000,-0.29,0.016,-0.0029,0.96,0.062,-0.043,0.81,0.057,-0.05,-2.3,-0.0013,-0.0058,-0.00017,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.017,0.018,0.0053,0.11,0.11,0.031,3.2e-07,2.9e-07,1.8e-06,0.0018,0.002,9.6e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29090000,-0.29,0.016,-0.0028,0.96,0.065,-0.044,0.81,0.064,-0.054,-2.3,-0.0013,-0.0058,-0.00017,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.019,0.0053,0.12,0.12,0.031,3.2e-07,2.9e-07,1.8e-06,0.0018,0.002,9.5e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29190000,-0.29,0.016,-0.0027,0.96,0.066,-0.043,0.8,0.066,-0.053,-2.2,-0.0013,-0.0058,-0.00016,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.017,0.019,0.0053,0.12,0.12,0.031,3.2e-07,2.9e-07,1.7e-06,0.0018,0.002,9.5e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29290000,-0.29,0.016,-0.0029,0.96,0.07,-0.049,0.81,0.075,-0.057,-2.1,-0.0013,-0.0058,-0.00016,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.02,0.0053,0.13,0.13,0.031,3.2e-07,2.9e-07,1.7e-06,0.0018,0.002,9.4e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29390000,-0.29,0.015,-0.0035,0.96,0.067,-0.046,0.81,0.073,-0.054,-2,-0.0013,-0.0058,-0.00014,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.019,0.0053,0.13,0.13,0.031,3.2e-07,2.8e-07,1.7e-06,0.0018,0.002,9.4e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29490000,-0.29,0.015,-0.0034,0.96,0.07,-0.047,0.81,0.081,-0.06,-2,-0.0013,-0.0058,-0.00014,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.019,0.02,0.0053,0.14,0.14,0.031,3.2e-07,2.8e-07,1.7e-06,0.0018,0.002,9.3e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29590000,-0.29,0.015,-0.0033,0.96,0.067,-0.046,0.81,0.079,-0.058,-1.9,-0.0013,-0.0058,-0.00012,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.019,0.0052,0.14,0.14,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.3e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29690000,-0.29,0.015,-0.0034,0.96,0.072,-0.045,0.81,0.087,-0.063,-1.8,-0.0013,-0.0058,-0.00012,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.019,0.02,0.0053,0.14,0.15,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.2e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29790000,-0.29,0.015,-0.0031,0.96,0.069,-0.039,0.8,0.084,-0.06,-1.7,-0.0013,-0.0058,-9.7e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.8e-05,0.048,0.018,0.02,0.0052,0.15,0.15,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.1e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29890000,-0.29,0.015,-0.0025,0.96,0.07,-0.04,0.8,0.092,-0.064,-1.7,-0.0013,-0.0058,-9.3e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.019,0.021,0.0053,0.15,0.16,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.1e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -29990000,-0.29,0.016,-0.0027,0.96,0.065,-0.038,0.8,0.086,-0.063,-1.6,-0.0013,-0.0058,-8.4e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.02,0.0052,0.16,0.16,0.03,3e-07,2.8e-07,1.7e-06,0.0018,0.002,9e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30090000,-0.29,0.016,-0.0028,0.96,0.067,-0.038,0.8,0.094,-0.065,-1.5,-0.0013,-0.0058,-9.4e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.8e-05,0.048,0.02,0.021,0.0052,0.16,0.17,0.03,3e-07,2.8e-07,1.7e-06,0.0018,0.002,9e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30190000,-0.29,0.016,-0.0028,0.96,0.062,-0.032,0.8,0.088,-0.057,-1.5,-0.0013,-0.0058,-8.7e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.02,0.0052,0.17,0.17,0.03,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.9e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30290000,-0.29,0.016,-0.0028,0.96,0.062,-0.032,0.8,0.095,-0.06,-1.4,-0.0013,-0.0058,-8.6e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.5e-05,3.8e-05,0.048,0.02,0.021,0.0052,0.17,0.18,0.03,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.9e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30390000,-0.29,0.015,-0.0028,0.96,0.06,-0.026,0.8,0.095,-0.054,-1.3,-0.0013,-0.0058,-6.8e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.021,0.0052,0.17,0.18,0.03,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.8e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30490000,-0.29,0.015,-0.0028,0.96,0.063,-0.026,0.8,0.1,-0.058,-1.2,-0.0013,-0.0058,-6.4e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.5e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.18,0.19,0.031,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.8e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30590000,-0.29,0.016,-0.0031,0.96,0.061,-0.025,0.8,0.097,-0.054,-1.2,-0.0013,-0.0058,-4.9e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.021,0.0052,0.18,0.19,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.8e-05,0.0011,5.8e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30690000,-0.29,0.016,-0.0034,0.96,0.059,-0.024,0.8,0.1,-0.057,-1.1,-0.0013,-0.0058,-5e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.19,0.2,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.7e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30790000,-0.29,0.016,-0.0032,0.96,0.052,-0.015,0.79,0.096,-0.045,-1,-0.0013,-0.0058,-3.4e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.021,0.0052,0.19,0.2,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.7e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30890000,-0.29,0.015,-0.0026,0.96,0.051,-0.011,0.79,0.099,-0.046,-0.95,-0.0012,-0.0058,-4e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.2,0.21,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.6e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -30990000,-0.29,0.015,-0.0027,0.96,0.047,-0.0093,0.79,0.095,-0.044,-0.88,-0.0012,-0.0058,-3.8e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.7e-05,0.048,0.02,0.021,0.0052,0.2,0.21,0.03,2.9e-07,2.6e-07,1.6e-06,0.0018,0.002,8.6e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31090000,-0.29,0.015,-0.0029,0.96,0.046,-0.008,0.79,0.099,-0.045,-0.81,-0.0012,-0.0058,-4.2e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.21,0.22,0.03,2.9e-07,2.6e-07,1.6e-06,0.0018,0.002,8.5e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31190000,-0.29,0.016,-0.003,0.96,0.043,-0.0048,0.8,0.093,-0.041,-0.74,-0.0012,-0.0058,-2.7e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.7e-05,0.048,0.02,0.021,0.0052,0.21,0.22,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.5e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31290000,-0.29,0.016,-0.0032,0.96,0.04,-0.0032,0.8,0.096,-0.042,-0.67,-0.0012,-0.0058,-2.3e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.22,0.23,0.03,2.9e-07,2.6e-07,1.6e-06,0.0018,0.002,8.5e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31390000,-0.29,0.015,-0.003,0.96,0.036,0.0017,0.8,0.09,-0.038,-0.59,-0.0012,-0.0058,-2.5e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.021,0.0051,0.22,0.23,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.4e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31490000,-0.29,0.016,-0.0027,0.96,0.037,0.0051,0.8,0.095,-0.037,-0.52,-0.0012,-0.0058,-2.7e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.7e-05,0.048,0.021,0.022,0.0052,0.23,0.24,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.4e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31590000,-0.29,0.016,-0.0025,0.96,0.037,0.0068,0.8,0.093,-0.034,-0.45,-0.0012,-0.0058,-1.9e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.021,0.0051,0.23,0.24,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.3e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31690000,-0.29,0.016,-0.0025,0.96,0.041,0.0079,0.8,0.098,-0.033,-0.38,-0.0012,-0.0058,-1.3e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.7e-05,0.048,0.021,0.022,0.0051,0.24,0.25,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.3e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31790000,-0.29,0.017,-0.0027,0.96,0.035,0.013,0.8,0.094,-0.024,-0.3,-0.0012,-0.0058,-4.3e-07,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.022,0.0051,0.24,0.25,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.2e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31890000,-0.29,0.017,-0.0024,0.96,0.034,0.015,0.8,0.099,-0.022,-0.24,-0.0012,-0.0058,2e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.021,0.022,0.0051,0.25,0.26,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.2e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -31990000,-0.29,0.016,-0.0028,0.96,0.03,0.016,0.79,0.095,-0.017,-0.17,-0.0012,-0.0058,1.1e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.022,0.0051,0.25,0.26,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.2e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -32090000,-0.28,0.016,-0.0032,0.96,0.031,0.02,0.8,0.099,-0.015,-0.096,-0.0012,-0.0058,6.9e-07,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.021,0.023,0.0051,0.26,0.27,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.1e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -32190000,-0.28,0.016,-0.0034,0.96,0.028,0.027,0.8,0.094,-0.0059,-0.028,-0.0012,-0.0058,3.8e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.022,0.0051,0.26,0.27,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.1e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -32290000,-0.28,0.016,-0.0033,0.96,0.028,0.03,0.79,0.097,-0.0033,0.042,-0.0012,-0.0058,7.6e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.021,0.023,0.0051,0.27,0.28,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.1e-05,0.0011,5.7e-05,0.0012,0.0011,0.00064,0.0012,1,1 -32390000,-0.28,0.016,-0.0034,0.96,0.024,0.032,0.79,0.093,0.00043,0.12,-0.0012,-0.0058,5.8e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.022,0.0051,0.27,0.28,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -32490000,-0.28,0.015,-0.0065,0.96,-0.015,0.085,-0.078,0.092,0.0081,0.12,-0.0012,-0.0058,3.4e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.022,0.024,0.0051,0.28,0.29,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -32590000,-0.29,0.015,-0.0065,0.96,-0.013,0.084,-0.081,0.092,0.0012,0.1,-0.0012,-0.0058,-1.5e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.28,0.29,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -32690000,-0.29,0.015,-0.0065,0.96,-0.0087,0.091,-0.082,0.091,0.0099,0.087,-0.0012,-0.0058,-1.4e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.047,0.022,0.024,0.0051,0.29,0.3,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -32790000,-0.29,0.015,-0.0063,0.96,-0.0048,0.09,-0.083,0.092,0.0024,0.072,-0.0012,-0.0058,-7e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.29,0.3,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -32890000,-0.29,0.015,-0.0063,0.96,-0.0052,0.096,-0.085,0.091,0.011,0.057,-0.0012,-0.0058,-2.5e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.033,-0.067,0,0,4.2e-05,3.7e-05,0.047,0.022,0.023,0.0051,0.3,0.31,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -32990000,-0.29,0.015,-0.0062,0.96,-0.0014,0.091,-0.084,0.092,-0.0018,0.043,-0.0013,-0.0058,-1e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.021,0.022,0.0051,0.3,0.31,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33090000,-0.29,0.015,-0.0061,0.96,0.0025,0.097,-0.081,0.092,0.0074,0.036,-0.0013,-0.0058,-9.5e-06,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.022,0.023,0.0051,0.31,0.32,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33190000,-0.29,0.015,-0.0061,0.96,0.0066,0.093,-0.08,0.092,-0.0072,0.028,-0.0013,-0.0058,-2.9e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.0051,0.31,0.31,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33290000,-0.29,0.015,-0.0061,0.96,0.011,0.096,-0.08,0.094,0.0015,0.02,-0.0013,-0.0058,-1.8e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.32,0.33,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,7.9e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33390000,-0.29,0.015,-0.006,0.96,0.015,0.092,-0.078,0.093,-0.0067,0.011,-0.0013,-0.0058,-2.5e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.0051,0.32,0.32,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.9e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33490000,-0.29,0.015,-0.006,0.96,0.021,0.097,-0.077,0.096,0.0027,0.0017,-0.0013,-0.0058,-2e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.33,0.34,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.9e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33590000,-0.29,0.014,-0.0058,0.96,0.024,0.094,-0.074,0.096,-0.01,-0.0062,-0.0013,-0.0058,-2.7e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.005,0.33,0.33,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33690000,-0.29,0.015,-0.0058,0.96,0.027,0.098,-0.075,0.097,-0.0013,-0.014,-0.0013,-0.0058,-2.1e-05,0.066,0.012,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.34,0.35,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33790000,-0.29,0.015,-0.0058,0.96,0.029,0.095,-0.069,0.093,-0.014,-0.021,-0.0013,-0.0058,-3.5e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.005,0.34,0.34,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.8e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33890000,-0.29,0.014,-0.0057,0.96,0.034,0.097,-0.069,0.097,-0.0054,-0.028,-0.0013,-0.0058,-2.4e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.35,0.36,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.7e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -33990000,-0.29,0.015,-0.0056,0.96,0.036,0.095,-0.065,0.095,-0.014,-0.032,-0.0013,-0.0057,-3.5e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.02,0.022,0.005,0.35,0.35,0.03,2.5e-07,2.4e-07,1.4e-06,0.0018,0.002,7.7e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -34090000,-0.29,0.015,-0.0056,0.96,0.039,0.1,-0.064,0.098,-0.0041,-0.036,-0.0013,-0.0057,-3.2e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.36,0.37,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.7e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -34190000,-0.29,0.015,-0.0055,0.96,0.041,0.097,-0.061,0.093,-0.016,-0.039,-0.0013,-0.0057,-3.7e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.02,0.022,0.005,0.36,0.36,0.03,2.5e-07,2.4e-07,1.4e-06,0.0018,0.002,7.7e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -34290000,-0.29,0.015,-0.0054,0.96,0.042,0.1,-0.06,0.098,-0.0061,-0.045,-0.0013,-0.0057,-3e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.005,0.37,0.37,0.03,2.5e-07,2.4e-07,1.4e-06,0.0018,0.002,7.6e-05,0.0011,5.7e-05,0.0012,0.0011,0.00063,0.0012,1,1 -34390000,-0.29,0.015,-0.0053,0.96,0.043,0.097,-0.055,0.093,-0.018,-0.049,-0.0013,-0.0057,-3.8e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.02,0.022,0.005,0.37,0.37,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.6e-05,0.0011,5.7e-05,0.0012,0.0011,0.00062,0.0012,1,1 -34490000,-0.29,0.015,-0.0053,0.96,0.046,0.1,-0.053,0.097,-0.0082,-0.052,-0.0013,-0.0057,-3e-05,0.066,0.013,-0.12,-0.11,-0.024,0.5,0.085,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.005,0.38,0.38,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.6e-05,0.0011,5.7e-05,0.0012,0.0011,0.00062,0.0012,1,1 -34590000,-0.29,0.014,-0.0052,0.96,0.046,0.097,0.74,0.091,-0.022,-0.024,-0.0013,-0.0057,-4e-05,0.066,0.014,-0.12,-0.11,-0.024,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.02,0.021,0.005,0.38,0.38,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,5.7e-05,0.0012,0.0011,0.00062,0.0012,1,1 -34690000,-0.29,0.014,-0.0052,0.96,0.051,0.1,1.7,0.096,-0.012,0.095,-0.0013,-0.0057,-3.7e-05,0.066,0.014,-0.12,-0.11,-0.024,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.02,0.021,0.005,0.39,0.39,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,5.7e-05,0.0012,0.0011,0.00062,0.0012,1,1 -34790000,-0.29,0.014,-0.0052,0.96,0.052,0.098,2.7,0.09,-0.026,0.27,-0.0013,-0.0057,-4.7e-05,0.066,0.014,-0.12,-0.11,-0.024,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.019,0.019,0.005,0.39,0.39,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,5.7e-05,0.0012,0.0011,0.00062,0.0012,1,1 -34890000,-0.29,0.014,-0.0052,0.96,0.057,0.1,3.7,0.095,-0.016,0.56,-0.0013,-0.0057,-4.3e-05,0.066,0.014,-0.12,-0.11,-0.024,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.019,0.019,0.005,0.4,0.4,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,5.7e-05,0.0012,0.0011,0.00062,0.0012,1,1 +6990000,-0.29,0.024,-0.0061,0.96,-0.2,-0.033,-0.037,-0.11,-0.019,-0.055,-0.00071,-0.0097,-0.0002,0,0,-0.13,-0.091,-0.021,0.51,0.069,-0.028,-0.058,0,0,0.0011,0.0012,0.076,0.16,0.16,0.031,0.1,0.1,0.066,6.3e-05,6.4e-05,2.2e-06,0.04,0.04,0.0026,0.0014,0.00049,0.0014,0.0014,0.0012,0.0014,1,1 +7090000,-0.29,0.025,-0.0062,0.96,-0.24,-0.049,-0.038,-0.15,-0.027,-0.056,-0.00058,-0.01,-0.00021,0,0,-0.13,-0.099,-0.023,0.51,0.075,-0.029,-0.065,0,0,0.0011,0.0011,0.063,0.19,0.18,0.03,0.13,0.13,0.066,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0024,0.0013,0.00025,0.0013,0.0013,0.00095,0.0013,1,1 +7190000,-0.29,0.025,-0.0062,0.96,-0.26,-0.057,-0.037,-0.17,-0.034,-0.059,-0.00054,-0.01,-0.00021,-0.00035,-7.7e-05,-0.13,-0.1,-0.023,0.51,0.077,-0.03,-0.067,0,0,0.0011,0.0011,0.06,0.21,0.21,0.029,0.16,0.15,0.065,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0023,0.0013,0.00018,0.0013,0.0013,0.0009,0.0013,1,1 +7290000,-0.29,0.025,-0.0063,0.96,-0.28,-0.066,-0.034,-0.2,-0.04,-0.055,-0.00053,-0.01,-0.00021,-0.00088,-0.00019,-0.13,-0.1,-0.023,0.51,0.077,-0.03,-0.067,0,0,0.001,0.0011,0.058,0.25,0.24,0.028,0.19,0.19,0.064,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0022,0.0013,0.00015,0.0013,0.0013,0.00087,0.0013,1,1 +7390000,-0.29,0.025,-0.0063,0.96,-0.3,-0.072,-0.032,-0.23,-0.048,-0.052,-0.00052,-0.01,-0.00021,-0.0011,-0.00023,-0.13,-0.1,-0.024,0.5,0.078,-0.03,-0.068,0,0,0.001,0.001,0.057,0.28,0.28,0.027,0.23,0.23,0.064,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.002,0.0013,0.00014,0.0013,0.0013,0.00086,0.0013,1,1 +7490000,-0.29,0.024,-0.0063,0.96,-0.32,-0.08,-0.026,-0.25,-0.056,-0.046,-0.00051,-0.0099,-0.00021,-0.0015,-0.00027,-0.13,-0.1,-0.024,0.5,0.078,-0.03,-0.068,0,0,0.00097,0.001,0.056,0.32,0.31,0.026,0.28,0.28,0.063,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0019,0.0013,0.00012,0.0013,0.0013,0.00085,0.0013,1,1 +7590000,-0.29,0.024,-0.0065,0.96,-0.34,-0.087,-0.022,-0.28,-0.065,-0.041,-0.00049,-0.0098,-0.00021,-0.0016,-0.00024,-0.13,-0.1,-0.024,0.5,0.078,-0.03,-0.068,0,0,0.00094,0.00097,0.056,0.36,0.36,0.025,0.34,0.34,0.062,6.2e-05,6.3e-05,2.2e-06,0.04,0.04,0.0018,0.0013,0.00012,0.0013,0.0013,0.00085,0.0013,1,1 +7690000,-0.29,0.024,-0.0065,0.96,-0.35,-0.096,-0.022,-0.31,-0.076,-0.036,-0.00047,-0.0097,-0.00021,-0.0017,-0.00022,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00091,0.00094,0.055,0.4,0.4,0.025,0.41,0.4,0.062,6.1e-05,6.2e-05,2.2e-06,0.04,0.04,0.0017,0.0013,0.00011,0.0013,0.0013,0.00084,0.0013,1,1 +7790000,-0.29,0.023,-0.0063,0.96,-0.36,-0.11,-0.024,-0.34,-0.09,-0.041,-0.0004,-0.0096,-0.00021,-0.0017,-0.00024,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00088,0.00091,0.055,0.45,0.45,0.024,0.48,0.48,0.061,6.1e-05,6.2e-05,2.2e-06,0.04,0.04,0.0016,0.0013,0.00011,0.0013,0.0013,0.00084,0.0013,1,1 +7890000,-0.29,0.023,-0.0063,0.96,-0.37,-0.11,-0.025,-0.37,-0.1,-0.045,-0.00038,-0.0095,-0.0002,-0.0016,-0.00024,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00086,0.00088,0.055,0.5,0.49,0.023,0.57,0.56,0.06,6e-05,6.1e-05,2.2e-06,0.04,0.04,0.0015,0.0013,0.0001,0.0013,0.0013,0.00083,0.0013,1,1 +7990000,-0.29,0.023,-0.0064,0.96,-0.39,-0.12,-0.021,-0.4,-0.11,-0.041,-0.00041,-0.0094,-0.0002,-0.0016,-0.00019,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00083,0.00085,0.054,0.55,0.54,0.022,0.67,0.66,0.059,6e-05,6.1e-05,2.2e-06,0.04,0.04,0.0015,0.0013,9.8e-05,0.0013,0.0012,0.00083,0.0013,1,1 +8090000,-0.29,0.023,-0.0062,0.96,-0.41,-0.13,-0.022,-0.43,-0.13,-0.044,-0.00034,-0.0094,-0.0002,-0.0016,-0.00024,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.0008,0.00083,0.054,0.6,0.6,0.022,0.79,0.77,0.059,5.9e-05,6e-05,2.2e-06,0.04,0.04,0.0014,0.0013,9.6e-05,0.0013,0.0012,0.00083,0.0013,1,1 +8190000,-0.29,0.022,-0.0063,0.96,-0.41,-0.14,-0.017,-0.46,-0.15,-0.038,-0.00028,-0.0092,-0.0002,-0.0016,-0.00025,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00078,0.0008,0.054,0.66,0.65,0.021,0.91,0.9,0.058,5.8e-05,5.9e-05,2.2e-06,0.04,0.04,0.0013,0.0012,9.4e-05,0.0013,0.0012,0.00082,0.0013,1,1 +8290000,-0.29,0.022,-0.0064,0.96,-0.44,-0.15,-0.016,-0.51,-0.16,-0.038,-0.00033,-0.0093,-0.0002,-0.0017,-0.00022,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00075,0.00078,0.054,0.71,0.7,0.02,1.1,1,0.057,5.7e-05,5.8e-05,2.2e-06,0.04,0.04,0.0013,0.0012,9.2e-05,0.0013,0.0012,0.00082,0.0013,1,1 +8390000,-0.29,0.022,-0.0065,0.96,-0.45,-0.15,-0.015,-0.55,-0.17,-0.036,-0.00034,-0.0092,-0.0002,-0.0017,-0.0002,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00073,0.00075,0.054,0.77,0.76,0.02,1.2,1.2,0.057,5.6e-05,5.7e-05,2.2e-06,0.04,0.04,0.0012,0.0012,9e-05,0.0013,0.0012,0.00082,0.0013,1,1 +8490000,-0.29,0.022,-0.0065,0.96,-0.46,-0.15,-0.016,-0.58,-0.18,-0.041,-0.00043,-0.0091,-0.00019,-0.0016,-0.00011,-0.13,-0.1,-0.024,0.5,0.079,-0.031,-0.068,0,0,0.00071,0.00073,0.053,0.82,0.81,0.019,1.4,1.4,0.056,5.5e-05,5.5e-05,2.2e-06,0.04,0.04,0.0011,0.0012,8.9e-05,0.0013,0.0012,0.00082,0.0013,1,1 +8590000,-0.29,0.022,-0.0063,0.96,-0.45,-0.16,-0.012,-0.6,-0.2,-0.036,-0.00037,-0.0089,-0.00019,-0.0016,-0.00011,-0.13,-0.1,-0.024,0.5,0.08,-0.031,-0.069,0,0,0.00069,0.00071,0.053,0.88,0.87,0.019,1.6,1.5,0.055,5.3e-05,5.4e-05,2.2e-06,0.04,0.04,0.0011,0.0012,8.7e-05,0.0013,0.0012,0.00081,0.0013,1,1 +8690000,-0.29,0.021,-0.0064,0.96,-0.46,-0.16,-0.014,-0.64,-0.21,-0.037,-0.00042,-0.0088,-0.00019,-0.0016,-7.3e-05,-0.13,-0.1,-0.024,0.5,0.08,-0.031,-0.069,0,0,0.00067,0.00069,0.053,0.94,0.93,0.018,1.8,1.7,0.055,5.2e-05,5.2e-05,2.2e-06,0.04,0.04,0.001,0.0012,8.6e-05,0.0013,0.0012,0.00081,0.0013,1,1 +8790000,-0.29,0.021,-0.0065,0.96,-0.48,-0.16,-0.013,-0.67,-0.23,-0.035,-0.00041,-0.0088,-0.00019,-0.0016,-6.7e-05,-0.13,-0.1,-0.024,0.5,0.08,-0.031,-0.069,0,0,0.00065,0.00067,0.053,1,0.99,0.018,2,2,0.055,5e-05,5.1e-05,2.2e-06,0.04,0.04,0.00099,0.0012,8.5e-05,0.0013,0.0012,0.00081,0.0013,1,1 +8890000,-0.29,0.021,-0.0064,0.96,-0.47,-0.16,-0.0093,-0.68,-0.24,-0.029,-0.00046,-0.0085,-0.00018,-0.0016,4.3e-05,-0.13,-0.1,-0.024,0.5,0.08,-0.031,-0.069,0,0,0.00063,0.00065,0.053,1.1,1,0.017,2.2,2.2,0.054,4.8e-05,4.9e-05,2.2e-06,0.04,0.04,0.00095,0.0012,8.4e-05,0.0013,0.0012,0.0008,0.0013,1,1 +8990000,-0.29,0.02,-0.0063,0.96,-0.45,-0.17,-0.0088,-0.68,-0.25,-0.032,-0.0005,-0.0082,-0.00017,-0.0013,0.00015,-0.13,-0.1,-0.024,0.5,0.08,-0.032,-0.069,0,0,0.00062,0.00063,0.053,1.1,1.1,0.017,2.5,2.4,0.054,4.7e-05,4.7e-05,2.2e-06,0.04,0.04,0.00091,0.0012,8.3e-05,0.0013,0.0012,0.0008,0.0013,1,1 +9090000,-0.29,0.02,-0.0064,0.96,-0.46,-0.16,-0.0099,-0.72,-0.23,-0.032,-0.00067,-0.0082,-0.00016,-0.0012,0.00032,-0.13,-0.1,-0.024,0.5,0.08,-0.031,-0.069,0,0,0.0006,0.00062,0.053,1.2,1.2,0.016,2.7,2.7,0.053,4.5e-05,4.5e-05,2.2e-06,0.04,0.04,0.00087,0.0012,8.2e-05,0.0013,0.0012,0.0008,0.0013,1,1 +9190000,-0.29,0.02,-0.0064,0.96,-0.46,-0.15,-0.0095,-0.74,-0.23,-0.033,-0.00077,-0.008,-0.00016,-0.0011,0.00045,-0.13,-0.1,-0.024,0.5,0.081,-0.031,-0.069,0,0,0.00059,0.0006,0.053,1.2,1.2,0.016,3,3,0.052,4.3e-05,4.3e-05,2.2e-06,0.04,0.04,0.00084,0.0012,8.2e-05,0.0013,0.0012,0.00079,0.0013,1,1 +9290000,-0.29,0.02,-0.0061,0.96,-0.45,-0.16,-0.0081,-0.73,-0.25,-0.03,-0.00077,-0.0078,-0.00015,-0.001,0.00052,-0.13,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00058,0.00059,0.053,1.3,1.3,0.015,3.3,3.3,0.052,4.1e-05,4.1e-05,2.2e-06,0.04,0.04,0.0008,0.0012,8.1e-05,0.0013,0.0012,0.00079,0.0013,1,1 +9390000,-0.29,0.02,-0.0059,0.96,-0.45,-0.17,-0.007,-0.75,-0.28,-0.031,-0.00069,-0.0077,-0.00015,-0.00085,0.00049,-0.13,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00057,0.00058,0.053,1.4,1.4,0.015,3.7,3.6,0.052,4e-05,4e-05,2.2e-06,0.04,0.04,0.00077,0.0012,8e-05,0.0013,0.0012,0.00079,0.0013,1,1 +9490000,-0.29,0.019,-0.006,0.96,-0.46,-0.17,-0.0055,-0.78,-0.28,-0.028,-0.00077,-0.0076,-0.00015,-0.00093,0.00058,-0.14,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00056,0.00057,0.053,1.4,1.4,0.015,4,4,0.051,3.8e-05,3.8e-05,2.2e-06,0.04,0.04,0.00074,0.0012,8e-05,0.0013,0.0012,0.00079,0.0013,1,1 +9590000,-0.29,0.019,-0.006,0.96,-0.47,-0.19,-0.0054,-0.82,-0.33,-0.029,-0.00064,-0.0075,-0.00015,-0.00087,0.00046,-0.14,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00055,0.00056,0.053,1.5,1.5,0.014,4.4,4.3,0.05,3.6e-05,3.6e-05,2.2e-06,0.04,0.04,0.00072,0.0012,7.9e-05,0.0013,0.0012,0.00078,0.0013,1,1 +9690000,-0.29,0.019,-0.0059,0.96,-0.47,-0.2,-0.0026,-0.83,-0.36,-0.028,-0.0006,-0.0074,-0.00015,-0.00078,0.00046,-0.14,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00054,0.00056,0.053,1.6,1.6,0.014,4.8,4.8,0.05,3.5e-05,3.4e-05,2.2e-06,0.04,0.04,0.00069,0.0012,7.9e-05,0.0013,0.0012,0.00078,0.0013,1,1 +9790000,-0.29,0.019,-0.0059,0.96,-0.48,-0.21,-0.0039,-0.88,-0.4,-0.029,-0.00052,-0.0074,-0.00015,-0.00077,0.00038,-0.14,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00054,0.00055,0.053,1.6,1.6,0.014,5.2,5.2,0.05,3.3e-05,3.3e-05,2.2e-06,0.04,0.04,0.00067,0.0012,7.8e-05,0.0013,0.0012,0.00078,0.0013,1,1 +9890000,-0.29,0.019,-0.0058,0.96,-0.47,-0.21,-0.0027,-0.88,-0.42,-0.03,-0.00055,-0.0072,-0.00014,-0.00053,0.00044,-0.14,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00053,0.00054,0.053,1.7,1.7,0.013,5.7,5.7,0.049,3.1e-05,3.1e-05,2.2e-06,0.04,0.04,0.00064,0.0012,7.8e-05,0.0013,0.0012,0.00078,0.0013,1,1 +9990000,-0.29,0.019,-0.0058,0.96,-0.49,-0.22,-0.002,-0.93,-0.46,-0.032,-0.00049,-0.0072,-0.00015,-0.00044,0.00038,-0.14,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00053,0.00054,0.053,1.8,1.8,0.013,6.2,6.2,0.049,3e-05,2.9e-05,2.2e-06,0.04,0.04,0.00062,0.0012,7.7e-05,0.0013,0.0012,0.00077,0.0013,1,1 +10090000,-0.29,0.019,-0.0057,0.96,-0.49,-0.24,-0.00079,-0.96,-0.51,-0.03,-0.00039,-0.0071,-0.00015,-0.00045,0.0003,-0.14,-0.1,-0.024,0.5,0.081,-0.032,-0.069,0,0,0.00052,0.00053,0.053,1.9,1.9,0.013,6.8,6.7,0.049,2.8e-05,2.8e-05,2.2e-06,0.04,0.04,0.0006,0.0012,7.7e-05,0.0013,0.0012,0.00077,0.0013,1,1 +10190000,-0.29,0.019,-0.0057,0.96,-0.49,-0.26,4.4e-05,-0.97,-0.58,-0.031,-0.00025,-0.007,-0.00015,-0.00028,0.00017,-0.14,-0.1,-0.024,0.5,0.081,-0.033,-0.069,0,0,0.00052,0.00053,0.053,2,1.9,0.013,7.3,7.3,0.048,2.7e-05,2.6e-05,2.2e-06,0.04,0.04,0.00058,0.0012,7.7e-05,0.0013,0.0012,0.00077,0.0013,1,1 +10290000,-0.29,0.019,-0.0056,0.96,-0.49,-0.26,-0.0011,-0.98,-0.59,-0.03,-0.00032,-0.0069,-0.00014,-0.00016,0.00024,-0.14,-0.1,-0.024,0.5,0.081,-0.033,-0.069,0,0,0.00052,0.00052,0.053,2,2,0.012,8,7.9,0.048,2.6e-05,2.5e-05,2.2e-06,0.04,0.04,0.00057,0.0012,7.6e-05,0.0013,0.0012,0.00077,0.0013,1,1 +10390000,-0.29,0.019,-0.0055,0.96,0.0031,-0.0051,-0.0025,0.00058,-0.00015,-0.029,-0.00036,-0.0067,-0.00014,-6.4e-06,0.0003,-0.14,-0.11,-0.025,0.5,0.081,-0.033,-0.069,0,0,0.00051,0.00052,0.053,0.25,0.25,0.56,0.25,0.25,0.048,2.4e-05,2.4e-05,2.2e-06,0.04,0.04,0.00055,0.0012,7.6e-05,0.0013,0.0012,0.00077,0.0013,1,1 +10490000,-0.29,0.019,-0.0055,0.96,-0.01,-0.0087,0.0071,0.00024,-0.00081,-0.024,-0.00029,-0.0067,-0.00014,-0.00015,0.00025,-0.14,-0.11,-0.025,0.5,0.081,-0.033,-0.069,0,0,0.00051,0.00052,0.053,0.26,0.26,0.55,0.26,0.26,0.057,2.3e-05,2.2e-05,2.2e-06,0.04,0.04,0.00054,0.0012,7.6e-05,0.0013,0.0012,0.00076,0.0013,1,1 +10590000,-0.29,0.019,-0.0054,0.96,-0.021,-0.0074,0.013,-0.0011,-0.00057,-0.022,-0.00039,-0.0066,-0.00013,0.0001,0.0006,-0.14,-0.11,-0.025,0.5,0.081,-0.033,-0.069,0,0,0.0005,0.00051,0.053,0.13,0.13,0.27,0.26,0.26,0.055,2.2e-05,2.1e-05,2.2e-06,0.039,0.039,0.00052,0.0012,7.6e-05,0.0013,0.0012,0.00076,0.0013,1,1 +10690000,-0.29,0.019,-0.0053,0.96,-0.034,-0.01,0.016,-0.0038,-0.0015,-0.018,-0.00037,-0.0065,-0.00013,0.00013,0.00058,-0.14,-0.11,-0.025,0.5,0.081,-0.033,-0.069,0,0,0.0005,0.00051,0.053,0.14,0.14,0.26,0.27,0.27,0.065,2.1e-05,2e-05,2.2e-06,0.039,0.039,0.00052,0.0012,7.6e-05,0.0013,0.0012,0.00076,0.0013,1,1 +10790000,-0.29,0.019,-0.0052,0.96,-0.034,-0.014,0.014,0.00012,-0.0018,-0.016,-0.0004,-0.0064,-0.00013,0.002,5.7e-05,-0.14,-0.11,-0.025,0.5,0.081,-0.033,-0.069,0,0,0.00048,0.00049,0.052,0.094,0.094,0.17,0.13,0.13,0.062,2e-05,1.9e-05,2.2e-06,0.038,0.038,0.00051,0.0012,7.6e-05,0.0013,0.0012,0.00076,0.0013,1,1 +10890000,-0.29,0.019,-0.0051,0.96,-0.043,-0.019,0.01,-0.0037,-0.0034,-0.019,-0.00052,-0.0063,-0.00012,0.0021,0.0002,-0.14,-0.11,-0.025,0.5,0.081,-0.033,-0.069,0,0,0.00048,0.00049,0.052,0.1,0.1,0.16,0.14,0.14,0.068,1.9e-05,1.8e-05,2.2e-06,0.038,0.038,0.0005,0.0012,7.6e-05,0.0013,0.0012,0.00076,0.0013,1,1 +10990000,-0.29,0.019,-0.0051,0.96,-0.039,-0.021,0.016,-0.0014,-0.0019,-0.012,-0.00056,-0.0064,-0.00012,0.0058,0.00063,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00045,0.00046,0.052,0.081,0.081,0.12,0.091,0.091,0.065,1.8e-05,1.7e-05,2.2e-06,0.036,0.036,0.00049,0.0012,7.6e-05,0.0013,0.0012,0.00075,0.0013,1,1 +11090000,-0.29,0.019,-0.0052,0.96,-0.051,-0.028,0.02,-0.0059,-0.0044,-0.0081,-0.00045,-0.0063,-0.00013,0.006,0.00063,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00045,0.00046,0.052,0.093,0.093,0.11,0.097,0.097,0.069,1.7e-05,1.6e-05,2.2e-06,0.036,0.036,0.00049,0.0012,7.6e-05,0.0013,0.0012,0.00075,0.0013,1,1 +11190000,-0.29,0.018,-0.0053,0.96,-0.041,-0.026,0.027,-0.0021,-0.0027,-0.0011,-0.00045,-0.0063,-0.00013,0.013,0.0015,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00041,0.00042,0.052,0.076,0.076,0.083,0.072,0.072,0.066,1.6e-05,1.5e-05,2.2e-06,0.033,0.033,0.00048,0.0012,7.6e-05,0.0013,0.0012,0.00075,0.0013,1,1 +11290000,-0.29,0.018,-0.0053,0.96,-0.05,-0.027,0.026,-0.0066,-0.0053,-0.00072,-0.00047,-0.0063,-0.00013,0.013,0.0015,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00041,0.00042,0.052,0.09,0.09,0.077,0.078,0.078,0.069,1.5e-05,1.5e-05,2.2e-06,0.033,0.033,0.00048,0.0012,7.6e-05,0.0013,0.0012,0.00075,0.0013,1,1 +11390000,-0.29,0.018,-0.0052,0.96,-0.043,-0.024,0.017,-0.0037,-0.0034,-0.0091,-0.00052,-0.0063,-0.00013,0.019,0.0029,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00037,0.00037,0.052,0.075,0.075,0.062,0.062,0.062,0.066,1.4e-05,1.4e-05,2.2e-06,0.029,0.029,0.00047,0.0012,7.6e-05,0.0013,0.0012,0.00074,0.0013,1,1 +11490000,-0.29,0.018,-0.0051,0.96,-0.05,-0.026,0.021,-0.0082,-0.006,-0.003,-0.00053,-0.0062,-0.00012,0.019,0.003,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00037,0.00037,0.052,0.089,0.089,0.057,0.068,0.068,0.067,1.4e-05,1.3e-05,2.2e-06,0.029,0.029,0.00047,0.0012,7.6e-05,0.0013,0.0012,0.00074,0.0013,1,1 +11590000,-0.29,0.018,-0.0052,0.96,-0.045,-0.021,0.019,-0.005,-0.0039,-0.004,-0.00057,-0.0063,-0.00012,0.025,0.0042,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00032,0.00032,0.052,0.074,0.074,0.048,0.056,0.056,0.065,1.3e-05,1.2e-05,2.2e-06,0.025,0.025,0.00047,0.0012,7.5e-05,0.0013,0.0012,0.00074,0.0013,1,1 +11690000,-0.29,0.017,-0.0052,0.96,-0.051,-0.026,0.019,-0.0097,-0.0062,-0.0053,-0.00061,-0.0063,-0.00012,0.025,0.0042,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00032,0.00032,0.052,0.087,0.087,0.044,0.063,0.063,0.066,1.2e-05,1.2e-05,2.2e-06,0.025,0.025,0.00047,0.0012,7.5e-05,0.0013,0.0012,0.00074,0.0013,1,1 +11790000,-0.29,0.017,-0.0051,0.96,-0.041,-0.025,0.02,-0.0056,-0.0054,-0.0023,-0.0007,-0.0063,-0.00012,0.03,0.0046,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00027,0.00027,0.052,0.073,0.073,0.037,0.053,0.053,0.063,1.2e-05,1.1e-05,2.2e-06,0.021,0.021,0.00046,0.0012,7.5e-05,0.0013,0.0012,0.00073,0.0013,1,1 +11890000,-0.29,0.017,-0.0053,0.96,-0.049,-0.028,0.018,-0.01,-0.008,-0.0016,-0.00069,-0.0063,-0.00012,0.03,0.0045,-0.14,-0.11,-0.025,0.5,0.082,-0.033,-0.069,0,0,0.00027,0.00027,0.052,0.085,0.085,0.034,0.06,0.06,0.063,1.1e-05,1.1e-05,2.2e-06,0.021,0.021,0.00046,0.0012,7.5e-05,0.0013,0.0012,0.00073,0.0013,1,1 +11990000,-0.29,0.017,-0.0053,0.96,-0.039,-0.021,0.015,-0.0064,-0.0053,-0.0052,-0.00072,-0.0063,-0.00012,0.037,0.0066,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.069,0,0,0.00023,0.00023,0.052,0.074,0.074,0.03,0.062,0.062,0.061,1.1e-05,1e-05,2.2e-06,0.018,0.018,0.00046,0.0012,7.5e-05,0.0013,0.0012,0.00073,0.0013,1,1 +12090000,-0.29,0.017,-0.0052,0.96,-0.045,-0.022,0.018,-0.011,-0.0076,0.00088,-0.0007,-0.0062,-0.00012,0.037,0.0069,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.069,0,0,0.00023,0.00023,0.052,0.085,0.085,0.027,0.07,0.07,0.06,1e-05,9.7e-06,2.2e-06,0.018,0.018,0.00046,0.0012,7.5e-05,0.0013,0.0012,0.00073,0.0013,1,1 +12190000,-0.29,0.017,-0.0052,0.96,-0.038,-0.013,0.017,-0.0054,-0.0029,0.0028,-0.00066,-0.0062,-0.00012,0.043,0.0086,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.069,0,0,0.0002,0.0002,0.052,0.068,0.068,0.024,0.057,0.057,0.058,9.7e-06,9.2e-06,2.2e-06,0.015,0.015,0.00045,0.0012,7.5e-05,0.0012,0.0012,0.00072,0.0013,1,1 +12290000,-0.29,0.017,-0.0053,0.96,-0.04,-0.012,0.016,-0.0094,-0.0041,0.0038,-0.00063,-0.0062,-0.00012,0.043,0.0085,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.069,0,0,0.0002,0.0002,0.052,0.079,0.079,0.022,0.065,0.065,0.058,9.3e-06,8.8e-06,2.2e-06,0.015,0.015,0.00045,0.0012,7.5e-05,0.0012,0.0012,0.00072,0.0013,1,1 +12390000,-0.29,0.016,-0.0053,0.96,-0.033,-0.0087,0.014,-0.0051,-0.0027,-0.0022,-0.00063,-0.0062,-0.00012,0.047,0.0087,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.069,0,0,0.00017,0.00017,0.051,0.064,0.064,0.02,0.054,0.054,0.056,8.9e-06,8.4e-06,2.2e-06,0.013,0.013,0.00045,0.0012,7.5e-05,0.0012,0.0012,0.00072,0.0013,1,1 +12490000,-0.29,0.016,-0.0053,0.96,-0.036,-0.0097,0.018,-0.0087,-0.0037,-0.00015,-0.00061,-0.0061,-0.00012,0.047,0.0089,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.07,0,0,0.00017,0.00017,0.051,0.073,0.073,0.018,0.061,0.061,0.055,8.5e-06,8e-06,2.2e-06,0.013,0.013,0.00045,0.0012,7.5e-05,0.0012,0.0012,0.00072,0.0013,1,1 +12590000,-0.29,0.016,-0.0052,0.96,-0.03,-0.0084,0.02,-0.0035,-0.0039,0.0017,-0.00061,-0.0061,-0.00012,0.05,0.0078,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.07,0,0,0.00015,0.00015,0.051,0.06,0.06,0.017,0.051,0.051,0.054,8.1e-06,7.7e-06,2.2e-06,0.011,0.011,0.00045,0.0012,7.5e-05,0.0012,0.0012,0.00072,0.0013,1,1 +12690000,-0.29,0.016,-0.0052,0.96,-0.033,-0.0065,0.019,-0.0066,-0.0047,0.0032,-0.00061,-0.0061,-0.00012,0.05,0.0079,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.07,0,0,0.00015,0.00015,0.051,0.068,0.068,0.015,0.059,0.059,0.053,7.8e-06,7.3e-06,2.2e-06,0.011,0.011,0.00045,0.0012,7.5e-05,0.0012,0.0012,0.00072,0.0013,1,1 +12790000,-0.29,0.016,-0.005,0.96,-0.023,-0.012,0.02,-0.0016,-0.0077,0.0054,-0.00068,-0.0061,-0.00012,0.053,0.0069,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,0.00013,0.00013,0.051,0.06,0.06,0.014,0.061,0.061,0.051,7.4e-06,7e-06,2.2e-06,0.0093,0.0096,0.00044,0.0012,7.5e-05,0.0012,0.0012,0.00071,0.0013,1,1 +12890000,-0.29,0.016,-0.005,0.96,-0.025,-0.013,0.021,-0.004,-0.009,0.0084,-0.00071,-0.006,-0.00012,0.053,0.0073,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,0.00013,0.00013,0.051,0.068,0.068,0.013,0.07,0.07,0.051,7.2e-06,6.7e-06,2.2e-06,0.0093,0.0095,0.00044,0.0012,7.5e-05,0.0012,0.0012,0.00071,0.0013,1,1 +12990000,-0.29,0.016,-0.005,0.96,-0.021,-0.0099,0.022,-0.0012,-0.0063,0.0096,-0.00075,-0.0061,-0.00012,0.054,0.0079,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,0.00012,0.00012,0.051,0.054,0.054,0.012,0.056,0.056,0.05,6.9e-06,6.4e-06,2.2e-06,0.008,0.0083,0.00044,0.0012,7.5e-05,0.0012,0.0012,0.00071,0.0013,1,1 +13090000,-0.29,0.016,-0.0049,0.96,-0.023,-0.011,0.019,-0.0033,-0.0076,0.0084,-0.00079,-0.006,-0.00011,0.054,0.0084,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.07,0,0,0.00012,0.00012,0.051,0.061,0.061,0.011,0.064,0.064,0.049,6.6e-06,6.2e-06,2.2e-06,0.008,0.0082,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.00071,0.0013,1,1 +13190000,-0.29,0.016,-0.0049,0.96,-0.019,-0.011,0.018,-0.0017,-0.0086,0.009,-0.00082,-0.006,-0.00011,0.055,0.0084,-0.14,-0.11,-0.025,0.5,0.083,-0.033,-0.07,0,0,0.00011,0.00011,0.051,0.054,0.054,0.011,0.066,0.066,0.047,6.3e-06,5.9e-06,2.2e-06,0.0072,0.0074,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.00071,0.0013,1,1 +13290000,-0.29,0.016,-0.0049,0.96,-0.021,-0.011,0.016,-0.0038,-0.0099,0.0084,-0.00081,-0.006,-0.00011,0.056,0.0086,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,0.00011,0.00011,0.051,0.06,0.06,0.01,0.075,0.075,0.047,6.1e-06,5.7e-06,2.2e-06,0.0071,0.0074,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.00071,0.0012,1,1 +13390000,-0.29,0.016,-0.0049,0.96,-0.017,-0.0083,0.015,-0.0014,-0.0068,0.009,-0.00079,-0.006,-0.00011,0.057,0.0087,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,0.0001,9.9e-05,0.051,0.048,0.048,0.0094,0.06,0.06,0.046,5.8e-06,5.4e-06,2.2e-06,0.0063,0.0065,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.00071,0.0012,1,1 +13490000,-0.29,0.016,-0.0049,0.96,-0.019,-0.011,0.015,-0.0032,-0.0079,0.0051,-0.00079,-0.006,-0.00011,0.057,0.009,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,0.0001,0.0001,0.051,0.053,0.053,0.009,0.067,0.068,0.045,5.6e-06,5.2e-06,2.2e-06,0.0062,0.0065,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.00071,0.0012,1,1 +13590000,-0.29,0.016,-0.0049,0.96,-0.014,-0.0075,0.016,0.0017,-0.0056,0.0036,-0.00077,-0.006,-0.00011,0.059,0.009,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,9.3e-05,9.2e-05,0.051,0.044,0.044,0.0085,0.055,0.055,0.044,5.4e-06,5e-06,2.2e-06,0.0056,0.0059,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.00071,0.0012,1,1 +13690000,-0.29,0.016,-0.0048,0.96,-0.015,-0.0066,0.016,0.00026,-0.0063,0.0062,-0.00079,-0.0059,-0.00011,0.059,0.0093,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,9.4e-05,9.3e-05,0.051,0.049,0.049,0.0082,0.063,0.063,0.044,5.2e-06,4.8e-06,2.2e-06,0.0056,0.0058,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +13790000,-0.29,0.015,-0.0048,0.96,-0.011,-0.0047,0.016,0.0054,-0.0033,0.0057,-0.00079,-0.006,-0.00011,0.061,0.0092,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,8.7e-05,8.7e-05,0.051,0.041,0.041,0.0078,0.052,0.052,0.042,5e-06,4.6e-06,2.2e-06,0.0051,0.0053,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +13890000,-0.29,0.015,-0.0047,0.96,-0.012,-0.0058,0.017,0.0044,-0.0039,0.0078,-0.00083,-0.006,-0.00011,0.06,0.0093,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,8.8e-05,8.8e-05,0.051,0.045,0.045,0.0076,0.059,0.059,0.042,4.8e-06,4.5e-06,2.2e-06,0.0051,0.0053,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +13990000,-0.29,0.015,-0.0047,0.96,-0.014,-0.0096,0.016,0.0039,-0.0045,0.0067,-0.00085,-0.006,-0.00011,0.06,0.0097,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,8.3e-05,8.3e-05,0.051,0.038,0.038,0.0073,0.05,0.05,0.041,4.7e-06,4.3e-06,2.2e-06,0.0047,0.0049,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14090000,-0.29,0.015,-0.0048,0.96,-0.013,-0.0037,0.017,0.0022,-0.0049,0.0031,-0.00078,-0.006,-0.00011,0.061,0.0089,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,8.4e-05,8.3e-05,0.051,0.042,0.042,0.0072,0.057,0.057,0.041,4.5e-06,4.2e-06,2.2e-06,0.0046,0.0049,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14190000,-0.29,0.015,-0.0048,0.96,-0.01,-0.0025,0.017,0.0035,-0.0039,0.0033,-0.00073,-0.006,-0.00011,0.063,0.0088,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,8e-05,7.9e-05,0.051,0.036,0.036,0.007,0.049,0.049,0.04,4.3e-06,4e-06,2.2e-06,0.0043,0.0046,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14290000,-0.29,0.015,-0.0048,0.96,-0.013,-0.0029,0.015,0.0025,-0.0041,0.0075,-0.00073,-0.0059,-0.00011,0.063,0.0089,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,8.1e-05,8e-05,0.051,0.039,0.039,0.0069,0.055,0.055,0.039,4.2e-06,3.9e-06,2.2e-06,0.0043,0.0045,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14390000,-0.29,0.015,-0.0048,0.96,-0.012,-0.0025,0.017,0.0036,-0.0047,0.012,-0.00075,-0.0059,-0.00011,0.063,0.0091,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,7.7e-05,7.6e-05,0.051,0.034,0.034,0.0067,0.047,0.047,0.039,4e-06,3.7e-06,2.2e-06,0.004,0.0043,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14490000,-0.29,0.015,-0.005,0.96,-0.012,-0.0018,0.02,0.0022,-0.0047,0.014,-0.00071,-0.0059,-0.00012,0.064,0.0087,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,7.8e-05,7.7e-05,0.051,0.037,0.037,0.0066,0.054,0.054,0.038,3.9e-06,3.6e-06,2.2e-06,0.004,0.0042,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14590000,-0.29,0.015,-0.005,0.96,-0.015,-0.0035,0.018,0.00068,-0.0052,0.01,-0.00069,-0.0059,-0.00012,0.064,0.0088,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,7.5e-05,7.4e-05,0.051,0.032,0.032,0.0065,0.047,0.047,0.038,3.8e-06,3.5e-06,2.2e-06,0.0038,0.004,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14690000,-0.29,0.015,-0.005,0.96,-0.016,-0.0038,0.018,-0.00092,-0.0057,0.01,-0.0007,-0.0059,-0.00011,0.064,0.0091,-0.14,-0.11,-0.025,0.5,0.083,-0.034,-0.07,0,0,7.6e-05,7.4e-05,0.051,0.035,0.035,0.0065,0.052,0.052,0.037,3.7e-06,3.4e-06,2.2e-06,0.0037,0.004,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14790000,-0.29,0.015,-0.0051,0.96,-0.019,-0.0012,0.018,-0.00061,-0.0012,0.013,-0.00072,-0.0058,-0.00011,0.065,0.01,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,7.3e-05,7.1e-05,0.051,0.03,0.03,0.0064,0.046,0.046,0.036,3.5e-06,3.2e-06,2.2e-06,0.0036,0.0038,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14890000,-0.29,0.015,-0.0049,0.96,-0.02,0.0007,0.022,-0.0027,-0.0016,0.014,-0.00074,-0.0058,-0.00011,0.065,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,7.4e-05,7.2e-05,0.051,0.033,0.033,0.0064,0.052,0.052,0.036,3.4e-06,3.1e-06,2.2e-06,0.0035,0.0038,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +14990000,-0.29,0.015,-0.005,0.96,-0.02,-0.0013,0.025,-0.0022,-0.0028,0.016,-0.00074,-0.0057,-0.00011,0.066,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,7.1e-05,7e-05,0.051,0.029,0.029,0.0064,0.045,0.045,0.036,3.3e-06,3e-06,2.2e-06,0.0034,0.0036,0.00044,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +15090000,-0.29,0.016,-0.0049,0.96,-0.021,-0.0024,0.029,-0.0043,-0.0029,0.018,-0.00074,-0.0057,-0.00011,0.066,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,7.2e-05,7e-05,0.051,0.031,0.031,0.0064,0.051,0.051,0.035,3.2e-06,2.9e-06,2.2e-06,0.0033,0.0036,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +15190000,-0.29,0.016,-0.005,0.96,-0.021,-0.00056,0.029,-0.0034,-0.0023,0.02,-0.00073,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,7e-05,6.8e-05,0.051,0.027,0.028,0.0064,0.045,0.045,0.035,3.1e-06,2.8e-06,2.2e-06,0.0032,0.0035,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.0007,0.0012,1,1 +15290000,-0.29,0.016,-0.0051,0.96,-0.024,-0.00067,0.029,-0.0059,-0.0028,0.017,-0.00075,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,7e-05,6.9e-05,0.051,0.03,0.03,0.0065,0.05,0.05,0.035,3e-06,2.7e-06,2.2e-06,0.0032,0.0035,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +15390000,-0.29,0.016,-0.0052,0.96,-0.023,-0.0026,0.028,-0.0046,-0.0023,0.017,-0.00075,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.8e-05,6.7e-05,0.051,0.026,0.026,0.0064,0.044,0.044,0.034,2.9e-06,2.7e-06,2.2e-06,0.0031,0.0033,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +15490000,-0.29,0.016,-0.0052,0.96,-0.025,-0.00012,0.028,-0.007,-0.0025,0.018,-0.00075,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.9e-05,6.7e-05,0.051,0.028,0.028,0.0065,0.05,0.05,0.034,2.8e-06,2.6e-06,2.2e-06,0.0031,0.0033,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +15590000,-0.29,0.016,-0.0051,0.96,-0.022,-0.0045,0.028,-0.0033,-0.0057,0.017,-0.00078,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.7e-05,6.6e-05,0.051,0.025,0.025,0.0065,0.044,0.044,0.034,2.7e-06,2.5e-06,2.2e-06,0.003,0.0032,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +15690000,-0.29,0.016,-0.0051,0.96,-0.024,-0.0024,0.028,-0.0049,-0.0061,0.018,-0.00083,-0.0057,-0.00011,0.066,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.8e-05,6.6e-05,0.051,0.027,0.027,0.0066,0.049,0.049,0.034,2.7e-06,2.4e-06,2.2e-06,0.0029,0.0032,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +15790000,-0.29,0.015,-0.0051,0.96,-0.021,-0.0012,0.028,-0.0035,-0.0052,0.019,-0.00087,-0.0058,-0.00011,0.066,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.6e-05,6.4e-05,0.051,0.024,0.024,0.0066,0.043,0.043,0.033,2.6e-06,2.3e-06,2.2e-06,0.0029,0.0031,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +15890000,-0.29,0.016,-0.0052,0.96,-0.021,-0.0024,0.029,-0.0059,-0.0052,0.019,-0.00084,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.7e-05,6.5e-05,0.051,0.026,0.026,0.0067,0.049,0.049,0.034,2.5e-06,2.3e-06,2.2e-06,0.0028,0.0031,0.00043,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +15990000,-0.29,0.016,-0.005,0.96,-0.02,-0.0019,0.026,-0.0049,-0.0044,0.018,-0.00083,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.6e-05,6.3e-05,0.051,0.023,0.023,0.0068,0.043,0.043,0.033,2.4e-06,2.2e-06,2.2e-06,0.0028,0.003,0.00042,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16090000,-0.29,0.016,-0.005,0.96,-0.022,-0.00065,0.024,-0.0072,-0.0044,0.018,-0.00082,-0.0057,-0.00011,0.067,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.6e-05,6.4e-05,0.051,0.024,0.025,0.0069,0.048,0.048,0.033,2.4e-06,2.1e-06,2.2e-06,0.0027,0.003,0.00042,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16190000,-0.29,0.016,-0.005,0.96,-0.02,-0.00046,0.023,-0.0071,-0.0036,0.015,-0.0008,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.5e-05,6.3e-05,0.051,0.022,0.022,0.0069,0.043,0.043,0.033,2.3e-06,2.1e-06,2.2e-06,0.0027,0.0029,0.00042,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16290000,-0.29,0.016,-0.0051,0.96,-0.022,0.00049,0.022,-0.0091,-0.0037,0.017,-0.00081,-0.0057,-0.00011,0.068,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.6e-05,6.3e-05,0.051,0.023,0.024,0.007,0.048,0.048,0.033,2.2e-06,2e-06,2.2e-06,0.0027,0.0029,0.00042,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16390000,-0.29,0.016,-0.005,0.96,-0.023,-6.6e-05,0.023,-0.007,-0.0036,0.017,-0.00082,-0.0057,-0.00011,0.068,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.4e-05,6.2e-05,0.051,0.021,0.021,0.007,0.042,0.042,0.033,2.2e-06,2e-06,2.2e-06,0.0026,0.0029,0.00041,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16490000,-0.29,0.016,-0.0051,0.96,-0.027,0.0009,0.025,-0.0098,-0.0035,0.021,-0.00081,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.5e-05,6.2e-05,0.051,0.022,0.023,0.0072,0.047,0.047,0.033,2.1e-06,1.9e-06,2.2e-06,0.0026,0.0029,0.00041,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16590000,-0.29,0.016,-0.0051,0.96,-0.031,0.0013,0.029,-0.0085,-0.003,0.021,-0.00082,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.4e-05,6.1e-05,0.051,0.02,0.02,0.0072,0.042,0.042,0.033,2.1e-06,1.8e-06,2.2e-06,0.0026,0.0028,0.00041,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16690000,-0.29,0.015,-0.0051,0.96,-0.034,0.0049,0.029,-0.011,-0.0028,0.021,-0.00084,-0.0057,-0.00011,0.068,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.4e-05,6.1e-05,0.051,0.022,0.022,0.0073,0.047,0.047,0.033,2e-06,1.8e-06,2.2e-06,0.0025,0.0028,0.00041,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16790000,-0.29,0.015,-0.005,0.96,-0.035,0.0046,0.028,-0.0096,-0.0025,0.021,-0.00086,-0.0057,-0.00011,0.068,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.019,0.02,0.0073,0.042,0.042,0.033,1.9e-06,1.7e-06,2.2e-06,0.0025,0.0028,0.0004,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16890000,-0.29,0.015,-0.0049,0.96,-0.035,0.0041,0.029,-0.013,-0.0025,0.02,-0.00089,-0.0057,-0.00011,0.068,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6.1e-05,0.051,0.021,0.021,0.0074,0.046,0.046,0.033,1.9e-06,1.7e-06,2.2e-06,0.0025,0.0027,0.0004,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +16990000,-0.29,0.015,-0.005,0.96,-0.032,0.0045,0.029,-0.011,-0.0027,0.019,-0.0009,-0.0057,-0.00011,0.068,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.021,0.021,0.0074,0.049,0.049,0.033,1.8e-06,1.7e-06,2.2e-06,0.0025,0.0027,0.0004,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17090000,-0.29,0.015,-0.0051,0.96,-0.037,0.0065,0.028,-0.015,-0.0022,0.018,-0.00089,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.022,0.022,0.0075,0.054,0.054,0.033,1.8e-06,1.6e-06,2.2e-06,0.0024,0.0027,0.00039,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17190000,-0.29,0.015,-0.0052,0.96,-0.036,0.0083,0.03,-0.014,-0.0038,0.021,-0.00089,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.021,0.022,0.0076,0.056,0.057,0.033,1.8e-06,1.6e-06,2.2e-06,0.0024,0.0027,0.00039,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17290000,-0.29,0.015,-0.0052,0.96,-0.039,0.009,0.03,-0.018,-0.0026,0.021,-0.00087,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.3e-05,6e-05,0.051,0.023,0.023,0.0077,0.062,0.062,0.033,1.7e-06,1.5e-06,2.2e-06,0.0024,0.0027,0.00039,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17390000,-0.29,0.015,-0.0051,0.96,-0.029,0.014,0.029,-0.01,-0.0013,0.021,-0.00091,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.1e-05,5.8e-05,0.051,0.02,0.02,0.0076,0.052,0.052,0.033,1.7e-06,1.5e-06,2.2e-06,0.0024,0.0026,0.00038,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17490000,-0.29,0.015,-0.0052,0.96,-0.029,0.015,0.029,-0.013,0.00029,0.023,-0.0009,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.2e-05,5.9e-05,0.051,0.021,0.021,0.0078,0.058,0.058,0.033,1.6e-06,1.5e-06,2.2e-06,0.0024,0.0026,0.00038,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17590000,-0.29,0.015,-0.0052,0.96,-0.029,0.013,0.028,-0.012,-0.00011,0.021,-0.00091,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.1e-05,5.8e-05,0.051,0.018,0.019,0.0077,0.049,0.049,0.033,1.6e-06,1.4e-06,2.2e-06,0.0023,0.0026,0.00037,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17690000,-0.29,0.015,-0.0052,0.96,-0.03,0.014,0.029,-0.016,0.001,0.023,-0.00092,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.1e-05,5.8e-05,0.051,0.019,0.02,0.0078,0.054,0.054,0.033,1.5e-06,1.4e-06,2.2e-06,0.0023,0.0026,0.00037,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17790000,-0.29,0.015,-0.0053,0.96,-0.031,0.014,0.029,-0.015,0.0018,0.028,-0.00093,-0.0057,-0.00011,0.069,0.011,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.07,0,0,6.1e-05,5.7e-05,0.051,0.019,0.02,0.0078,0.057,0.057,0.033,1.5e-06,1.3e-06,2.2e-06,0.0023,0.0026,0.00036,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17890000,-0.29,0.015,-0.0052,0.96,-0.035,0.015,0.029,-0.017,0.003,0.032,-0.00094,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,6.1e-05,5.8e-05,0.051,0.02,0.021,0.0079,0.062,0.062,0.033,1.5e-06,1.3e-06,2.2e-06,0.0023,0.0025,0.00036,0.0012,7.4e-05,0.0012,0.0012,0.00069,0.0012,1,1 +17990000,-0.29,0.015,-0.0052,0.96,-0.034,0.016,0.029,-0.014,0.0053,0.033,-0.00094,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,6e-05,5.7e-05,0.051,0.018,0.018,0.0079,0.052,0.052,0.033,1.4e-06,1.3e-06,2.2e-06,0.0023,0.0025,0.00036,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18090000,-0.29,0.015,-0.0052,0.96,-0.036,0.017,0.028,-0.018,0.0068,0.031,-0.00094,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,6e-05,5.7e-05,0.051,0.019,0.019,0.008,0.057,0.057,0.034,1.4e-06,1.3e-06,2.2e-06,0.0023,0.0025,0.00035,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18190000,-0.29,0.015,-0.0052,0.96,-0.032,0.014,0.028,-0.013,0.0046,0.029,-0.00098,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.9e-05,5.6e-05,0.051,0.017,0.017,0.0079,0.049,0.049,0.034,1.4e-06,1.2e-06,2.2e-06,0.0022,0.0025,0.00035,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18290000,-0.29,0.015,-0.0052,0.96,-0.036,0.014,0.027,-0.017,0.0057,0.028,-0.00098,-0.0057,-0.00011,0.07,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,6e-05,5.6e-05,0.051,0.018,0.018,0.008,0.053,0.053,0.034,1.3e-06,1.2e-06,2.2e-06,0.0022,0.0025,0.00034,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18390000,-0.29,0.015,-0.0051,0.96,-0.032,0.014,0.027,-0.012,0.0048,0.027,-0.00099,-0.0057,-0.00011,0.07,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.5e-05,0.051,0.016,0.016,0.0079,0.046,0.046,0.034,1.3e-06,1.2e-06,2.2e-06,0.0022,0.0025,0.00034,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18490000,-0.29,0.015,-0.0051,0.96,-0.036,0.013,0.026,-0.015,0.0057,0.029,-0.001,-0.0057,-0.00011,0.069,0.012,-0.14,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.9e-05,5.6e-05,0.051,0.017,0.017,0.008,0.051,0.051,0.034,1.3e-06,1.1e-06,2.2e-06,0.0022,0.0025,0.00033,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18590000,-0.29,0.015,-0.005,0.96,-0.034,0.013,0.026,-0.013,0.0051,0.031,-0.001,-0.0057,-0.00011,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.5e-05,0.051,0.015,0.016,0.0079,0.044,0.044,0.034,1.2e-06,1.1e-06,2.2e-06,0.0022,0.0024,0.00033,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18690000,-0.29,0.015,-0.005,0.96,-0.034,0.012,0.025,-0.015,0.006,0.03,-0.001,-0.0057,-0.00011,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.5e-05,0.051,0.016,0.017,0.008,0.048,0.049,0.034,1.2e-06,1.1e-06,2.2e-06,0.0022,0.0024,0.00032,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18790000,-0.29,0.015,-0.0049,0.96,-0.031,0.012,0.024,-0.012,0.0052,0.028,-0.001,-0.0058,-0.00012,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.4e-05,0.051,0.015,0.015,0.0079,0.043,0.043,0.034,1.2e-06,1.1e-06,2.2e-06,0.0022,0.0024,0.00032,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18890000,-0.29,0.015,-0.0049,0.96,-0.031,0.012,0.022,-0.015,0.0065,0.024,-0.001,-0.0058,-0.00012,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.4e-05,0.051,0.016,0.016,0.008,0.047,0.047,0.034,1.2e-06,1e-06,2.2e-06,0.0021,0.0024,0.00031,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +18990000,-0.29,0.015,-0.0049,0.96,-0.029,0.012,0.023,-0.013,0.0056,0.028,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.4e-05,0.051,0.015,0.015,0.0079,0.042,0.042,0.034,1.1e-06,1e-06,2.2e-06,0.0021,0.0024,0.00031,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19090000,-0.29,0.015,-0.0049,0.96,-0.028,0.013,0.024,-0.016,0.0064,0.024,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.8e-05,5.4e-05,0.051,0.016,0.016,0.0079,0.045,0.046,0.035,1.1e-06,9.9e-07,2.2e-06,0.0021,0.0024,0.0003,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19190000,-0.29,0.015,-0.0049,0.96,-0.026,0.014,0.023,-0.014,0.0063,0.023,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.3e-05,0.05,0.014,0.015,0.0079,0.041,0.041,0.034,1.1e-06,9.6e-07,2.2e-06,0.0021,0.0024,0.0003,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19290000,-0.29,0.015,-0.0048,0.96,-0.027,0.014,0.024,-0.017,0.0075,0.022,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.3e-05,0.05,0.015,0.016,0.0079,0.044,0.044,0.034,1.1e-06,9.5e-07,2.2e-06,0.0021,0.0024,0.00029,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19390000,-0.29,0.015,-0.005,0.96,-0.026,0.012,0.025,-0.015,0.0074,0.021,-0.0011,-0.0058,-0.00012,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.3e-05,0.05,0.014,0.015,0.0078,0.04,0.04,0.035,1e-06,9.2e-07,2.2e-06,0.0021,0.0023,0.00029,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19490000,-0.29,0.015,-0.005,0.96,-0.028,0.013,0.024,-0.018,0.0088,0.021,-0.0011,-0.0058,-0.00012,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.7e-05,5.3e-05,0.05,0.015,0.016,0.0078,0.043,0.044,0.035,1e-06,9.1e-07,2.2e-06,0.0021,0.0023,0.00029,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19590000,-0.29,0.015,-0.0049,0.96,-0.025,0.014,0.026,-0.015,0.007,0.021,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.014,0.014,0.0077,0.039,0.039,0.035,9.9e-07,8.8e-07,2.2e-06,0.0021,0.0023,0.00028,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19690000,-0.29,0.015,-0.0049,0.96,-0.025,0.013,0.025,-0.018,0.0078,0.021,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.015,0.015,0.0078,0.043,0.043,0.035,9.8e-07,8.7e-07,2.2e-06,0.0021,0.0023,0.00028,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19790000,-0.29,0.015,-0.005,0.96,-0.022,0.013,0.023,-0.018,0.0085,0.017,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.015,0.016,0.0077,0.045,0.045,0.035,9.6e-07,8.5e-07,2.2e-06,0.0021,0.0023,0.00027,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19890000,-0.29,0.015,-0.005,0.96,-0.023,0.013,0.023,-0.02,0.0098,0.015,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.6e-05,5.2e-05,0.05,0.016,0.017,0.0077,0.049,0.049,0.035,9.5e-07,8.4e-07,2.2e-06,0.0021,0.0023,0.00027,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +19990000,-0.29,0.015,-0.005,0.96,-0.02,0.014,0.021,-0.016,0.009,0.012,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.014,0.015,0.0076,0.043,0.044,0.035,9.2e-07,8.1e-07,2.2e-06,0.002,0.0023,0.00026,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +20090000,-0.29,0.015,-0.005,0.96,-0.023,0.016,0.021,-0.018,0.01,0.016,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.015,0.016,0.0076,0.047,0.048,0.035,9.1e-07,8e-07,2.2e-06,0.002,0.0023,0.00026,0.0012,7.4e-05,0.0012,0.0012,0.00068,0.0012,1,1 +20190000,-0.29,0.015,-0.005,0.96,-0.024,0.014,0.022,-0.019,0.011,0.015,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.015,0.016,0.0075,0.05,0.05,0.035,8.8e-07,7.8e-07,2.2e-06,0.002,0.0023,0.00025,0.0012,7.3e-05,0.0012,0.0012,0.00068,0.0012,1,1 +20290000,-0.29,0.015,-0.005,0.96,-0.022,0.016,0.022,-0.021,0.012,0.016,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.016,0.017,0.0075,0.054,0.054,0.035,8.7e-07,7.7e-07,2.2e-06,0.002,0.0023,0.00025,0.0012,7.3e-05,0.0012,0.0012,0.00068,0.0012,1,1 +20390000,-0.29,0.015,-0.005,0.96,-0.02,0.015,0.022,-0.021,0.012,0.017,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.016,0.017,0.0075,0.056,0.057,0.035,8.5e-07,7.5e-07,2.2e-06,0.002,0.0023,0.00025,0.0012,7.3e-05,0.0012,0.0012,0.00068,0.0012,1,1 +20490000,-0.29,0.015,-0.005,0.96,-0.018,0.017,0.022,-0.023,0.013,0.015,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.017,0.018,0.0075,0.061,0.062,0.035,8.4e-07,7.4e-07,2.2e-06,0.002,0.0023,0.00024,0.0012,7.3e-05,0.0012,0.0011,0.00068,0.0012,1,1 +20590000,-0.29,0.015,-0.0049,0.96,-0.018,0.016,0.022,-0.023,0.012,0.014,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.4e-05,5e-05,0.05,0.017,0.018,0.0074,0.064,0.064,0.035,8.2e-07,7.2e-07,2.2e-06,0.002,0.0023,0.00024,0.0012,7.2e-05,0.0012,0.0011,0.00068,0.0012,1,1 +20690000,-0.29,0.015,-0.0048,0.96,-0.017,0.016,0.023,-0.025,0.014,0.014,-0.0011,-0.0058,-0.00013,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.5e-05,5.1e-05,0.05,0.018,0.019,0.0074,0.069,0.07,0.035,8.1e-07,7.2e-07,2.2e-06,0.002,0.0022,0.00023,0.0012,7.2e-05,0.0012,0.0011,0.00068,0.0012,1,1 +20790000,-0.29,0.015,-0.0042,0.96,-0.011,0.012,0.0077,-0.019,0.01,0.013,-0.0011,-0.0058,-0.00014,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.034,-0.069,0,0,5.3e-05,4.9e-05,0.05,0.015,0.016,0.0073,0.056,0.057,0.035,7.8e-07,6.9e-07,2.2e-06,0.002,0.0022,0.00023,0.0012,7.2e-05,0.0012,0.0011,0.00068,0.0012,1,1 +20890000,-0.29,0.01,0.0044,0.96,-0.0063,0.0016,-0.11,-0.021,0.011,0.0066,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.3e-05,4.9e-05,0.05,0.016,0.017,0.0073,0.061,0.062,0.035,7.8e-07,6.9e-07,2.2e-06,0.002,0.0022,0.00023,0.0012,7.2e-05,0.0012,0.0011,0.00068,0.0012,1,1 +20990000,-0.29,0.0063,0.0074,0.96,0.0088,-0.015,-0.25,-0.017,0.0081,-0.0084,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.2e-05,4.8e-05,0.05,0.015,0.015,0.0072,0.051,0.052,0.034,7.5e-07,6.7e-07,2.2e-06,0.002,0.0022,0.00022,0.0012,7.2e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21090000,-0.29,0.0069,0.0058,0.96,0.023,-0.028,-0.37,-0.015,0.0062,-0.039,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.3e-05,4.9e-05,0.05,0.016,0.016,0.0072,0.056,0.056,0.035,7.5e-07,6.6e-07,2.2e-06,0.002,0.0022,0.00022,0.0012,7.1e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21190000,-0.29,0.0088,0.0033,0.96,0.029,-0.033,-0.5,-0.013,0.0046,-0.075,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.1e-05,4.8e-05,0.05,0.014,0.015,0.0071,0.048,0.048,0.035,7.2e-07,6.4e-07,2.1e-06,0.002,0.0022,0.00022,0.0012,7.1e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21290000,-0.29,0.01,0.0012,0.96,0.027,-0.036,-0.63,-0.01,0.002,-0.13,-0.0011,-0.0058,-0.00014,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,5.2e-05,4.8e-05,0.05,0.015,0.016,0.0071,0.052,0.052,0.035,7.2e-07,6.4e-07,2.1e-06,0.002,0.0022,0.00021,0.0012,7.1e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21390000,-0.29,0.011,-0.00024,0.96,0.021,-0.029,-0.75,-0.012,0.0052,-0.2,-0.0011,-0.0058,-0.00013,0.07,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.7e-05,0.05,0.015,0.016,0.007,0.054,0.055,0.035,7e-07,6.2e-07,2.1e-06,0.002,0.0022,0.00021,0.0012,7.1e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21490000,-0.29,0.012,-0.00099,0.96,0.014,-0.028,-0.89,-0.0097,0.0021,-0.28,-0.0011,-0.0058,-0.00013,0.07,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,5.2e-05,4.8e-05,0.05,0.016,0.017,0.007,0.059,0.059,0.035,7e-07,6.2e-07,2.1e-06,0.002,0.0022,0.00021,0.0012,7e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21590000,-0.29,0.012,-0.0015,0.96,0.0028,-0.022,-1,-0.014,0.0068,-0.37,-0.0011,-0.0058,-0.00012,0.07,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.7e-05,0.05,0.016,0.017,0.0069,0.061,0.062,0.034,6.8e-07,6e-07,2.1e-06,0.002,0.0022,0.0002,0.0012,7e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21690000,-0.29,0.012,-0.0018,0.96,-0.0025,-0.019,-1.1,-0.014,0.004,-0.49,-0.0011,-0.0058,-0.00011,0.07,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,5.2e-05,4.7e-05,0.05,0.017,0.018,0.0069,0.066,0.067,0.035,6.8e-07,6e-07,2.1e-06,0.0019,0.0022,0.0002,0.0012,7e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21790000,-0.29,0.012,-0.0022,0.96,-0.0083,-0.011,-1.3,-0.015,0.01,-0.61,-0.0011,-0.0058,-0.0001,0.07,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.1e-05,4.7e-05,0.05,0.017,0.018,0.0069,0.069,0.069,0.034,6.6e-07,5.8e-07,2.1e-06,0.0019,0.0022,0.0002,0.0012,7e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21890000,-0.29,0.012,-0.0025,0.96,-0.014,-0.0072,-1.4,-0.016,0.0097,-0.75,-0.0011,-0.0058,-0.0001,0.07,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,5.1e-05,4.7e-05,0.05,0.018,0.019,0.0068,0.074,0.075,0.034,6.6e-07,5.8e-07,2.1e-06,0.0019,0.0022,0.00019,0.0012,7e-05,0.0012,0.0011,0.00067,0.0012,1,1 +21990000,-0.29,0.012,-0.0032,0.96,-0.02,0.001,-1.4,-0.023,0.017,-0.89,-0.001,-0.0058,-8.7e-05,0.07,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.1e-05,4.6e-05,0.05,0.018,0.019,0.0068,0.076,0.077,0.034,6.4e-07,5.7e-07,2.1e-06,0.0019,0.0022,0.00019,0.0012,7e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22090000,-0.29,0.013,-0.0039,0.96,-0.023,0.0043,-1.4,-0.023,0.016,-1,-0.0011,-0.0058,-8.4e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.1e-05,4.7e-05,0.05,0.019,0.02,0.0068,0.082,0.084,0.034,6.4e-07,5.6e-07,2.1e-06,0.0019,0.0022,0.00019,0.0012,6.9e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22190000,-0.29,0.013,-0.0043,0.96,-0.03,0.011,-1.4,-0.028,0.024,-1.2,-0.0011,-0.0058,-7.1e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.6e-05,0.05,0.018,0.02,0.0067,0.085,0.086,0.034,6.2e-07,5.5e-07,2.1e-06,0.0019,0.0022,0.00019,0.0012,6.9e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22290000,-0.29,0.014,-0.005,0.96,-0.038,0.016,-1.4,-0.032,0.025,-1.3,-0.0011,-0.0058,-7.1e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5.1e-05,4.6e-05,0.05,0.019,0.021,0.0067,0.091,0.093,0.034,6.2e-07,5.4e-07,2.1e-06,0.0019,0.0022,0.00018,0.0012,6.9e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22390000,-0.29,0.014,-0.0053,0.96,-0.045,0.022,-1.4,-0.038,0.029,-1.5,-0.001,-0.0058,-7.1e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.5e-05,0.05,0.019,0.02,0.0066,0.093,0.095,0.034,6e-07,5.3e-07,2.1e-06,0.0019,0.0022,0.00018,0.0012,6.9e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22490000,-0.29,0.015,-0.0054,0.96,-0.052,0.028,-1.4,-0.043,0.032,-1.6,-0.001,-0.0058,-7.2e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.6e-05,0.05,0.02,0.021,0.0066,0.1,0.1,0.034,6e-07,5.3e-07,2.1e-06,0.0019,0.0022,0.00018,0.0012,6.9e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22590000,-0.29,0.015,-0.0052,0.96,-0.057,0.034,-1.4,-0.044,0.036,-1.7,-0.0011,-0.0058,-6.8e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,4.9e-05,4.5e-05,0.05,0.019,0.021,0.0065,0.1,0.1,0.034,5.8e-07,5.2e-07,2.1e-06,0.0019,0.0021,0.00018,0.0012,6.9e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22690000,-0.29,0.015,-0.0052,0.96,-0.062,0.039,-1.4,-0.051,0.04,-1.9,-0.001,-0.0058,-6.9e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,5e-05,4.5e-05,0.05,0.02,0.022,0.0065,0.11,0.11,0.034,5.8e-07,5.1e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.9e-05,0.0012,0.0011,0.00067,0.0012,1,1 +22790000,-0.29,0.016,-0.0051,0.96,-0.068,0.044,-1.4,-0.056,0.043,-2,-0.001,-0.0058,-7.3e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,4.9e-05,4.4e-05,0.05,0.02,0.021,0.0065,0.11,0.11,0.034,5.6e-07,5e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.9e-05,0.0012,0.0011,0.00066,0.0012,1,1 +22890000,-0.29,0.016,-0.0052,0.96,-0.073,0.048,-1.4,-0.063,0.046,-2.2,-0.0011,-0.0058,-6.8e-05,0.069,0.011,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,4.9e-05,4.5e-05,0.05,0.021,0.022,0.0064,0.12,0.12,0.034,5.6e-07,5e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.9e-05,0.0012,0.0011,0.00066,0.0012,1,1 +22990000,-0.29,0.016,-0.005,0.96,-0.076,0.048,-1.4,-0.065,0.045,-2.3,-0.0011,-0.0058,-7e-05,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.069,0,0,4.8e-05,4.4e-05,0.05,0.02,0.022,0.0064,0.12,0.12,0.034,5.5e-07,4.9e-07,2.1e-06,0.0019,0.0021,0.00017,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23090000,-0.29,0.017,-0.005,0.96,-0.082,0.052,-1.4,-0.072,0.05,-2.5,-0.0011,-0.0058,-6.9e-05,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.9e-05,4.4e-05,0.05,0.021,0.023,0.0064,0.13,0.13,0.034,5.5e-07,4.8e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23190000,-0.29,0.017,-0.0049,0.96,-0.084,0.047,-1.4,-0.072,0.047,-2.6,-0.0011,-0.0058,-8.1e-05,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.8e-05,4.4e-05,0.049,0.02,0.022,0.0063,0.13,0.13,0.033,5.3e-07,4.7e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23290000,-0.29,0.017,-0.0054,0.96,-0.09,0.051,-1.4,-0.08,0.051,-2.8,-0.0011,-0.0058,-7.9e-05,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.8e-05,4.4e-05,0.049,0.021,0.023,0.0063,0.14,0.14,0.034,5.3e-07,4.7e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23390000,-0.29,0.017,-0.0053,0.96,-0.09,0.054,-1.4,-0.075,0.053,-2.9,-0.0011,-0.0058,-8.8e-05,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.021,0.022,0.0063,0.14,0.14,0.033,5.2e-07,4.6e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23490000,-0.29,0.017,-0.0053,0.96,-0.096,0.054,-1.4,-0.086,0.057,-3,-0.0011,-0.0058,-8.4e-05,0.069,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.8e-05,4.4e-05,0.049,0.021,0.023,0.0063,0.15,0.15,0.033,5.2e-07,4.6e-07,2.1e-06,0.0019,0.0021,0.00016,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23590000,-0.29,0.017,-0.0055,0.96,-0.095,0.048,-1.4,-0.081,0.048,-3.2,-0.0011,-0.0058,-9.7e-05,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.021,0.022,0.0062,0.15,0.15,0.033,5e-07,4.5e-07,2.1e-06,0.0019,0.0021,0.00015,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23690000,-0.29,0.018,-0.006,0.96,-0.094,0.051,-1.3,-0.09,0.052,-3.3,-0.0011,-0.0058,-9.2e-05,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.022,0.023,0.0062,0.16,0.16,0.033,5e-07,4.5e-07,2.1e-06,0.0019,0.0021,0.00015,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23790000,-0.29,0.021,-0.0075,0.96,-0.079,0.048,-0.95,-0.08,0.047,-3.4,-0.0012,-0.0058,-9.8e-05,0.068,0.012,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.6e-05,4.2e-05,0.049,0.02,0.022,0.0061,0.16,0.16,0.033,4.9e-07,4.4e-07,2e-06,0.0019,0.0021,0.00015,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23890000,-0.29,0.025,-0.01,0.96,-0.074,0.051,-0.52,-0.087,0.052,-3.5,-0.0012,-0.0058,-9.5e-05,0.068,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.068,0,0,4.7e-05,4.3e-05,0.049,0.021,0.022,0.0061,0.17,0.17,0.033,4.9e-07,4.3e-07,2e-06,0.0019,0.0021,0.00015,0.0012,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +23990000,-0.29,0.028,-0.012,0.96,-0.065,0.05,-0.13,-0.074,0.046,-3.6,-0.0012,-0.0058,-0.0001,0.068,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.021,0.0061,0.17,0.17,0.033,4.8e-07,4.3e-07,2e-06,0.0019,0.0021,0.00015,0.0011,6.8e-05,0.0012,0.0011,0.00066,0.0012,1,1 +24090000,-0.29,0.027,-0.012,0.96,-0.072,0.058,0.098,-0.08,0.052,-3.6,-0.0012,-0.0058,-0.0001,0.068,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.7e-05,4.3e-05,0.049,0.021,0.022,0.0061,0.18,0.18,0.033,4.8e-07,4.3e-07,2e-06,0.0019,0.0021,0.00015,0.0011,6.7e-05,0.0012,0.0011,0.00066,0.0012,1,1 +24190000,-0.29,0.023,-0.0092,0.96,-0.076,0.055,0.088,-0.066,0.039,-3.6,-0.0012,-0.0058,-0.00012,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.021,0.006,0.18,0.18,0.033,4.7e-07,4.2e-07,2e-06,0.0019,0.0021,0.00014,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24290000,-0.29,0.019,-0.0072,0.96,-0.08,0.057,0.066,-0.074,0.044,-3.6,-0.0012,-0.0058,-0.00011,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.7e-05,4.2e-05,0.049,0.021,0.023,0.006,0.19,0.19,0.033,4.7e-07,4.2e-07,2e-06,0.0019,0.0021,0.00014,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24390000,-0.29,0.018,-0.0064,0.96,-0.064,0.05,0.082,-0.055,0.035,-3.6,-0.0012,-0.0058,-0.00012,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.022,0.006,0.19,0.19,0.033,4.6e-07,4.1e-07,2e-06,0.0019,0.0021,0.00014,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24490000,-0.29,0.018,-0.0066,0.96,-0.059,0.047,0.08,-0.061,0.038,-3.6,-0.0012,-0.0058,-0.00011,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.021,0.023,0.006,0.2,0.2,0.033,4.6e-07,4.1e-07,2e-06,0.0019,0.0021,0.00014,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24590000,-0.29,0.018,-0.0072,0.96,-0.047,0.045,0.076,-0.042,0.033,-3.6,-0.0013,-0.0058,-0.00012,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.022,0.0059,0.2,0.2,0.033,4.5e-07,4e-07,2e-06,0.0019,0.0021,0.00014,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24690000,-0.29,0.018,-0.0077,0.96,-0.045,0.044,0.075,-0.046,0.037,-3.5,-0.0013,-0.0058,-0.00012,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.021,0.023,0.0059,0.21,0.21,0.033,4.5e-07,4e-07,2e-06,0.0019,0.0021,0.00014,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24790000,-0.29,0.017,-0.0078,0.96,-0.039,0.042,0.067,-0.034,0.029,-3.5,-0.0013,-0.0058,-0.00013,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.02,0.022,0.0059,0.21,0.21,0.032,4.4e-07,3.9e-07,2e-06,0.0019,0.0021,0.00013,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24890000,-0.29,0.017,-0.0077,0.96,-0.038,0.045,0.056,-0.037,0.032,-3.5,-0.0013,-0.0058,-0.00013,0.067,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.049,0.021,0.023,0.0059,0.22,0.22,0.032,4.4e-07,3.9e-07,2e-06,0.0018,0.0021,0.00013,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +24990000,-0.29,0.016,-0.0074,0.96,-0.025,0.046,0.049,-0.022,0.026,-3.5,-0.0013,-0.0058,-0.00013,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.048,0.021,0.022,0.0058,0.22,0.22,0.032,4.3e-07,3.9e-07,2e-06,0.0018,0.0021,0.00013,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25090000,-0.29,0.016,-0.0078,0.96,-0.021,0.046,0.047,-0.023,0.031,-3.5,-0.0013,-0.0058,-0.00013,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.2e-05,0.048,0.021,0.023,0.0058,0.23,0.23,0.032,4.3e-07,3.8e-07,2e-06,0.0018,0.0021,0.00013,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25190000,-0.29,0.016,-0.008,0.96,-0.011,0.042,0.047,-0.0079,0.021,-3.5,-0.0013,-0.0059,-0.00015,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0058,0.23,0.23,0.032,4.2e-07,3.8e-07,2e-06,0.0018,0.0021,0.00013,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25290000,-0.3,0.016,-0.0082,0.96,-0.006,0.045,0.042,-0.0086,0.026,-3.5,-0.0013,-0.0059,-0.00015,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.6e-05,4.2e-05,0.048,0.022,0.023,0.0058,0.24,0.24,0.032,4.2e-07,3.8e-07,2e-06,0.0018,0.0021,0.00013,0.0011,6.7e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25390000,-0.3,0.015,-0.0083,0.96,0.003,0.043,0.04,0.0014,0.02,-3.5,-0.0013,-0.0059,-0.00016,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0057,0.24,0.24,0.032,4.2e-07,3.7e-07,2e-06,0.0018,0.0021,0.00013,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25490000,-0.3,0.015,-0.0084,0.96,0.0074,0.044,0.04,0.0011,0.024,-3.5,-0.0013,-0.0059,-0.00016,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.2e-05,0.048,0.022,0.023,0.0058,0.25,0.25,0.032,4.2e-07,3.7e-07,2e-06,0.0018,0.0021,0.00013,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25590000,-0.3,0.015,-0.0085,0.96,0.012,0.04,0.041,0.0086,0.0097,-3.5,-0.0013,-0.0058,-0.00017,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0057,0.25,0.25,0.032,4.1e-07,3.6e-07,2e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25690000,-0.3,0.014,-0.008,0.96,0.013,0.039,0.03,0.0099,0.013,-3.5,-0.0013,-0.0058,-0.00017,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.1e-05,0.048,0.022,0.023,0.0057,0.26,0.26,0.032,4.1e-07,3.6e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25790000,-0.3,0.014,-0.0078,0.96,0.024,0.034,0.03,0.017,0.0035,-3.5,-0.0013,-0.0058,-0.00018,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0057,0.25,0.26,0.032,4e-07,3.6e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25890000,-0.3,0.014,-0.0079,0.96,0.03,0.034,0.033,0.02,0.0078,-3.5,-0.0013,-0.0058,-0.00019,0.066,0.013,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.6e-05,4.1e-05,0.048,0.022,0.023,0.0057,0.27,0.27,0.032,4e-07,3.6e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +25990000,-0.3,0.014,-0.0079,0.96,0.032,0.029,0.026,0.017,-0.0034,-3.5,-0.0014,-0.0058,-0.0002,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0056,0.26,0.27,0.032,4e-07,3.5e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26090000,-0.3,0.014,-0.0076,0.96,0.037,0.029,0.025,0.021,-0.0013,-3.5,-0.0014,-0.0058,-0.00019,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.28,0.28,0.032,3.9e-07,3.5e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26190000,-0.3,0.014,-0.0074,0.96,0.042,0.02,0.02,0.024,-0.017,-3.5,-0.0014,-0.0058,-0.0002,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0056,0.27,0.28,0.032,3.9e-07,3.5e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26290000,-0.3,0.015,-0.0074,0.96,0.042,0.02,0.015,0.027,-0.015,-3.5,-0.0014,-0.0058,-0.0002,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.066,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.29,0.29,0.032,3.9e-07,3.5e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26390000,-0.3,0.015,-0.0068,0.96,0.04,0.011,0.019,0.019,-0.03,-3.5,-0.0014,-0.0058,-0.00021,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4.1e-05,0.048,0.021,0.022,0.0056,0.28,0.29,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.0021,0.00012,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26490000,-0.3,0.015,-0.0066,0.96,0.043,0.0087,0.028,0.023,-0.029,-3.5,-0.0014,-0.0058,-0.00022,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.3,0.3,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.0021,0.00011,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26590000,-0.3,0.015,-0.006,0.96,0.042,-0.0012,0.028,0.023,-0.041,-3.5,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0056,0.29,0.3,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.0021,0.00011,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26690000,-0.3,0.015,-0.0059,0.96,0.044,-0.0049,0.027,0.027,-0.041,-3.5,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0056,0.31,0.31,0.032,3.8e-07,3.4e-07,1.9e-06,0.0018,0.0021,0.00011,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26790000,-0.3,0.014,-0.0057,0.95,0.047,-0.011,0.026,0.025,-0.054,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0055,0.3,0.31,0.031,3.7e-07,3.3e-07,1.9e-06,0.0018,0.0021,0.00011,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26890000,-0.3,0.014,-0.005,0.96,0.053,-0.013,0.022,0.03,-0.056,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4.1e-05,0.048,0.022,0.023,0.0055,0.31,0.32,0.032,3.7e-07,3.3e-07,1.9e-06,0.0018,0.0021,0.00011,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +26990000,-0.3,0.015,-0.0045,0.96,0.054,-0.02,0.021,0.023,-0.063,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0055,0.31,0.31,0.031,3.7e-07,3.3e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,6.6e-05,0.0012,0.0011,0.00065,0.0012,1,1 +27090000,-0.3,0.015,-0.0043,0.96,0.056,-0.026,0.025,0.028,-0.065,-3.5,-0.0014,-0.0058,-0.00025,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.022,0.023,0.0055,0.32,0.33,0.031,3.7e-07,3.3e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,6.5e-05,0.0012,0.0011,0.00065,0.0012,1,1 +27190000,-0.3,0.015,-0.0043,0.96,0.057,-0.03,0.027,0.018,-0.069,-3.5,-0.0014,-0.0058,-0.00025,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.021,0.022,0.0055,0.32,0.32,0.031,3.6e-07,3.2e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27290000,-0.3,0.016,-0.0044,0.96,0.064,-0.034,0.14,0.025,-0.072,-3.5,-0.0014,-0.0058,-0.00025,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.022,0.023,0.0055,0.33,0.34,0.031,3.6e-07,3.2e-07,1.9e-06,0.0018,0.002,0.00011,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27390000,-0.3,0.018,-0.0056,0.96,0.067,-0.026,0.46,0.007,-0.027,-3.5,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.015,0.016,0.0054,0.15,0.15,0.031,3.5e-07,3.2e-07,1.8e-06,0.0018,0.002,0.00011,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27490000,-0.3,0.02,-0.0067,0.95,0.072,-0.028,0.78,0.014,-0.029,-3.5,-0.0014,-0.0058,-0.00024,0.066,0.014,-0.13,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,4e-05,0.048,0.015,0.016,0.0055,0.15,0.15,0.031,3.5e-07,3.2e-07,1.8e-06,0.0018,0.002,0.00011,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27590000,-0.3,0.019,-0.0067,0.96,0.063,-0.03,0.87,0.0077,-0.02,-3.4,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.013,0.014,0.0054,0.096,0.096,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.00011,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27690000,-0.3,0.016,-0.0058,0.96,0.058,-0.028,0.78,0.014,-0.023,-3.3,-0.0014,-0.0058,-0.00023,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.014,0.015,0.0054,0.1,0.1,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27790000,-0.3,0.015,-0.0047,0.96,0.054,-0.026,0.77,0.011,-0.019,-3.2,-0.0013,-0.0058,-0.00023,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.013,0.014,0.0054,0.073,0.074,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27890000,-0.3,0.015,-0.0043,0.96,0.061,-0.031,0.81,0.016,-0.021,-3.2,-0.0013,-0.0058,-0.00023,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.014,0.015,0.0054,0.076,0.077,0.031,3.5e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +27990000,-0.3,0.015,-0.0047,0.96,0.061,-0.034,0.8,0.019,-0.024,-3.1,-0.0013,-0.0058,-0.00022,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.4e-05,3.9e-05,0.048,0.014,0.015,0.0054,0.079,0.079,0.031,3.4e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28090000,-0.3,0.015,-0.005,0.96,0.065,-0.034,0.8,0.026,-0.027,-3,-0.0013,-0.0058,-0.00022,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.014,0.016,0.0054,0.082,0.083,0.031,3.4e-07,3.1e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28190000,-0.3,0.015,-0.0044,0.96,0.062,-0.033,0.81,0.026,-0.03,-2.9,-0.0013,-0.0058,-0.00021,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.014,0.015,0.0054,0.084,0.085,0.031,3.4e-07,3e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28290000,-0.3,0.016,-0.0038,0.96,0.066,-0.036,0.81,0.032,-0.034,-2.9,-0.0013,-0.0058,-0.00021,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.015,0.016,0.0054,0.088,0.089,0.031,3.4e-07,3e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28390000,-0.3,0.016,-0.0038,0.96,0.068,-0.038,0.81,0.035,-0.034,-2.8,-0.0013,-0.0058,-0.0002,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.015,0.016,0.0053,0.091,0.092,0.031,3.3e-07,3e-07,1.8e-06,0.0018,0.002,0.0001,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28490000,-0.3,0.017,-0.004,0.96,0.07,-0.041,0.81,0.043,-0.038,-2.7,-0.0013,-0.0058,-0.0002,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.016,0.017,0.0054,0.095,0.096,0.031,3.4e-07,3e-07,1.8e-06,0.0018,0.002,9.9e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28590000,-0.29,0.017,-0.004,0.96,0.063,-0.042,0.81,0.043,-0.041,-2.6,-0.0013,-0.0058,-0.00019,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.016,0.017,0.0053,0.098,0.099,0.031,3.3e-07,3e-07,1.8e-06,0.0018,0.002,9.8e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28690000,-0.29,0.016,-0.0039,0.96,0.062,-0.043,0.81,0.049,-0.045,-2.6,-0.0013,-0.0058,-0.00019,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.083,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.017,0.018,0.0053,0.1,0.1,0.031,3.3e-07,3e-07,1.8e-06,0.0018,0.002,9.8e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28790000,-0.29,0.016,-0.0032,0.96,0.06,-0.042,0.81,0.05,-0.044,-2.5,-0.0013,-0.0058,-0.00018,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.016,0.018,0.0053,0.1,0.11,0.031,3.3e-07,2.9e-07,1.8e-06,0.0018,0.002,9.7e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28890000,-0.29,0.015,-0.0031,0.96,0.064,-0.044,0.81,0.056,-0.049,-2.4,-0.0013,-0.0058,-0.00018,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,4e-05,0.048,0.017,0.018,0.0053,0.11,0.11,0.031,3.3e-07,2.9e-07,1.8e-06,0.0018,0.002,9.7e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +28990000,-0.29,0.016,-0.0028,0.96,0.062,-0.042,0.81,0.058,-0.049,-2.3,-0.0013,-0.0058,-0.00017,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.017,0.018,0.0053,0.11,0.11,0.031,3.2e-07,2.9e-07,1.8e-06,0.0018,0.002,9.6e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29090000,-0.29,0.016,-0.0027,0.96,0.065,-0.043,0.81,0.065,-0.053,-2.3,-0.0013,-0.0058,-0.00017,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.019,0.0053,0.12,0.12,0.031,3.2e-07,2.9e-07,1.8e-06,0.0018,0.002,9.5e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29190000,-0.29,0.016,-0.0026,0.96,0.066,-0.043,0.8,0.067,-0.052,-2.2,-0.0013,-0.0058,-0.00016,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.017,0.019,0.0053,0.12,0.12,0.031,3.2e-07,2.9e-07,1.7e-06,0.0018,0.002,9.5e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29290000,-0.29,0.016,-0.0028,0.96,0.071,-0.048,0.81,0.075,-0.056,-2.1,-0.0013,-0.0058,-0.00016,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.02,0.0053,0.13,0.13,0.031,3.2e-07,2.9e-07,1.7e-06,0.0018,0.002,9.4e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29390000,-0.29,0.015,-0.0033,0.96,0.067,-0.045,0.81,0.074,-0.053,-2,-0.0013,-0.0058,-0.00014,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.019,0.0053,0.13,0.13,0.031,3.2e-07,2.8e-07,1.7e-06,0.0018,0.002,9.4e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29490000,-0.29,0.015,-0.0033,0.96,0.07,-0.046,0.81,0.081,-0.059,-2,-0.0013,-0.0058,-0.00014,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.019,0.02,0.0053,0.14,0.14,0.031,3.2e-07,2.8e-07,1.7e-06,0.0018,0.002,9.3e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29590000,-0.29,0.015,-0.0032,0.96,0.068,-0.045,0.81,0.079,-0.057,-1.9,-0.0013,-0.0058,-0.00012,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.019,0.0052,0.14,0.14,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.3e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29690000,-0.29,0.015,-0.0032,0.96,0.072,-0.044,0.81,0.087,-0.062,-1.8,-0.0013,-0.0058,-0.00012,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.019,0.02,0.0053,0.14,0.15,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.2e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29790000,-0.29,0.015,-0.003,0.96,0.069,-0.038,0.8,0.084,-0.059,-1.7,-0.0013,-0.0058,-9.8e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.018,0.02,0.0052,0.15,0.15,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.1e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29890000,-0.29,0.015,-0.0024,0.96,0.071,-0.039,0.8,0.092,-0.063,-1.7,-0.0013,-0.0058,-9.3e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.019,0.021,0.0053,0.15,0.16,0.031,3.1e-07,2.8e-07,1.7e-06,0.0018,0.002,9.1e-05,0.0011,6.5e-05,0.0012,0.0011,0.00064,0.0012,1,1 +29990000,-0.29,0.016,-0.0025,0.96,0.066,-0.038,0.8,0.087,-0.062,-1.6,-0.0013,-0.0058,-8.5e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.02,0.0052,0.16,0.16,0.03,3e-07,2.8e-07,1.7e-06,0.0018,0.002,9e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30090000,-0.29,0.016,-0.0027,0.96,0.067,-0.037,0.8,0.094,-0.064,-1.5,-0.0013,-0.0058,-9.4e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.02,0.021,0.0052,0.16,0.17,0.03,3e-07,2.8e-07,1.7e-06,0.0018,0.002,9e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30190000,-0.29,0.016,-0.0027,0.96,0.062,-0.031,0.8,0.089,-0.056,-1.5,-0.0013,-0.0058,-8.7e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.02,0.0052,0.17,0.17,0.03,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.9e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30290000,-0.29,0.016,-0.0027,0.96,0.062,-0.031,0.8,0.096,-0.059,-1.4,-0.0013,-0.0058,-8.6e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.5e-05,3.9e-05,0.048,0.02,0.021,0.0052,0.17,0.18,0.03,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.9e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30390000,-0.29,0.015,-0.0027,0.96,0.06,-0.026,0.8,0.095,-0.053,-1.3,-0.0013,-0.0058,-6.8e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.021,0.0052,0.17,0.18,0.03,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30490000,-0.29,0.015,-0.0027,0.96,0.063,-0.026,0.8,0.1,-0.056,-1.2,-0.0013,-0.0058,-6.4e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.5e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.18,0.19,0.031,3e-07,2.7e-07,1.7e-06,0.0018,0.002,8.8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30590000,-0.29,0.016,-0.0029,0.96,0.062,-0.024,0.8,0.098,-0.053,-1.2,-0.0013,-0.0058,-4.9e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.021,0.0052,0.18,0.19,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30690000,-0.29,0.016,-0.0033,0.96,0.059,-0.023,0.8,0.1,-0.056,-1.1,-0.0013,-0.0058,-5e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.19,0.2,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.7e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30790000,-0.29,0.016,-0.0031,0.96,0.053,-0.014,0.79,0.096,-0.044,-1,-0.0013,-0.0058,-3.4e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.019,0.021,0.0052,0.19,0.2,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.7e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30890000,-0.29,0.015,-0.0025,0.96,0.052,-0.01,0.79,0.1,-0.045,-0.95,-0.0013,-0.0058,-4e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.2,0.21,0.03,2.9e-07,2.7e-07,1.6e-06,0.0018,0.002,8.6e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +30990000,-0.29,0.015,-0.0026,0.96,0.047,-0.0087,0.79,0.095,-0.043,-0.88,-0.0012,-0.0058,-3.8e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.021,0.0052,0.2,0.21,0.03,2.9e-07,2.6e-07,1.6e-06,0.0018,0.002,8.6e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31090000,-0.29,0.015,-0.0028,0.96,0.046,-0.0074,0.79,0.1,-0.043,-0.81,-0.0012,-0.0058,-4.2e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.21,0.22,0.03,2.9e-07,2.6e-07,1.6e-06,0.0018,0.002,8.5e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31190000,-0.29,0.016,-0.0029,0.96,0.043,-0.0043,0.8,0.094,-0.04,-0.74,-0.0012,-0.0058,-2.7e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.021,0.0052,0.21,0.22,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.5e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31290000,-0.29,0.016,-0.0031,0.96,0.04,-0.0027,0.8,0.097,-0.041,-0.67,-0.0012,-0.0058,-2.3e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.02,0.022,0.0052,0.22,0.23,0.03,2.9e-07,2.6e-07,1.6e-06,0.0018,0.002,8.5e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31390000,-0.29,0.015,-0.0029,0.96,0.035,0.0022,0.8,0.091,-0.037,-0.59,-0.0012,-0.0058,-2.5e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.021,0.0051,0.22,0.23,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.4e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31490000,-0.29,0.016,-0.0026,0.96,0.037,0.0056,0.8,0.096,-0.036,-0.52,-0.0012,-0.0058,-2.8e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.021,0.022,0.0052,0.23,0.24,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.4e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31590000,-0.29,0.016,-0.0024,0.96,0.037,0.0074,0.8,0.093,-0.032,-0.45,-0.0012,-0.0058,-1.9e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.021,0.0051,0.23,0.24,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.3e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31690000,-0.29,0.016,-0.0023,0.96,0.041,0.0084,0.8,0.098,-0.032,-0.38,-0.0012,-0.0058,-1.3e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.4e-05,3.8e-05,0.048,0.021,0.022,0.0051,0.24,0.25,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.3e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31790000,-0.29,0.017,-0.0025,0.96,0.035,0.014,0.8,0.094,-0.023,-0.3,-0.0012,-0.0058,-6.1e-07,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.021,0.0051,0.24,0.25,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.2e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31890000,-0.29,0.017,-0.0023,0.96,0.033,0.015,0.8,0.099,-0.021,-0.24,-0.0012,-0.0058,1.8e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.021,0.022,0.0051,0.25,0.26,0.03,2.8e-07,2.6e-07,1.6e-06,0.0018,0.002,8.2e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +31990000,-0.29,0.016,-0.0026,0.96,0.03,0.017,0.79,0.096,-0.016,-0.17,-0.0012,-0.0058,9.1e-07,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.022,0.0051,0.25,0.26,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.2e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +32090000,-0.29,0.016,-0.003,0.96,0.031,0.021,0.8,0.099,-0.014,-0.096,-0.0012,-0.0058,4.8e-07,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.021,0.023,0.0051,0.26,0.27,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.1e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +32190000,-0.29,0.016,-0.0033,0.96,0.028,0.028,0.8,0.094,-0.0047,-0.028,-0.0012,-0.0058,3.6e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.022,0.0051,0.26,0.27,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.1e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +32290000,-0.29,0.016,-0.0031,0.96,0.027,0.03,0.79,0.098,-0.002,0.042,-0.0012,-0.0058,7.4e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.021,0.023,0.0051,0.27,0.28,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8.1e-05,0.0011,6.4e-05,0.0012,0.0011,0.00064,0.0012,1,1 +32390000,-0.29,0.016,-0.0033,0.96,0.024,0.032,0.79,0.094,0.0016,0.12,-0.0012,-0.0058,5.6e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.02,0.022,0.0051,0.27,0.28,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +32490000,-0.29,0.015,-0.0063,0.96,-0.016,0.085,-0.078,0.092,0.0093,0.12,-0.0012,-0.0058,3.3e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.048,0.022,0.024,0.0051,0.28,0.29,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +32590000,-0.29,0.015,-0.0064,0.96,-0.014,0.084,-0.081,0.093,0.0023,0.1,-0.0012,-0.0058,-1.7e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.2e-05,3.7e-05,0.047,0.021,0.023,0.0051,0.28,0.29,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +32690000,-0.29,0.015,-0.0063,0.96,-0.0097,0.091,-0.082,0.091,0.011,0.087,-0.0012,-0.0058,-1.6e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.3e-05,3.7e-05,0.047,0.022,0.024,0.0051,0.29,0.3,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +32790000,-0.29,0.015,-0.0062,0.96,-0.0057,0.09,-0.083,0.093,0.0036,0.072,-0.0012,-0.0058,-7.2e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.2e-05,3.7e-05,0.047,0.021,0.023,0.0051,0.29,0.3,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +32890000,-0.29,0.015,-0.0062,0.96,-0.0062,0.096,-0.085,0.092,0.012,0.057,-0.0012,-0.0058,-2.7e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.033,-0.067,0,0,4.2e-05,3.7e-05,0.047,0.022,0.023,0.0051,0.3,0.31,0.03,2.7e-07,2.5e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +32990000,-0.29,0.015,-0.0061,0.96,-0.0024,0.091,-0.084,0.092,-0.00065,0.043,-0.0013,-0.0058,-1e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.021,0.022,0.0051,0.3,0.31,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33090000,-0.29,0.015,-0.006,0.96,0.0014,0.097,-0.081,0.092,0.0086,0.036,-0.0013,-0.0058,-9.7e-06,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.7e-05,0.047,0.022,0.023,0.0051,0.31,0.32,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33190000,-0.29,0.015,-0.0059,0.96,0.0056,0.093,-0.08,0.093,-0.006,0.028,-0.0013,-0.0058,-2.9e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.0051,0.31,0.31,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33290000,-0.29,0.015,-0.0059,0.96,0.0098,0.096,-0.08,0.094,0.0027,0.02,-0.0013,-0.0058,-1.8e-05,0.066,0.012,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.7e-05,0.047,0.021,0.023,0.0051,0.32,0.33,0.03,2.6e-07,2.4e-07,1.5e-06,0.0018,0.002,7.9e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33390000,-0.3,0.015,-0.0059,0.96,0.014,0.093,-0.078,0.094,-0.0055,0.011,-0.0013,-0.0058,-2.5e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.0051,0.32,0.32,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.9e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33490000,-0.3,0.015,-0.0059,0.96,0.019,0.097,-0.077,0.097,0.0039,0.0017,-0.0013,-0.0058,-2.1e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.2e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.33,0.34,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.9e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33590000,-0.3,0.015,-0.0057,0.95,0.023,0.095,-0.074,0.096,-0.009,-0.0062,-0.0013,-0.0058,-2.7e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.005,0.33,0.33,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33690000,-0.3,0.015,-0.0057,0.95,0.026,0.098,-0.075,0.097,-3.8e-05,-0.014,-0.0013,-0.0058,-2.1e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.34,0.35,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33790000,-0.3,0.015,-0.0056,0.95,0.028,0.096,-0.069,0.094,-0.013,-0.021,-0.0013,-0.0058,-3.5e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.005,0.34,0.34,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33890000,-0.3,0.015,-0.0056,0.95,0.033,0.098,-0.069,0.097,-0.0041,-0.028,-0.0013,-0.0058,-2.5e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.35,0.36,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.8e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +33990000,-0.3,0.015,-0.0055,0.95,0.035,0.096,-0.065,0.096,-0.012,-0.032,-0.0013,-0.0058,-3.6e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.02,0.022,0.005,0.35,0.35,0.03,2.5e-07,2.4e-07,1.4e-06,0.0018,0.002,7.7e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +34090000,-0.3,0.015,-0.0055,0.95,0.038,0.1,-0.064,0.099,-0.0028,-0.036,-0.0013,-0.0057,-3.2e-05,0.066,0.013,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.0051,0.36,0.37,0.03,2.6e-07,2.4e-07,1.4e-06,0.0018,0.002,7.7e-05,0.0011,6.4e-05,0.0012,0.0011,0.00063,0.0012,1,1 +34190000,-0.3,0.015,-0.0054,0.95,0.039,0.098,-0.061,0.094,-0.015,-0.039,-0.0013,-0.0057,-3.7e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.02,0.022,0.005,0.36,0.36,0.03,2.5e-07,2.4e-07,1.4e-06,0.0018,0.002,7.7e-05,0.0011,6.4e-05,0.0012,0.0011,0.00062,0.0012,1,1 +34290000,-0.3,0.015,-0.0053,0.95,0.04,0.1,-0.06,0.098,-0.0048,-0.045,-0.0013,-0.0057,-3e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.023,0.005,0.37,0.37,0.03,2.5e-07,2.4e-07,1.4e-06,0.0018,0.002,7.6e-05,0.0011,6.4e-05,0.0012,0.0011,0.00062,0.0012,1,1 +34390000,-0.3,0.015,-0.0052,0.95,0.042,0.097,-0.055,0.093,-0.016,-0.049,-0.0013,-0.0057,-3.8e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.084,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.02,0.022,0.005,0.37,0.37,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.6e-05,0.0011,6.4e-05,0.0012,0.0011,0.00062,0.0012,1,1 +34490000,-0.3,0.015,-0.0052,0.95,0.045,0.1,-0.053,0.097,-0.0069,-0.052,-0.0013,-0.0057,-3e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.085,-0.032,-0.067,0,0,4.1e-05,3.6e-05,0.047,0.021,0.022,0.005,0.38,0.38,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.6e-05,0.0011,6.4e-05,0.0012,0.0011,0.00062,0.0012,1,1 +34590000,-0.3,0.014,-0.0051,0.95,0.045,0.098,0.74,0.092,-0.021,-0.024,-0.0013,-0.0057,-4e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.02,0.021,0.005,0.38,0.38,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,6.4e-05,0.0012,0.0011,0.00062,0.0012,1,1 +34690000,-0.3,0.014,-0.0051,0.95,0.05,0.1,1.7,0.097,-0.011,0.095,-0.0013,-0.0057,-3.7e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.02,0.021,0.005,0.39,0.39,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,6.4e-05,0.0012,0.0011,0.00062,0.0012,1,1 +34790000,-0.3,0.014,-0.005,0.95,0.051,0.099,2.7,0.091,-0.025,0.27,-0.0013,-0.0057,-4.7e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.019,0.019,0.005,0.39,0.39,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,6.3e-05,0.0012,0.0011,0.00062,0.0012,1,1 +34890000,-0.3,0.014,-0.0051,0.95,0.056,0.1,3.7,0.096,-0.015,0.56,-0.0013,-0.0057,-4.3e-05,0.066,0.014,-0.12,-0.11,-0.025,0.5,0.085,-0.031,-0.067,0,0,4.1e-05,3.6e-05,0.046,0.019,0.019,0.005,0.4,0.4,0.03,2.5e-07,2.3e-07,1.4e-06,0.0018,0.002,7.5e-05,0.0011,6.3e-05,0.0012,0.0011,0.00062,0.0012,1,1 diff --git a/src/modules/fw_pos_control/fw_path_navigation_params.c b/src/modules/fw_pos_control/fw_path_navigation_params.c index 33ee50a8df8a..7666167452de 100644 --- a/src/modules/fw_pos_control/fw_path_navigation_params.c +++ b/src/modules/fw_pos_control/fw_path_navigation_params.c @@ -35,6 +35,7 @@ * Path navigation roll slew rate limit. * * The maximum change in roll angle setpoint per second. + * This limit is applied in all Auto modes, plus manual Position and Altitude modes. * * @unit deg/s * @min 0 diff --git a/src/modules/gimbal/gimbal.cpp b/src/modules/gimbal/gimbal.cpp index 5893d29738f2..804f792fc65e 100644 --- a/src/modules/gimbal/gimbal.cpp +++ b/src/modules/gimbal/gimbal.cpp @@ -207,16 +207,6 @@ static int gimbal_thread_main(int argc, char *argv[]) update_params(param_handles, params); } - if (thread_data.last_input_active == -1) { - // Reset control as no one is active anymore, or yet. - thread_data.control_data.sysid_primary_control = 0; - thread_data.control_data.compid_primary_control = 0; - // If the output is set to AUX we still want the input to be able to control the gimbal - // via mavlink, so we set the device_compid to 1. This follows the mavlink spec which states - // that the gimbal_device_id should be between 1 and 6. - thread_data.control_data.device_compid = params.mnt_mode_out == 0 ? 1 : 0; - } - InputBase::UpdateResult update_result = InputBase::UpdateResult::NoUpdate; if (thread_data.input_objs_len > 0) { diff --git a/src/modules/gimbal/input_mavlink.cpp b/src/modules/gimbal/input_mavlink.cpp index ac7cbc4e7fd3..101ebf1e2716 100644 --- a/src/modules/gimbal/input_mavlink.cpp +++ b/src/modules/gimbal/input_mavlink.cpp @@ -856,7 +856,9 @@ InputMavlinkGimbalV2::_process_command(ControlData &control_data, const vehicle_ control_data.compid_primary_control = new_compid_primary_control; } - return UpdateResult::UpdatedActive; + // Just doing the configuration doesn't mean there is actually an update to use yet. + // After that we still need to have an actual setpoint. + return UpdateResult::NoUpdate; // TODO: support secondary control // TODO: support gimbal device id for multiple gimbals @@ -880,7 +882,7 @@ InputMavlinkGimbalV2::_process_command(ControlData &control_data, const vehicle_ _ack_vehicle_command(vehicle_command, vehicle_command_ack_s::VEHICLE_CMD_RESULT_ACCEPTED); - return UpdateResult::UpdatedActive; + return UpdateResult::UpdatedActiveOnce; } else { PX4_INFO("GIMBAL_MANAGER_PITCHYAW from %d/%d denied, in control: %d/%d", diff --git a/src/modules/gimbal/input_rc.cpp b/src/modules/gimbal/input_rc.cpp index c512cda254ee..c15f916ab9a4 100644 --- a/src/modules/gimbal/input_rc.cpp +++ b/src/modules/gimbal/input_rc.cpp @@ -120,9 +120,12 @@ InputRC::UpdateResult InputRC::_read_control_data_from_subscription(ControlData return false; }(); - if (already_active || major_movement) { + if (major_movement) { control_data.sysid_primary_control = _parameters.mav_sysid; control_data.compid_primary_control = _parameters.mav_compid; + } + + if (already_active || major_movement) { if (_parameters.mnt_rc_in_mode == 0) { // We scale manual input from roll -180..180, pitch -90..90, yaw, -180..180 degrees. diff --git a/src/modules/gimbal/output_rc.cpp b/src/modules/gimbal/output_rc.cpp index a5878b3801aa..4b48349a4dfb 100644 --- a/src/modules/gimbal/output_rc.cpp +++ b/src/modules/gimbal/output_rc.cpp @@ -61,7 +61,8 @@ void OutputRC::update(const ControlData &control_data, bool new_setpoints, uint8 _stream_device_attitude_status(); - // If the output is RC, then it means we are also the gimbal device. gimbal_device_id = (uint8_t)_parameters.mnt_mav_compid_v1; + // If the output is RC, then we signal this by referring to compid 1. + gimbal_device_id = 1; // _angle_outputs are in radians, gimbal_controls are in [-1, 1] gimbal_controls_s gimbal_controls{}; diff --git a/src/modules/logger/logged_topics.cpp b/src/modules/logger/logged_topics.cpp index 731f087f7934..b1d5b20f93b6 100644 --- a/src/modules/logger/logged_topics.cpp +++ b/src/modules/logger/logged_topics.cpp @@ -102,6 +102,7 @@ void LoggedTopics::add_default_topics() add_topic("position_setpoint_triplet", 200); add_optional_topic("px4io_status"); add_topic("radio_status"); + add_topic("rover_ackermann_guidance_status", 100); add_topic("rtl_time_estimate", 1000); add_topic("rtl_status", 2000); add_optional_topic("sensor_airflow", 100); diff --git a/src/modules/mavlink/mavlink_ftp.cpp b/src/modules/mavlink/mavlink_ftp.cpp index 566c2ce38e14..a376392c00fd 100644 --- a/src/modules/mavlink/mavlink_ftp.cpp +++ b/src/modules/mavlink/mavlink_ftp.cpp @@ -45,17 +45,13 @@ #include "mavlink_ftp.h" #include "mavlink_tests/mavlink_ftp_test.h" -#ifndef MAVLINK_FTP_UNIT_TEST #include "mavlink_main.h" -#else -#include -#endif using namespace time_literals; constexpr const char MavlinkFTP::_root_dir[]; -MavlinkFTP::MavlinkFTP(Mavlink *mavlink) : +MavlinkFTP::MavlinkFTP(Mavlink &mavlink) : _mavlink(mavlink) { // initialize session @@ -96,7 +92,7 @@ MavlinkFTP::_getServerSystemId() return MavlinkFtpTest::serverSystemId; #else // Not unit testing, use the real thing - return _mavlink->get_system_id(); + return _mavlink.get_system_id(); #endif } @@ -108,7 +104,7 @@ MavlinkFTP::_getServerComponentId() return MavlinkFtpTest::serverComponentId; #else // Not unit testing, use the real thing - return _mavlink->get_component_id(); + return _mavlink.get_component_id(); #endif } @@ -120,7 +116,7 @@ MavlinkFTP::_getServerChannel() return MavlinkFtpTest::serverChannel; #else // Not unit testing, use the real thing - return _mavlink->get_channel(); + return _mavlink.get_channel(); #endif } @@ -180,7 +176,7 @@ MavlinkFTP::_process_request( #ifdef MAVLINK_FTP_UNIT_TEST _utRcvMsgFunc(last_reply, _worker_data); #else - mavlink_msg_file_transfer_protocol_send_struct(_mavlink->get_channel(), last_reply); + mavlink_msg_file_transfer_protocol_send_struct(_mavlink.get_channel(), last_reply); #endif return; } @@ -340,7 +336,7 @@ MavlinkFTP::_reply(mavlink_file_transfer_protocol_t *ftp_req) // Unit test hook is set, call that instead _utRcvMsgFunc(ftp_req, _worker_data); #else - mavlink_msg_file_transfer_protocol_send_struct(_mavlink->get_channel(), ftp_req); + mavlink_msg_file_transfer_protocol_send_struct(_mavlink.get_channel(), ftp_req); #endif } @@ -1055,8 +1051,8 @@ void MavlinkFTP::send() #ifndef MAVLINK_FTP_UNIT_TEST // Skip send if not enough room - unsigned max_bytes_to_send = _mavlink->get_free_tx_buf(); - PX4_DEBUG("MavlinkFTP::send max_bytes_to_send(%u) get_free_tx_buf(%u)", max_bytes_to_send, _mavlink->get_free_tx_buf()); + unsigned max_bytes_to_send = _mavlink.get_free_tx_buf(); + PX4_DEBUG("MavlinkFTP::send max_bytes_to_send(%u) get_free_tx_buf(%u)", max_bytes_to_send, _mavlink.get_free_tx_buf()); if (max_bytes_to_send < get_size()) { return; diff --git a/src/modules/mavlink/mavlink_ftp.h b/src/modules/mavlink/mavlink_ftp.h index d6727d58b99a..d5b9ce294688 100644 --- a/src/modules/mavlink/mavlink_ftp.h +++ b/src/modules/mavlink/mavlink_ftp.h @@ -43,11 +43,7 @@ #include #include -#ifndef MAVLINK_FTP_UNIT_TEST #include "mavlink_bridge_header.h" -#else -#include -#endif class MavlinkFtpTest; class Mavlink; @@ -56,7 +52,7 @@ class Mavlink; class MavlinkFTP { public: - MavlinkFTP(Mavlink *mavlink); + MavlinkFTP(Mavlink &mavlink); ~MavlinkFTP(); /** @@ -190,7 +186,7 @@ class MavlinkFTP ReceiveMessageFunc_t _utRcvMsgFunc{}; ///< Unit test override for mavlink message sending void *_worker_data{nullptr}; ///< Additional parameter to _utRcvMsgFunc; - Mavlink *_mavlink; + Mavlink &_mavlink; /* do not allow copying this class */ MavlinkFTP(const MavlinkFTP &); diff --git a/src/modules/mavlink/mavlink_log_handler.cpp b/src/modules/mavlink/mavlink_log_handler.cpp index d4ed61d4285c..a75daf90bad7 100644 --- a/src/modules/mavlink/mavlink_log_handler.cpp +++ b/src/modules/mavlink/mavlink_log_handler.cpp @@ -80,7 +80,7 @@ stat_file(const char *file, time_t *date = nullptr, uint32_t *size = nullptr) } //------------------------------------------------------------------- -MavlinkLogHandler::MavlinkLogHandler(Mavlink *mavlink) +MavlinkLogHandler::MavlinkLogHandler(Mavlink &mavlink) : _mavlink(mavlink) { @@ -123,14 +123,14 @@ MavlinkLogHandler::send() //-- Log Entries while (_current_status == LogHandlerState::Listing - && _mavlink->get_free_tx_buf() > MAVLINK_MSG_ID_LOG_ENTRY_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES + && _mavlink.get_free_tx_buf() > MAVLINK_MSG_ID_LOG_ENTRY_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES && count < MAX_BYTES_SEND) { count += _log_send_listing(); } //-- Log Data while (_current_status == LogHandlerState::SendingData - && _mavlink->get_free_tx_buf() > MAVLINK_MSG_ID_LOG_DATA_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES + && _mavlink.get_free_tx_buf() > MAVLINK_MSG_ID_LOG_DATA_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES && count < MAX_BYTES_SEND) { count += _log_send_data(); } @@ -272,7 +272,7 @@ MavlinkLogHandler::_log_send_listing() response.id = _next_entry; response.num_logs = _log_count; response.last_log_num = _last_entry; - mavlink_msg_log_entry_send_struct(_mavlink->get_channel(), &response); + mavlink_msg_log_entry_send_struct(_mavlink.get_channel(), &response); //-- If we're done listing, flag it. if (_next_entry >= _last_entry) { @@ -309,7 +309,7 @@ MavlinkLogHandler::_log_send_data() response.ofs = _current_log_data_offset; response.id = _current_log_index; response.count = read_size; - mavlink_msg_log_data_send_struct(_mavlink->get_channel(), &response); + mavlink_msg_log_data_send_struct(_mavlink.get_channel(), &response); _current_log_data_offset += read_size; _current_log_data_remaining -= read_size; diff --git a/src/modules/mavlink/mavlink_log_handler.h b/src/modules/mavlink/mavlink_log_handler.h index 8993bf41004f..965c26712f1c 100644 --- a/src/modules/mavlink/mavlink_log_handler.h +++ b/src/modules/mavlink/mavlink_log_handler.h @@ -51,7 +51,7 @@ class Mavlink; class MavlinkLogHandler { public: - MavlinkLogHandler(Mavlink *mavlink); + MavlinkLogHandler(Mavlink &mavlink); ~MavlinkLogHandler(); // Handle possible LOG message @@ -93,7 +93,7 @@ class MavlinkLogHandler size_t _log_send_data(); LogHandlerState _current_status{LogHandlerState::Inactive}; - Mavlink *_mavlink; + Mavlink &_mavlink; int _next_entry{0}; int _last_entry{0}; diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index 3abd4f71a2ae..989cccdb7acf 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -100,7 +100,7 @@ bool Mavlink::_boot_complete = false; Mavlink::Mavlink() : ModuleParams(nullptr), - _receiver(this) + _receiver(*this) { // initialise parameter cache mavlink_update_parameters(); @@ -438,12 +438,12 @@ Mavlink::serial_instance_exists(const char *device_name, Mavlink *self) } bool -Mavlink::component_was_seen(int system_id, int component_id, Mavlink *self) +Mavlink::component_was_seen(int system_id, int component_id, Mavlink &self) { LockGuard lg{mavlink_module_mutex}; for (Mavlink *inst : mavlink_module_instances) { - if (inst && (inst != self) && (inst->_receiver.component_was_seen(system_id, component_id))) { + if (inst && (inst != &self) && (inst->_receiver.component_was_seen(system_id, component_id))) { return true; } } @@ -1647,6 +1647,8 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream) configure_stream_local("GPS_GLOBAL_ORIGIN", 1.0f); configure_stream_local("GPS_RAW_INT", unlimited_rate); configure_stream_local("GPS_STATUS", 1.0f); + configure_stream_local("GIMBAL_DEVICE_ATTITUDE_STATUS", 0.5f); + configure_stream_local("GIMBAL_MANAGER_STATUS", 0.5f); configure_stream_local("HIGHRES_IMU", 50.0f); configure_stream_local("HOME_POSITION", 0.5f); configure_stream_local("HYGROMETER_SENSOR", 1.0f); diff --git a/src/modules/mavlink/mavlink_main.h b/src/modules/mavlink/mavlink_main.h index 17925f8ed8e4..d7a7307b3ebf 100644 --- a/src/modules/mavlink/mavlink_main.h +++ b/src/modules/mavlink/mavlink_main.h @@ -172,7 +172,7 @@ class Mavlink final : public ModuleParams static bool serial_instance_exists(const char *device_name, Mavlink *self); - static bool component_was_seen(int system_id, int component_id, Mavlink *self = nullptr); + static bool component_was_seen(int system_id, int component_id, Mavlink &self); static void forward_message(const mavlink_message_t *msg, Mavlink *self); diff --git a/src/modules/mavlink/mavlink_mission.cpp b/src/modules/mavlink/mavlink_mission.cpp index 5057c1625dbe..1c5437270a1e 100644 --- a/src/modules/mavlink/mavlink_mission.cpp +++ b/src/modules/mavlink/mavlink_mission.cpp @@ -72,7 +72,7 @@ constexpr uint16_t MavlinkMissionManager::MAX_COUNT[]; (_msg.target_component == MAV_COMP_ID_MISSIONPLANNER) || \ (_msg.target_component == MAV_COMP_ID_ALL))) -MavlinkMissionManager::MavlinkMissionManager(Mavlink *mavlink) : +MavlinkMissionManager::MavlinkMissionManager(Mavlink &mavlink) : _mavlink(mavlink) { if (!_dataman_init) { @@ -209,7 +209,7 @@ MavlinkMissionManager::update_geofence_count(dm_item_t fence_dataman_id, unsigne } else { if (_filesystem_errcount++ < FILESYSTEM_ERRCOUNT_NOTIFY_LIMIT) { - _mavlink->send_statustext_critical("Mission storage: Unable to write to microSD\t"); + _mavlink.send_statustext_critical("Mission storage: Unable to write to microSD\t"); events::send(events::ID("mavlink_mission_storage_write_failure2"), events::Log::Critical, "Mission: Unable to write to storage"); } @@ -245,7 +245,7 @@ MavlinkMissionManager::update_safepoint_count(dm_item_t safepoint_dataman_id, un } else { if (_filesystem_errcount++ < FILESYSTEM_ERRCOUNT_NOTIFY_LIMIT) { - _mavlink->send_statustext_critical("Mission storage: Unable to write to microSD\t"); + _mavlink.send_statustext_critical("Mission storage: Unable to write to microSD\t"); events::send(events::ID("mavlink_mission_storage_write_failure3"), events::Log::Critical, "Mission: Unable to write to storage"); } @@ -270,7 +270,7 @@ MavlinkMissionManager::send_mission_ack(uint8_t sysid, uint8_t compid, uint8_t t wpa.mission_type = _mission_type; wpa.opaque_id = opaque_id; - mavlink_msg_mission_ack_send_struct(_mavlink->get_channel(), &wpa); + mavlink_msg_mission_ack_send_struct(_mavlink.get_channel(), &wpa); PX4_DEBUG("WPM: Send MISSION_ACK type %u to ID %u", wpa.type, wpa.target_system); } @@ -284,7 +284,7 @@ MavlinkMissionManager::send_mission_current(uint16_t seq) wpc.mission_id = _crc32[MAV_MISSION_TYPE_MISSION]; wpc.fence_id = _crc32[MAV_MISSION_TYPE_FENCE]; wpc.rally_points_id = _crc32[MAV_MISSION_TYPE_RALLY]; - mavlink_msg_mission_current_send_struct(_mavlink->get_channel(), &wpc); + mavlink_msg_mission_current_send_struct(_mavlink.get_channel(), &wpc); PX4_DEBUG("WPM: Send MISSION_CURRENT seq %d", seq); } @@ -303,7 +303,7 @@ MavlinkMissionManager::send_mission_count(uint8_t sysid, uint8_t compid, uint16_ wpc.mission_type = mission_type; wpc.opaque_id = opaque_id; - mavlink_msg_mission_count_send_struct(_mavlink->get_channel(), &wpc); + mavlink_msg_mission_count_send_struct(_mavlink.get_channel(), &wpc); PX4_DEBUG("WPM: Send MISSION_COUNT %u to ID %u, mission type=%i", wpc.count, wpc.target_system, mission_type); } @@ -350,7 +350,7 @@ MavlinkMissionManager::send_mission_item(uint8_t sysid, uint8_t compid, uint16_t break; default: - _mavlink->send_statustext_critical("Received unknown mission type, abort.\t"); + _mavlink.send_statustext_critical("Received unknown mission type, abort.\t"); events::send(events::ID("mavlink_mission_recv_unknown_mis_type"), events::Log::Error, "Received unknown mission type, abort"); break; @@ -368,7 +368,7 @@ MavlinkMissionManager::send_mission_item(uint8_t sysid, uint8_t compid, uint16_t wp.seq = seq; wp.current = (_current_seq == seq) ? 1 : 0; - mavlink_msg_mission_item_int_send_struct(_mavlink->get_channel(), &wp); + mavlink_msg_mission_item_int_send_struct(_mavlink.get_channel(), &wp); PX4_DEBUG("WPM: Send MISSION_ITEM_INT seq %u to ID %u", wp.seq, wp.target_system); @@ -381,7 +381,7 @@ MavlinkMissionManager::send_mission_item(uint8_t sysid, uint8_t compid, uint16_t wp.seq = seq; wp.current = (_current_seq == seq) ? 1 : 0; - mavlink_msg_mission_item_send_struct(_mavlink->get_channel(), &wp); + mavlink_msg_mission_item_send_struct(_mavlink.get_channel(), &wp); PX4_DEBUG("WPM: Send MISSION_ITEM seq %u to ID %u", wp.seq, wp.target_system); } @@ -390,7 +390,7 @@ MavlinkMissionManager::send_mission_item(uint8_t sysid, uint8_t compid, uint16_t send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR); if (_filesystem_errcount++ < FILESYSTEM_ERRCOUNT_NOTIFY_LIMIT) { - mavlink_log_critical(_mavlink->get_mavlink_log_pub(), + mavlink_log_critical(_mavlink.get_mavlink_log_pub(), "Mission storage: Unable to read from storage, type: %" PRId8 "\t", (uint8_t)_mission_type); /* EVENT * @description Mission type: {1} @@ -448,7 +448,7 @@ MavlinkMissionManager::send_mission_request(uint8_t sysid, uint8_t compid, uint1 wpr.target_component = compid; wpr.seq = seq; wpr.mission_type = _mission_type; - mavlink_msg_mission_request_int_send_struct(_mavlink->get_channel(), &wpr); + mavlink_msg_mission_request_int_send_struct(_mavlink.get_channel(), &wpr); PX4_DEBUG("WPM: Send MISSION_REQUEST_INT seq %u to ID %u", wpr.seq, wpr.target_system); @@ -460,13 +460,13 @@ MavlinkMissionManager::send_mission_request(uint8_t sysid, uint8_t compid, uint1 wpr.seq = seq; wpr.mission_type = _mission_type; - mavlink_msg_mission_request_send_struct(_mavlink->get_channel(), &wpr); + mavlink_msg_mission_request_send_struct(_mavlink.get_channel(), &wpr); PX4_DEBUG("WPM: Send MISSION_REQUEST seq %u to ID %u", wpr.seq, wpr.target_system); } } else { - _mavlink->send_statustext_critical("ERROR: Waypoint index exceeds list capacity\t"); + _mavlink.send_statustext_critical("ERROR: Waypoint index exceeds list capacity\t"); events::send(events::ID("mavlink_mission_wp_index_exceeds_list"), events::Log::Error, "Waypoint index eceeds list capacity (maximum: {1})", current_max_item_count()); @@ -481,7 +481,7 @@ MavlinkMissionManager::send_mission_item_reached(uint16_t seq) wp_reached.seq = seq; - mavlink_msg_mission_item_reached_send_struct(_mavlink->get_channel(), &wp_reached); + mavlink_msg_mission_item_reached_send_struct(_mavlink.get_channel(), &wp_reached); PX4_DEBUG("WPM: Send MISSION_ITEM_REACHED reached_seq %u", wp_reached.seq); } @@ -490,7 +490,7 @@ void MavlinkMissionManager::send() { // do not send anything over high latency communication - if (_mavlink->get_mode() == Mavlink::MAVLINK_MODE_IRIDIUM) { + if (_mavlink.get_mode() == Mavlink::MAVLINK_MODE_IRIDIUM) { return; } @@ -509,7 +509,7 @@ MavlinkMissionManager::send() send_mission_current(_current_seq); } else { - _mavlink->send_statustext_critical("ERROR: wp index out of bounds\t"); + _mavlink.send_statustext_critical("ERROR: wp index out of bounds\t"); events::send(events::ID("mavlink_mission_wp_index_out_of_bounds"), events::Log::Error, "Waypoint index out of bounds (current {1} \\>= total {2})", mission_result.seq_current, mission_result.seq_total); } @@ -562,7 +562,7 @@ MavlinkMissionManager::send() } else if (_state != MAVLINK_WPM_STATE_IDLE && (_time_last_recv > 0) && hrt_elapsed_time(&_time_last_recv) > MAVLINK_MISSION_PROTOCOL_TIMEOUT_DEFAULT) { - _mavlink->send_statustext_critical("Operation timeout\t"); + _mavlink.send_statustext_critical("Operation timeout\t"); events::send(events::ID("mavlink_mission_op_timeout"), events::Log::Error, "Operation timeout, aborting transfer"); @@ -674,7 +674,7 @@ MavlinkMissionManager::handle_mission_ack(const mavlink_message_t *msg) } } else { - _mavlink->send_statustext_critical("REJ. WP CMD: partner id mismatch\t"); + _mavlink.send_statustext_critical("REJ. WP CMD: partner id mismatch\t"); events::send(events::ID("mavlink_mission_partner_id_mismatch"), events::Log::Error, "Rejecting waypoint command, component or system ID mismatch"); @@ -699,7 +699,7 @@ MavlinkMissionManager::handle_mission_set_current(const mavlink_message_t *msg) } else { PX4_ERR("WPM: MISSION_SET_CURRENT seq=%d ERROR: not in list", wpc.seq); - _mavlink->send_statustext_critical("WPM: WP CURR CMD: Not in list\t"); + _mavlink.send_statustext_critical("WPM: WP CURR CMD: Not in list\t"); events::send(events::ID("mavlink_mission_seq_out_of_bounds"), events::Log::Error, "New mission waypoint sequence out of bounds"); } @@ -707,7 +707,7 @@ MavlinkMissionManager::handle_mission_set_current(const mavlink_message_t *msg) } else { PX4_DEBUG("WPM: MISSION_SET_CURRENT ERROR: busy"); - _mavlink->send_statustext_critical("WPM: IGN WP CURR CMD: Busy\t"); + _mavlink.send_statustext_critical("WPM: IGN WP CURR CMD: Busy\t"); events::send(events::ID("mavlink_mission_state_busy"), events::Log::Error, "Mission manager currently busy, ignoring new waypoint index"); } @@ -768,7 +768,7 @@ MavlinkMissionManager::handle_mission_request_list(const mavlink_message_t *msg) } else { PX4_DEBUG("WPM: MISSION_REQUEST_LIST ERROR: busy"); - _mavlink->send_statustext_info("Mission download request ignored, already active\t"); + _mavlink.send_statustext_info("Mission download request ignored, already active\t"); events::send(events::ID("mavlink_mission_req_ignored"), events::Log::Warning, "Mission download request ignored, already active"); } @@ -843,7 +843,7 @@ MavlinkMissionManager::handle_mission_request_both(const mavlink_message_t *msg) switch_to_idle_state(); send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR); - _mavlink->send_statustext_critical("WPM: REJ. CMD: Req. WP was unexpected\t"); + _mavlink.send_statustext_critical("WPM: REJ. CMD: Req. WP was unexpected\t"); events::send(events::ID("mavlink_mission_wp_unexpected"), events::Log::Error, "Unexpected waypoint index, aborting transfer"); return; @@ -860,7 +860,7 @@ MavlinkMissionManager::handle_mission_request_both(const mavlink_message_t *msg) switch_to_idle_state(); send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR); - _mavlink->send_statustext_critical("WPM: REJ. CMD: Req. WP was unexpected\t"); + _mavlink.send_statustext_critical("WPM: REJ. CMD: Req. WP was unexpected\t"); events::send(events::ID("mavlink_mission_wp_unexpected2"), events::Log::Error, "Unexpected waypoint index, aborting mission transfer"); } @@ -869,18 +869,18 @@ MavlinkMissionManager::handle_mission_request_both(const mavlink_message_t *msg) PX4_DEBUG("WPM: MISSION_ITEM_REQUEST(_INT) ERROR: no transfer"); // Silently ignore this as some OSDs have buggy mission protocol implementations - //_mavlink->send_statustext_critical("IGN MISSION_ITEM_REQUEST(_INT): No active transfer"); + //_mavlink.send_statustext_critical("IGN MISSION_ITEM_REQUEST(_INT): No active transfer"); } else { PX4_DEBUG("WPM: MISSION_ITEM_REQUEST(_INT) ERROR: busy (state %d).", _state); - _mavlink->send_statustext_critical("WPM: REJ. CMD: Busy\t"); + _mavlink.send_statustext_critical("WPM: REJ. CMD: Busy\t"); events::send(events::ID("mavlink_mission_mis_req_ignored_busy"), events::Log::Error, "Ignoring mission request, currently busy"); } } else { - _mavlink->send_statustext_critical("WPM: REJ. CMD: partner id mismatch\t"); + _mavlink.send_statustext_critical("WPM: REJ. CMD: partner id mismatch\t"); events::send(events::ID("mavlink_mission_partner_id_mismatch2"), events::Log::Error, "Rejecting mission request command, component or system ID mismatch"); @@ -1000,7 +1000,7 @@ MavlinkMissionManager::handle_mission_count(const mavlink_message_t *msg) } else { PX4_DEBUG("WPM: MISSION_COUNT ERROR: busy, already receiving seq %u", _transfer_seq); - _mavlink->send_statustext_critical("WPM: REJ. CMD: Busy\t"); + _mavlink.send_statustext_critical("WPM: REJ. CMD: Busy\t"); events::send(events::ID("mavlink_mission_getlist_busy"), events::Log::Error, "Mission upload busy, already receiving waypoint"); @@ -1011,7 +1011,7 @@ MavlinkMissionManager::handle_mission_count(const mavlink_message_t *msg) } else { PX4_DEBUG("WPM: MISSION_COUNT ERROR: busy, state %i", _state); - _mavlink->send_statustext_critical("WPM: IGN MISSION_COUNT: Busy\t"); + _mavlink.send_statustext_critical("WPM: IGN MISSION_COUNT: Busy\t"); events::send(events::ID("mavlink_mission_ignore_mis_count"), events::Log::Error, "Mission upload busy, ignoring MISSION_COUNT"); send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR); @@ -1088,7 +1088,7 @@ MavlinkMissionManager::handle_mission_item_both(const mavlink_message_t *msg) } else { PX4_DEBUG("WPM: MISSION_ITEM ERROR: no transfer"); - _mavlink->send_statustext_critical("IGN MISSION_ITEM: No transfer\t"); + _mavlink.send_statustext_critical("IGN MISSION_ITEM: No transfer\t"); events::send(events::ID("mavlink_mission_no_transfer"), events::Log::Error, "Ignoring mission item, no transfer in progress"); send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR); @@ -1099,7 +1099,7 @@ MavlinkMissionManager::handle_mission_item_both(const mavlink_message_t *msg) } else { PX4_DEBUG("WPM: MISSION_ITEM ERROR: busy, state %i", _state); - _mavlink->send_statustext_critical("IGN MISSION_ITEM: Busy\t"); + _mavlink.send_statustext_critical("IGN MISSION_ITEM: Busy\t"); events::send(events::ID("mavlink_mission_mis_item_busy"), events::Log::Error, "Ignoring mission item, busy"); send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR); @@ -1113,7 +1113,7 @@ MavlinkMissionManager::handle_mission_item_both(const mavlink_message_t *msg) if (ret != PX4_OK) { PX4_DEBUG("WPM: MISSION_ITEM ERROR: seq %u invalid item", wp.seq); - _mavlink->send_statustext_critical("IGN MISSION_ITEM: Invalid item\t"); + _mavlink.send_statustext_critical("IGN MISSION_ITEM: Invalid item\t"); events::send(events::ID("mavlink_mission_mis_item_invalid"), events::Log::Error, "Ignoring mission item, invalid item"); @@ -1208,7 +1208,7 @@ MavlinkMissionManager::handle_mission_item_both(const mavlink_message_t *msg) break; default: - _mavlink->send_statustext_critical("Received unknown mission type, abort.\t"); + _mavlink.send_statustext_critical("Received unknown mission type, abort.\t"); events::send(events::ID("mavlink_mission_unknown_mis_type"), events::Log::Error, "Received unknown mission type, abort"); break; @@ -1220,7 +1220,7 @@ MavlinkMissionManager::handle_mission_item_both(const mavlink_message_t *msg) send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR); if (write_failed) { - _mavlink->send_statustext_critical("Unable to write on micro SD\t"); + _mavlink.send_statustext_critical("Unable to write on micro SD\t"); events::send(events::ID("mavlink_mission_storage_failure"), events::Log::Error, "Mission: unable to write to storage"); } @@ -1361,7 +1361,7 @@ MavlinkMissionManager::handle_mission_clear_all(const mavlink_message_t *msg) } } else { - _mavlink->send_statustext_critical("WPM: IGN CLEAR CMD: Busy\t"); + _mavlink.send_statustext_critical("WPM: IGN CLEAR CMD: Busy\t"); events::send(events::ID("mavlink_mission_ignore_clear"), events::Log::Error, "Ignoring mission clear command, busy"); @@ -1839,7 +1839,7 @@ void MavlinkMissionManager::copy_params_from_mavlink_to_mission_item(struct miss void MavlinkMissionManager::check_active_mission() { // do not send anything over high latency communication - if (_mavlink->get_mode() == Mavlink::MAVLINK_MODE_IRIDIUM) { + if (_mavlink.get_mode() == Mavlink::MAVLINK_MODE_IRIDIUM) { return; } diff --git a/src/modules/mavlink/mavlink_mission.h b/src/modules/mavlink/mavlink_mission.h index 2251ef9e61da..0b5c6e25d815 100644 --- a/src/modules/mavlink/mavlink_mission.h +++ b/src/modules/mavlink/mavlink_mission.h @@ -77,7 +77,7 @@ class Mavlink; class MavlinkMissionManager { public: - explicit MavlinkMissionManager(Mavlink *mavlink); + explicit MavlinkMissionManager(Mavlink &mavlink); ~MavlinkMissionManager() = default; @@ -146,7 +146,7 @@ class MavlinkMissionManager MavlinkRateLimiter _slow_rate_limiter{1000 * 1000}; ///< Rate limit sending of the current WP sequence to 1 Hz - Mavlink *_mavlink; + Mavlink &_mavlink; static constexpr unsigned int FILESYSTEM_ERRCOUNT_NOTIFY_LIMIT = 2; ///< Error count limit before stopping to report FS errors diff --git a/src/modules/mavlink/mavlink_parameters.cpp b/src/modules/mavlink/mavlink_parameters.cpp index c7332bff7bdc..cbac547c93b7 100644 --- a/src/modules/mavlink/mavlink_parameters.cpp +++ b/src/modules/mavlink/mavlink_parameters.cpp @@ -46,7 +46,7 @@ #include "mavlink_main.h" #include -MavlinkParametersManager::MavlinkParametersManager(Mavlink *mavlink) : +MavlinkParametersManager::MavlinkParametersManager(Mavlink &mavlink) : _mavlink(mavlink) { } @@ -111,7 +111,7 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg) /* Whatever the value is, we're being told to stop sending */ if (strncmp(name, "_HASH_CHECK", sizeof(name)) == 0) { - if (_mavlink->hash_check_enabled()) { + if (_mavlink.hash_check_enabled()) { _send_all_index = -1; } @@ -189,7 +189,7 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg) strncpy(param_value.param_id, HASH_PARAM, MAVLINK_MSG_PARAM_VALUE_FIELD_PARAM_ID_LEN); param_value.param_type = MAV_PARAM_TYPE_UINT32; memcpy(¶m_value.param_value, &hash, sizeof(hash)); - mavlink_msg_param_value_send_struct(_mavlink->get_channel(), ¶m_value); + mavlink_msg_param_value_send_struct(_mavlink.get_channel(), ¶m_value); } else { /* local name buffer to enforce null-terminated string */ @@ -249,7 +249,7 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg) size_t i = map_rc.parameter_rc_channel_index; if (i >= sizeof(_rc_param_map.param_index) / sizeof(_rc_param_map.param_index[0])) { - mavlink_log_warning(_mavlink->get_mavlink_log_pub(), "parameter_rc_channel_index out of bounds\t"); + mavlink_log_warning(_mavlink.get_mavlink_log_pub(), "parameter_rc_channel_index out of bounds\t"); events::send(events::ID("mavlink_param_rc_chan_out_of_bounds"), events::Log::Warning, "parameter_rc_channel_index out of bounds"); break; @@ -319,7 +319,7 @@ MavlinkParametersManager::send() int max_num_to_send; - if (_mavlink->get_protocol() == Protocol::SERIAL && !_mavlink->is_usb_uart()) { + if (_mavlink.get_protocol() == Protocol::SERIAL && !_mavlink.is_usb_uart()) { max_num_to_send = 3; } else { @@ -330,7 +330,7 @@ MavlinkParametersManager::send() int i = 0; // Send while burst is not exceeded, we still have buffer space and still something to send - while ((i++ < max_num_to_send) && (_mavlink->get_free_tx_buf() >= get_size()) && !_mavlink->radio_status_critical() + while ((i++ < max_num_to_send) && (_mavlink.get_free_tx_buf() >= get_size()) && !_mavlink.radio_status_critical() && send_params()) {} } @@ -394,7 +394,7 @@ MavlinkParametersManager::send_untransmitted() break; } } - } while ((_mavlink->get_free_tx_buf() >= get_size()) && !_mavlink->radio_status_critical() + } while ((_mavlink.get_free_tx_buf() >= get_size()) && !_mavlink.radio_status_critical() && (_param_update_index < (int) param_count())); // Flag work as done once all params have been sent @@ -426,7 +426,7 @@ MavlinkParametersManager::send_one() strncpy(msg.param_id, HASH_PARAM, MAVLINK_MSG_PARAM_VALUE_FIELD_PARAM_ID_LEN); msg.param_type = MAV_PARAM_TYPE_UINT32; memcpy(&msg.param_value, &hash, sizeof(hash)); - mavlink_msg_param_value_send_struct(_mavlink->get_channel(), &msg); + mavlink_msg_param_value_send_struct(_mavlink.get_channel(), &msg); /* after this we should start sending all params */ _send_all_index = 0; @@ -468,7 +468,7 @@ MavlinkParametersManager::send_param(param_t param, int component_id) } /* no free TX buf to send this param */ - if (_mavlink->get_free_tx_buf() < MAVLINK_MSG_ID_PARAM_VALUE_LEN) { + if (_mavlink.get_free_tx_buf() < MAVLINK_MSG_ID_PARAM_VALUE_LEN) { return 1; } @@ -535,13 +535,13 @@ MavlinkParametersManager::send_param(param_t param, int component_id) /* default component ID */ if (component_id < 0) { - mavlink_msg_param_value_send_struct(_mavlink->get_channel(), &msg); + mavlink_msg_param_value_send_struct(_mavlink.get_channel(), &msg); } else { // Re-pack the message with a different component ID mavlink_message_t mavlink_packet; - mavlink_msg_param_value_encode_chan(mavlink_system.sysid, component_id, _mavlink->get_channel(), &mavlink_packet, &msg); - _mavlink_resend_uart(_mavlink->get_channel(), &mavlink_packet); + mavlink_msg_param_value_encode_chan(mavlink_system.sysid, component_id, _mavlink.get_channel(), &mavlink_packet, &msg); + _mavlink_resend_uart(_mavlink.get_channel(), &mavlink_packet); } return 0; @@ -595,9 +595,9 @@ bool MavlinkParametersManager::send_uavcan() // Re-pack the message with the UAVCAN node ID mavlink_message_t mavlink_packet{}; - mavlink_msg_param_value_encode_chan(mavlink_system.sysid, value.node_id, _mavlink->get_channel(), &mavlink_packet, + mavlink_msg_param_value_encode_chan(mavlink_system.sysid, value.node_id, _mavlink.get_channel(), &mavlink_packet, &msg); - _mavlink_resend_uart(_mavlink->get_channel(), &mavlink_packet); + _mavlink_resend_uart(_mavlink.get_channel(), &mavlink_packet); return true; } diff --git a/src/modules/mavlink/mavlink_parameters.h b/src/modules/mavlink/mavlink_parameters.h index bf8d48d78506..c1042d0e71b5 100644 --- a/src/modules/mavlink/mavlink_parameters.h +++ b/src/modules/mavlink/mavlink_parameters.h @@ -64,7 +64,7 @@ class Mavlink; class MavlinkParametersManager { public: - explicit MavlinkParametersManager(Mavlink *mavlink); + explicit MavlinkParametersManager(Mavlink &mavlink); ~MavlinkParametersManager() = default; /** @@ -159,7 +159,7 @@ class MavlinkParametersManager hrt_abstime _param_update_time{0}; int _param_update_index{0}; - Mavlink *_mavlink; + Mavlink &_mavlink; bool _first_send{false}; }; diff --git a/src/modules/mavlink/mavlink_receiver.cpp b/src/modules/mavlink/mavlink_receiver.cpp index 0385c6a1ebb6..35e2879c6db7 100644 --- a/src/modules/mavlink/mavlink_receiver.cpp +++ b/src/modules/mavlink/mavlink_receiver.cpp @@ -106,7 +106,7 @@ static constexpr vehicle_odometry_s vehicle_odometry_empty { .quality = 0 }; -MavlinkReceiver::MavlinkReceiver(Mavlink *parent) : +MavlinkReceiver::MavlinkReceiver(Mavlink &parent) : ModuleParams(nullptr), _mavlink(parent), _mavlink_ftp(parent), @@ -344,7 +344,7 @@ MavlinkReceiver::handle_message(mavlink_message_t *msg) * Accept HIL GPS messages if use_hil_gps flag is true. * This allows to provide fake gps measurements to the system. */ - if (_mavlink->get_hil_enabled()) { + if (_mavlink.get_hil_enabled()) { switch (msg->msgid) { case MAVLINK_MSG_ID_HIL_SENSOR: handle_message_hil_sensor(msg); @@ -364,7 +364,7 @@ MavlinkReceiver::handle_message(mavlink_message_t *msg) } - if (_mavlink->get_hil_enabled() || (_mavlink->get_use_hil_gps() && msg->sysid == mavlink_system.sysid)) { + if (_mavlink.get_hil_enabled() || (_mavlink.get_use_hil_gps() && msg->sysid == mavlink_system.sysid)) { switch (msg->msgid) { case MAVLINK_MSG_ID_HIL_GPS: handle_message_hil_gps(msg); @@ -376,9 +376,34 @@ MavlinkReceiver::handle_message(mavlink_message_t *msg) } - /* If we've received a valid message, mark the flag indicating so. - This is used in the '-w' command-line flag. */ - _mavlink->set_has_received_messages(true); + /* handle packet with mission manager */ + _mission_manager.handle_message(msg); + + /* handle packet with parameter component */ + if (_mavlink.boot_complete()) { + // make sure mavlink app has booted before we start processing parameter sync + _parameters_manager.handle_message(msg); + + } else { + if (hrt_elapsed_time(&_mavlink.get_first_start_time()) > 20_s) { + PX4_ERR("system boot did not complete in 20 seconds"); + _mavlink.set_boot_complete(); + } + } + + if (_mavlink.ftp_enabled()) { + /* handle packet with ftp component */ + _mavlink_ftp.handle_message(msg); + } + + /* handle packet with log component */ + _mavlink_log_handler.handle_message(msg); + + /* handle packet with timesync component */ + _mavlink_timesync.handle_message(msg); + + /* handle packet with parent object */ + _mavlink.handle_message(msg); } bool @@ -502,8 +527,8 @@ void MavlinkReceiver::handle_message_command_both(mavlink_message_t *msg, const if (!target_ok) { // Reject alien commands only if there is no forwarding or we've never seen target component before - if (!_mavlink->get_forwarding_on() - || !_mavlink->component_was_seen(cmd_mavlink.target_system, cmd_mavlink.target_component, _mavlink)) { + if (!_mavlink.get_forwarding_on() + || !_mavlink.component_was_seen(cmd_mavlink.target_system, cmd_mavlink.target_component, _mavlink)) { acknowledge(msg->sysid, msg->compid, cmd_mavlink.command, vehicle_command_ack_s::VEHICLE_CMD_RESULT_FAILED); } @@ -543,7 +568,7 @@ void MavlinkReceiver::handle_message_command_both(mavlink_message_t *msg, const vehicle_command.param5, vehicle_command.param6, vehicle_command.param7); } else if (cmd_mavlink.command == MAV_CMD_INJECT_FAILURE) { - if (_mavlink->failure_injection_enabled()) { + if (_mavlink.failure_injection_enabled()) { _cmd_pub.publish(vehicle_command); send_ack = false; @@ -669,19 +694,19 @@ void MavlinkReceiver::handle_message_command_both(mavlink_message_t *msg, const // check that we have enough bandwidth available: this is given by the configured logger topics // and rates. The 5000 is somewhat arbitrary, but makes sure that we cannot enable log streaming // on a radio link - if (_mavlink->get_data_rate() < 5000) { + if (_mavlink.get_data_rate() < 5000) { send_ack = true; result = vehicle_command_ack_s::VEHICLE_CMD_RESULT_DENIED; - _mavlink->send_statustext_critical("Not enough bandwidth to enable log streaming\t"); + _mavlink.send_statustext_critical("Not enough bandwidth to enable log streaming\t"); events::send(events::ID("mavlink_log_not_enough_bw"), events::Log::Error, - "Not enough bandwidth to enable log streaming ({1} \\< 5000)", _mavlink->get_data_rate()); + "Not enough bandwidth to enable log streaming ({1} \\< 5000)", _mavlink.get_data_rate()); } else { // we already instanciate the streaming object, because at this point we know on which // mavlink channel streaming was requested. But in fact it's possible that the logger is // not even running. The main mavlink thread takes care of this by waiting for an ack // from the logger. - _mavlink->try_start_ulog_streaming(msg->sysid, msg->compid); + _mavlink.try_start_ulog_streaming(msg->sysid, msg->compid); } } @@ -701,7 +726,7 @@ uint8_t MavlinkReceiver::handle_request_message_command(uint16_t message_id, flo bool stream_found = false; bool message_sent = false; - for (const auto &stream : _mavlink->get_streams()) { + for (const auto &stream : _mavlink.get_streams()) { if (stream->get_id() == message_id) { stream_found = true; message_sent = stream->request_message(param2, param3, param4, param5, param6, param7); @@ -714,10 +739,10 @@ uint8_t MavlinkReceiver::handle_request_message_command(uint16_t message_id, flo const char *stream_name = get_stream_name(message_id); if (stream_name != nullptr) { - _mavlink->configure_stream_threadsafe(stream_name, 0.0f); + _mavlink.configure_stream_threadsafe(stream_name, 0.0f); // Now we try again to send it. - for (const auto &stream : _mavlink->get_streams()) { + for (const auto &stream : _mavlink.get_streams()) { if (stream->get_id() == message_id) { message_sent = stream->request_message(param2, param3, param4, param5, param6, param7); break; @@ -737,7 +762,7 @@ MavlinkReceiver::handle_message_command_ack(mavlink_message_t *msg) mavlink_command_ack_t ack; mavlink_msg_command_ack_decode(msg, &ack); - MavlinkCommandSender::instance().handle_mavlink_command_ack(ack, msg->sysid, msg->compid, _mavlink->get_channel()); + MavlinkCommandSender::instance().handle_mavlink_command_ack(ack, msg->sysid, msg->compid, _mavlink.get_channel()); vehicle_command_ack_s command_ack{}; @@ -768,7 +793,7 @@ MavlinkReceiver::handle_message_optical_flow_rad(mavlink_message_t *msg) device::Device::DeviceId device_id; device_id.devid_s.bus_type = device::Device::DeviceBusType::DeviceBusType_MAVLINK; - device_id.devid_s.bus = _mavlink->get_instance_id(); + device_id.devid_s.bus = _mavlink.get_instance_id(); device_id.devid_s.address = msg->sysid; device_id.devid_s.devtype = DRV_FLOW_DEVTYPE_MAVLINK; @@ -814,7 +839,7 @@ MavlinkReceiver::handle_message_hil_optical_flow(mavlink_message_t *msg) device::Device::DeviceId device_id; device_id.devid_s.bus_type = device::Device::DeviceBusType::DeviceBusType_MAVLINK; - device_id.devid_s.bus = _mavlink->get_instance_id(); + device_id.devid_s.bus = _mavlink.get_instance_id(); device_id.devid_s.address = msg->sysid; device_id.devid_s.devtype = DRV_FLOW_DEVTYPE_SIM; @@ -891,7 +916,7 @@ MavlinkReceiver::handle_message_distance_sensor(mavlink_message_t *msg) device::Device::DeviceId device_id; device_id.devid_s.bus_type = device::Device::DeviceBusType::DeviceBusType_MAVLINK; - device_id.devid_s.bus = _mavlink->get_instance_id(); + device_id.devid_s.bus = _mavlink.get_instance_id(); device_id.devid_s.address = msg->sysid; device_id.devid_s.devtype = DRV_DIST_DEVTYPE_MAVLINK; @@ -963,7 +988,7 @@ MavlinkReceiver::handle_message_set_position_target_local_ned(mavlink_message_t mavlink_msg_set_position_target_local_ned_decode(msg, &target_local_ned); /* Only accept messages which are intended for this system */ - if (_mavlink->get_forward_externalsp() && + if (_mavlink.get_forward_externalsp() && (mavlink_system.sysid == target_local_ned.target_system || target_local_ned.target_system == 0) && (mavlink_system.compid == target_local_ned.target_component || target_local_ned.target_component == 0)) { @@ -1083,7 +1108,7 @@ MavlinkReceiver::handle_message_set_position_target_global_int(mavlink_message_t mavlink_msg_set_position_target_global_int_decode(msg, &target_global_int); /* Only accept messages which are intended for this system */ - if (_mavlink->get_forward_externalsp() && + if (_mavlink.get_forward_externalsp() && (mavlink_system.sysid == target_global_int.target_system || target_global_int.target_system == 0) && (mavlink_system.compid == target_global_int.target_component || target_global_int.target_component == 0)) { @@ -1199,13 +1224,13 @@ MavlinkReceiver::handle_message_set_gps_global_origin(mavlink_message_t *msg) mavlink_set_gps_global_origin_t gps_global_origin; mavlink_msg_set_gps_global_origin_decode(msg, &gps_global_origin); - if (gps_global_origin.target_system == _mavlink->get_system_id()) { + if (gps_global_origin.target_system == _mavlink.get_system_id()) { vehicle_command_s vcmd{}; vcmd.param5 = (double)gps_global_origin.latitude * 1.e-7; vcmd.param6 = (double)gps_global_origin.longitude * 1.e-7; vcmd.param7 = (float)gps_global_origin.altitude * 1.e-3f; vcmd.command = vehicle_command_s::VEHICLE_CMD_SET_GPS_GLOBAL_ORIGIN; - vcmd.target_system = _mavlink->get_system_id(); + vcmd.target_system = _mavlink.get_system_id(); vcmd.target_component = MAV_COMP_ID_ALL; vcmd.source_system = msg->sysid; vcmd.source_component = msg->compid; @@ -1489,7 +1514,7 @@ void MavlinkReceiver::fill_thrust(float *thrust_body_array, uint8_t vehicle_type { // Fill correct field by checking frametype // TODO: add as needed - switch (_mavlink->get_system_type()) { + switch (_mavlink.get_system_type()) { case MAV_TYPE_GENERIC: break; @@ -1545,7 +1570,7 @@ MavlinkReceiver::handle_message_set_attitude_target(mavlink_message_t *msg) mavlink_msg_set_attitude_target_decode(msg, &attitude_target); /* Only accept messages which are intended for this system */ - if (_mavlink->get_forward_externalsp() && + if (_mavlink.get_forward_externalsp() && (mavlink_system.sysid == attitude_target.target_system || attitude_target.target_system == 0) && (mavlink_system.compid == attitude_target.target_component || attitude_target.target_component == 0)) { @@ -1634,7 +1659,7 @@ void MavlinkReceiver::handle_message_radio_status(mavlink_message_t *msg) { /* telemetry status supported only on first ORB_MULTI_MAX_INSTANCES mavlink channels */ - if (_mavlink->get_channel() < (mavlink_channel_t)ORB_MULTI_MAX_INSTANCES) { + if (_mavlink.get_channel() < (mavlink_channel_t)ORB_MULTI_MAX_INSTANCES) { mavlink_radio_status_t rstatus; mavlink_msg_radio_status_decode(msg, &rstatus); @@ -1649,7 +1674,7 @@ MavlinkReceiver::handle_message_radio_status(mavlink_message_t *msg) status.rxerrors = rstatus.rxerrors; status.fix = rstatus.fixed; - _mavlink->update_radio_status(status); + _mavlink.update_radio_status(status); _radio_status_pub.publish(status); } @@ -1666,7 +1691,7 @@ MavlinkReceiver::handle_message_ping(mavlink_message_t *msg) ping.target_system = msg->sysid; ping.target_component = msg->compid; - mavlink_msg_ping_send_struct(_mavlink->get_channel(), &ping); + mavlink_msg_ping_send_struct(_mavlink.get_channel(), &ping); } else if ((ping.target_system == mavlink_system.sysid) && (ping.target_component == @@ -1678,7 +1703,7 @@ MavlinkReceiver::handle_message_ping(mavlink_message_t *msg) float rtt_ms = (now - ping.time_usec) / 1000.0f; // Update ping statistics - struct Mavlink::ping_statistics_s &pstats = _mavlink->get_ping_statistics(); + struct Mavlink::ping_statistics_s &pstats = _mavlink.get_ping_statistics(); pstats.last_ping_time = now; @@ -1703,7 +1728,7 @@ MavlinkReceiver::handle_message_ping(mavlink_message_t *msg) pstats.min_rtt = pstats.min_rtt > 0.0f ? fminf(rtt_ms, pstats.min_rtt) : rtt_ms; /* Ping status is supported only on first ORB_MULTI_MAX_INSTANCES mavlink channels */ - if (_mavlink->get_channel() < (mavlink_channel_t)ORB_MULTI_MAX_INSTANCES) { + if (_mavlink.get_channel() < (mavlink_channel_t)ORB_MULTI_MAX_INSTANCES) { ping_s uorb_ping_msg{}; @@ -1789,7 +1814,7 @@ MavlinkReceiver::handle_message_serial_control(mavlink_message_t *msg) return; } - MavlinkShell *shell = _mavlink->get_shell(); + MavlinkShell *shell = _mavlink.get_shell(); if (shell) { // we ignore the timeout, EXCLUSIVE & BLOCKING flags of the SERIAL_CONTROL message @@ -1800,7 +1825,7 @@ MavlinkReceiver::handle_message_serial_control(mavlink_message_t *msg) // if no response requested, assume the shell is no longer used if ((serial_control_mavlink.flags & SERIAL_CONTROL_FLAG_RESPOND) == 0) { - _mavlink->close_shell(); + _mavlink.close_shell(); } } } @@ -1811,7 +1836,7 @@ MavlinkReceiver::handle_message_logging_ack(mavlink_message_t *msg) mavlink_logging_ack_t logging_ack; mavlink_msg_logging_ack_decode(msg, &logging_ack); - MavlinkULog *ulog_streaming = _mavlink->get_ulog_streaming(); + MavlinkULog *ulog_streaming = _mavlink.get_ulog_streaming(); if (ulog_streaming) { ulog_streaming->handle_ack(logging_ack); @@ -1988,7 +2013,7 @@ MavlinkReceiver::handle_message_rc_channels_override(mavlink_message_t *msg) mavlink_msg_rc_channels_override_decode(msg, &man); // Check target - if (man.target_system != 0 && man.target_system != _mavlink->get_system_id()) { + if (man.target_system != 0 && man.target_system != _mavlink.get_system_id()) { return; } @@ -2075,7 +2100,7 @@ MavlinkReceiver::handle_message_manual_control(mavlink_message_t *msg) mavlink_msg_manual_control_decode(msg, &mavlink_manual_control); // Check target - if (mavlink_manual_control.target != 0 && mavlink_manual_control.target != _mavlink->get_system_id()) { + if (mavlink_manual_control.target != 0 && mavlink_manual_control.target != _mavlink.get_system_id()) { return; } @@ -2087,7 +2112,7 @@ MavlinkReceiver::handle_message_manual_control(mavlink_message_t *msg) manual_control_setpoint.yaw = mavlink_manual_control.r / 1000.f; // Pass along the button states manual_control_setpoint.buttons = mavlink_manual_control.buttons; - manual_control_setpoint.data_source = manual_control_setpoint_s::SOURCE_MAVLINK_0 + _mavlink->get_instance_id(); + manual_control_setpoint.data_source = manual_control_setpoint_s::SOURCE_MAVLINK_0 + _mavlink.get_instance_id(); manual_control_setpoint.timestamp = manual_control_setpoint.timestamp_sample = hrt_absolute_time(); manual_control_setpoint.valid = true; _manual_control_input_pub.publish(manual_control_setpoint); @@ -2097,7 +2122,7 @@ void MavlinkReceiver::handle_message_heartbeat(mavlink_message_t *msg) { /* telemetry status supported only on first TELEMETRY_STATUS_ORB_ID_NUM mavlink channels */ - if (_mavlink->get_channel() < (mavlink_channel_t)ORB_MULTI_MAX_INSTANCES) { + if (_mavlink.get_channel() < (mavlink_channel_t)ORB_MULTI_MAX_INSTANCES) { const hrt_abstime now = hrt_absolute_time(); @@ -2141,13 +2166,13 @@ MavlinkReceiver::handle_message_heartbeat(mavlink_message_t *msg) case MAV_TYPE_PARACHUTE: _heartbeat_type_parachute = now; - _mavlink->telemetry_status().parachute_system_healthy = + _mavlink.telemetry_status().parachute_system_healthy = (hb.system_status == MAV_STATE_STANDBY) || (hb.system_status == MAV_STATE_ACTIVE); break; case MAV_TYPE_ODID: _heartbeat_type_open_drone_id = now; - _mavlink->telemetry_status().open_drone_id_system_healthy = + _mavlink.telemetry_status().open_drone_id_system_healthy = (hb.system_status == MAV_STATE_STANDBY) || (hb.system_status == MAV_STATE_ACTIVE); break; @@ -2172,7 +2197,7 @@ MavlinkReceiver::handle_message_heartbeat(mavlink_message_t *msg) case MAV_COMP_ID_OBSTACLE_AVOIDANCE: _heartbeat_component_obstacle_avoidance = now; - _mavlink->telemetry_status().avoidance_system_healthy = (hb.system_status == MAV_STATE_ACTIVE); + _mavlink.telemetry_status().avoidance_system_healthy = (hb.system_status == MAV_STATE_ACTIVE); break; case MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY: @@ -2209,7 +2234,7 @@ MavlinkReceiver::set_message_interval(int msgId, float interval, int data_rate) } if (data_rate > 0) { - _mavlink->set_data_rate(data_rate); + _mavlink.set_data_rate(data_rate); } // configure_stream wants a rate (msgs/second), so convert here. @@ -2231,7 +2256,7 @@ MavlinkReceiver::set_message_interval(int msgId, float interval, int data_rate) const char *stream_name = get_stream_name(msgId); if (stream_name != nullptr) { - _mavlink->configure_stream_threadsafe(stream_name, rate); + _mavlink.configure_stream_threadsafe(stream_name, rate); found_id = true; } } @@ -2244,7 +2269,7 @@ MavlinkReceiver::get_message_interval(int msgId) { unsigned interval = 0; - for (const auto &stream : _mavlink->get_streams()) { + for (const auto &stream : _mavlink.get_streams()) { if (stream->get_id() == msgId) { interval = stream->get_interval(); break; @@ -2252,7 +2277,7 @@ MavlinkReceiver::get_message_interval(int msgId) } // send back this value... - mavlink_msg_message_interval_send(_mavlink->get_channel(), msgId, interval); + mavlink_msg_message_interval_send(_mavlink.get_channel(), msgId, interval); } void @@ -2369,7 +2394,7 @@ MavlinkReceiver::handle_message_hil_gps(mavlink_message_t *msg) device::Device::DeviceId device_id; device_id.devid_s.bus_type = device::Device::DeviceBusType::DeviceBusType_MAVLINK; - device_id.devid_s.bus = _mavlink->get_instance_id(); + device_id.devid_s.bus = _mavlink.get_instance_id(); device_id.devid_s.address = msg->sysid; device_id.devid_s.devtype = DRV_GPS_DEVTYPE_SIM; @@ -2883,7 +2908,7 @@ void MavlinkReceiver::CheckHeartbeats(const hrt_abstime &t, bool force) } if ((t >= _last_heartbeat_check + (TIMEOUT / 2)) || force) { - telemetry_status_s &tstatus = _mavlink->telemetry_status(); + telemetry_status_s &tstatus = _mavlink.telemetry_status(); tstatus.heartbeat_type_antenna_tracker = (t <= TIMEOUT + _heartbeat_type_antenna_tracker); tstatus.heartbeat_type_gcs = (t <= TIMEOUT + _heartbeat_type_gcs); @@ -2903,14 +2928,14 @@ void MavlinkReceiver::CheckHeartbeats(const hrt_abstime &t, bool force) tstatus.heartbeat_component_udp_bridge = (t <= TIMEOUT + _heartbeat_component_udp_bridge); tstatus.heartbeat_component_uart_bridge = (t <= TIMEOUT + _heartbeat_component_uart_bridge); - _mavlink->telemetry_status_updated(); + _mavlink.telemetry_status_updated(); _last_heartbeat_check = t; } } void MavlinkReceiver::handle_message_request_event(mavlink_message_t *msg) { - _mavlink->get_events_protocol().handle_request_event(*msg); + _mavlink.get_events_protocol().handle_request_event(*msg); } void @@ -3033,7 +3058,7 @@ MavlinkReceiver::run() /* set thread name */ { char thread_name[17]; - snprintf(thread_name, sizeof(thread_name), "mavlink_rcv_if%d", _mavlink->get_instance_id()); + snprintf(thread_name, sizeof(thread_name), "mavlink_rcv_if%d", _mavlink.get_instance_id()); px4_prctl(PR_SET_NAME, thread_name, px4_getpid()); } @@ -3054,8 +3079,8 @@ MavlinkReceiver::run() struct pollfd fds[1] = {}; - if (_mavlink->get_protocol() == Protocol::SERIAL) { - fds[0].fd = _mavlink->get_uart_fd(); + if (_mavlink.get_protocol() == Protocol::SERIAL) { + fds[0].fd = _mavlink.get_uart_fd(); fds[0].events = POLLIN; } @@ -3063,8 +3088,8 @@ MavlinkReceiver::run() struct sockaddr_in srcaddr = {}; socklen_t addrlen = sizeof(srcaddr); - if (_mavlink->get_protocol() == Protocol::UDP) { - fds[0].fd = _mavlink->get_socket_fd(); + if (_mavlink.get_protocol() == Protocol::UDP) { + fds[0].fd = _mavlink.get_socket_fd(); fds[0].events = POLLIN; } @@ -3073,7 +3098,7 @@ MavlinkReceiver::run() ssize_t nread = 0; hrt_abstime last_send_update = 0; - while (!_mavlink->should_exit()) { + while (!_mavlink.should_exit()) { // check for parameter updates if (_parameter_update_sub.updated()) { @@ -3088,7 +3113,7 @@ MavlinkReceiver::run() int ret = poll(&fds[0], 1, timeout); if (ret > 0) { - if (_mavlink->get_protocol() == Protocol::SERIAL) { + if (_mavlink.get_protocol() == Protocol::SERIAL) { /* non-blocking read. read may return negative values */ nread = ::read(fds[0].fd, buf, sizeof(buf)); @@ -3099,21 +3124,21 @@ MavlinkReceiver::run() #if defined(MAVLINK_UDP) - else if (_mavlink->get_protocol() == Protocol::UDP) { + else if (_mavlink.get_protocol() == Protocol::UDP) { if (fds[0].revents & POLLIN) { - nread = recvfrom(_mavlink->get_socket_fd(), buf, sizeof(buf), 0, (struct sockaddr *)&srcaddr, &addrlen); + nread = recvfrom(_mavlink.get_socket_fd(), buf, sizeof(buf), 0, (struct sockaddr *)&srcaddr, &addrlen); } - struct sockaddr_in &srcaddr_last = _mavlink->get_client_source_address(); + struct sockaddr_in &srcaddr_last = _mavlink.get_client_source_address(); int localhost = (127 << 24) + 1; - if (!_mavlink->get_client_source_initialized()) { + if (!_mavlink.get_client_source_initialized()) { // set the address either if localhost or if 3 seconds have passed // this ensures that a GCS running on localhost can get a hold of // the system within the first N seconds - hrt_abstime stime = _mavlink->get_start_time(); + hrt_abstime stime = _mavlink.get_start_time(); if ((stime != 0 && (hrt_elapsed_time(&stime) > 3_s)) || (srcaddr_last.sin_addr.s_addr == htonl(localhost))) { @@ -3121,7 +3146,7 @@ MavlinkReceiver::run() srcaddr_last.sin_addr.s_addr = srcaddr.sin_addr.s_addr; srcaddr_last.sin_port = srcaddr.sin_port; - _mavlink->set_client_source_initialized(); + _mavlink.set_client_source_initialized(); PX4_INFO("partner IP: %s", inet_ntoa(srcaddr.sin_addr)); } @@ -3129,51 +3154,21 @@ MavlinkReceiver::run() } // only start accepting messages on UDP once we're sure who we talk to - if (_mavlink->get_protocol() != Protocol::UDP || _mavlink->get_client_source_initialized()) { + if (_mavlink.get_protocol() != Protocol::UDP || _mavlink.get_client_source_initialized()) { #endif // MAVLINK_UDP /* if read failed, this loop won't execute */ for (ssize_t i = 0; i < nread; i++) { - if (mavlink_parse_char(_mavlink->get_channel(), buf[i], &msg, &_status)) { + if (mavlink_parse_char(_mavlink.get_channel(), buf[i], &msg, &_status)) { /* check if we received version 2 and request a switch. */ - if (!(_mavlink->get_status()->flags & MAVLINK_STATUS_FLAG_IN_MAVLINK1)) { + if (!(_mavlink.get_status()->flags & MAVLINK_STATUS_FLAG_IN_MAVLINK1)) { /* this will only switch to proto version 2 if allowed in settings */ - _mavlink->set_proto_version(2); + _mavlink.set_proto_version(2); } - /* handle generic messages and commands */ handle_message(&msg); - - /* handle packet with mission manager */ - _mission_manager.handle_message(&msg); - - /* handle packet with parameter component */ - if (_mavlink->boot_complete()) { - // make sure mavlink app has booted before we start processing parameter sync - _parameters_manager.handle_message(&msg); - - } else { - if (hrt_elapsed_time(&_mavlink->get_first_start_time()) > 20_s) { - PX4_ERR("system boot did not complete in 20 seconds"); - _mavlink->set_boot_complete(); - } - } - - if (_mavlink->ftp_enabled()) { - /* handle packet with ftp component */ - _mavlink_ftp.handle_message(&msg); - } - - /* handle packet with log component */ - _mavlink_log_handler.handle_message(&msg); - - /* handle packet with timesync component */ - _mavlink_timesync.handle_message(&msg); - - /* handle packet with parent object */ - _mavlink->handle_message(&msg); - + _mavlink.set_has_received_messages(true); // Received first message, unlock wait to transmit '-w' command-line flag update_rx_stats(msg); if (_message_statistics_enabled) { @@ -3184,9 +3179,9 @@ MavlinkReceiver::run() /* count received bytes (nread will be -1 on read error) */ if (nread > 0) { - _mavlink->count_rxbytes(nread); + _mavlink.count_rxbytes(nread); - telemetry_status_s &tstatus = _mavlink->telemetry_status(); + telemetry_status_s &tstatus = _mavlink.telemetry_status(); tstatus.rx_message_count = _total_received_counter; tstatus.rx_message_lost_count = _total_lost_counter; tstatus.rx_message_lost_rate = static_cast(_total_lost_counter) / static_cast(_total_received_counter); @@ -3224,11 +3219,11 @@ MavlinkReceiver::run() _mission_manager.check_active_mission(); _mission_manager.send(); - if (_mavlink->get_mode() != Mavlink::MAVLINK_MODE::MAVLINK_MODE_IRIDIUM) { + if (_mavlink.get_mode() != Mavlink::MAVLINK_MODE::MAVLINK_MODE_IRIDIUM) { _parameters_manager.send(); } - if (_mavlink->ftp_enabled()) { + if (_mavlink.ftp_enabled()) { _mavlink_ftp.send(); } diff --git a/src/modules/mavlink/mavlink_receiver.h b/src/modules/mavlink/mavlink_receiver.h index e5575b7efb5f..9f2882e84835 100644 --- a/src/modules/mavlink/mavlink_receiver.h +++ b/src/modules/mavlink/mavlink_receiver.h @@ -126,7 +126,7 @@ class Mavlink; class MavlinkReceiver : public ModuleParams { public: - MavlinkReceiver(Mavlink *parent); + MavlinkReceiver(Mavlink &parent); ~MavlinkReceiver() override; void start(); @@ -246,7 +246,7 @@ class MavlinkReceiver : public ModuleParams */ void updateParams() override; - Mavlink *_mavlink; + Mavlink &_mavlink; MavlinkFTP _mavlink_ftp; MavlinkLogHandler _mavlink_log_handler; diff --git a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp index 574a5164ad16..288023a6508d 100644 --- a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp +++ b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp @@ -77,7 +77,7 @@ MavlinkFtpTest::MavlinkFtpTest() : void MavlinkFtpTest::_init() { _expected_seq_number = 0; - _ftp_server = new MavlinkFTP(nullptr); + _ftp_server = new MavlinkFTP(_mavlink); _ftp_server->set_unittest_worker(MavlinkFtpTest::receive_message_handler_generic, this); _create_test_files(); diff --git a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h index b32ebd628422..46da67c5f1f9 100644 --- a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h +++ b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h @@ -37,12 +37,9 @@ #pragma once #include -#ifndef MAVLINK_FTP_UNIT_TEST #include "../mavlink_bridge_header.h" -#else -#include -#endif #include "../mavlink_ftp.h" +#include "../mavlink_main.h" class MavlinkFtpTest : public UnitTest { @@ -130,6 +127,7 @@ class MavlinkFtpTest : public UnitTest bool _receive_message_handler_burst(const mavlink_file_transfer_protocol_t *ftp_req, BurstInfo *burst_info); MavlinkFTP *_ftp_server; + Mavlink _mavlink; uint16_t _expected_seq_number; mavlink_file_transfer_protocol_t _reply_msg; diff --git a/src/modules/mavlink/mavlink_timesync.cpp b/src/modules/mavlink/mavlink_timesync.cpp index 7bbe8f8dfacd..410dd84512a6 100644 --- a/src/modules/mavlink/mavlink_timesync.cpp +++ b/src/modules/mavlink/mavlink_timesync.cpp @@ -43,7 +43,7 @@ #include -MavlinkTimesync::MavlinkTimesync(Mavlink *mavlink) : +MavlinkTimesync::MavlinkTimesync(Mavlink &mavlink) : _mavlink(mavlink) { } @@ -66,7 +66,7 @@ MavlinkTimesync::handle_message(const mavlink_message_t *msg) rsync.tc1 = now * 1000ULL; rsync.ts1 = tsync.ts1; - mavlink_msg_timesync_send_struct(_mavlink->get_channel(), &rsync); + mavlink_msg_timesync_send_struct(_mavlink.get_channel(), &rsync); return; diff --git a/src/modules/mavlink/mavlink_timesync.h b/src/modules/mavlink/mavlink_timesync.h index a3e8295ae09e..0cb32a229cc3 100644 --- a/src/modules/mavlink/mavlink_timesync.h +++ b/src/modules/mavlink/mavlink_timesync.h @@ -49,7 +49,7 @@ class Mavlink; class MavlinkTimesync { public: - explicit MavlinkTimesync(Mavlink *mavlink); + explicit MavlinkTimesync(Mavlink &mavlink); ~MavlinkTimesync() = default; void handle_message(const mavlink_message_t *msg); @@ -61,6 +61,6 @@ class MavlinkTimesync uint64_t sync_stamp(uint64_t usec) { return _timesync.sync_stamp(usec); } private: - Mavlink *const _mavlink; + Mavlink &_mavlink; Timesync _timesync{}; }; diff --git a/src/modules/rover_ackermann/CMakeLists.txt b/src/modules/rover_ackermann/CMakeLists.txt new file mode 100644 index 000000000000..249a4748768d --- /dev/null +++ b/src/modules/rover_ackermann/CMakeLists.txt @@ -0,0 +1,47 @@ +############################################################################ +# +# Copyright (c) 2024 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +add_subdirectory(RoverAckermannGuidance) + +px4_add_module( + MODULE modules__rover_ackermann + MAIN rover_ackermann + SRCS + RoverAckermann.cpp + RoverAckermann.hpp + DEPENDS + RoverAckermannGuidance + px4_work_queue + MODULE_CONFIG + module.yaml +) diff --git a/src/modules/rover_ackermann/Kconfig b/src/modules/rover_ackermann/Kconfig new file mode 100644 index 000000000000..3ba13506598a --- /dev/null +++ b/src/modules/rover_ackermann/Kconfig @@ -0,0 +1,6 @@ +menuconfig MODULES_ROVER_ACKERMANN + bool "rover_ackermann" + default n + depends on MODULES_CONTROL_ALLOCATOR + ---help--- + Enable support for control of ackermann drive rovers diff --git a/src/modules/rover_ackermann/RoverAckermann.cpp b/src/modules/rover_ackermann/RoverAckermann.cpp new file mode 100644 index 000000000000..2c6b8c30d478 --- /dev/null +++ b/src/modules/rover_ackermann/RoverAckermann.cpp @@ -0,0 +1,162 @@ +/**************************************************************************** + * + * Copyright (c) 2024 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#include "RoverAckermann.hpp" + +using namespace time_literals; +using namespace matrix; + +RoverAckermann::RoverAckermann() : + ModuleParams(nullptr), + ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::rate_ctrl) +{ + updateParams(); +} + +bool RoverAckermann::init() +{ + ScheduleOnInterval(10_ms); // 100 Hz + return true; +} + +void RoverAckermann::updateParams() +{ + ModuleParams::updateParams(); +} + +void RoverAckermann::Run() +{ + if (should_exit()) { + ScheduleClear(); + exit_and_cleanup(); + } + + // uORB subscriber updates + if (_parameter_update_sub.updated()) { + updateParams(); + } + + if (_vehicle_status_sub.updated()) { + vehicle_status_s vehicle_status; + _vehicle_status_sub.copy(&vehicle_status); + _nav_state = vehicle_status.nav_state; + } + + // Navigation modes + switch (_nav_state) { + case vehicle_status_s::NAVIGATION_STATE_MANUAL: { + manual_control_setpoint_s manual_control_setpoint{}; + + if (_manual_control_setpoint_sub.update(&manual_control_setpoint)) { + _motor_setpoint.steering = manual_control_setpoint.roll; + _motor_setpoint.throttle = manual_control_setpoint.throttle; + } + + } break; + + case vehicle_status_s::NAVIGATION_STATE_AUTO_MISSION: + _motor_setpoint = _ackermann_guidance.purePursuit(); + break; + + default: // Unimplemented nav states will stop the rover + _motor_setpoint.steering = 0.f; + _motor_setpoint.throttle = 0.f; + break; + } + + hrt_abstime now = hrt_absolute_time(); + + // Publish to wheel motors + actuator_motors_s actuator_motors{}; + actuator_motors.reversible_flags = _param_r_rev.get(); + actuator_motors.control[0] = _motor_setpoint.throttle; + actuator_motors.timestamp = now; + _actuator_motors_pub.publish(actuator_motors); + + // Publish to servo + actuator_servos_s actuator_servos{}; + actuator_servos.control[0] = _motor_setpoint.steering; + actuator_servos.timestamp = now; + _actuator_servos_pub.publish(actuator_servos); +} + +int RoverAckermann::task_spawn(int argc, char *argv[]) +{ + RoverAckermann *instance = new RoverAckermann(); + + if (instance) { + _object.store(instance); + _task_id = task_id_is_work_queue; + + if (instance->init()) { + return PX4_OK; + } + + } else { + PX4_ERR("alloc failed"); + } + + delete instance; + _object.store(nullptr); + _task_id = -1; + + return PX4_ERROR; +} + +int RoverAckermann::custom_command(int argc, char *argv[]) +{ + return print_usage("unknown command"); +} + +int RoverAckermann::print_usage(const char *reason) +{ + if (reason) { + PX4_ERR("%s\n", reason); + } + + PRINT_MODULE_DESCRIPTION( + R"DESCR_STR( +### Description +Rover state machine. +)DESCR_STR"); + + PRINT_MODULE_USAGE_NAME("rover_ackermann", "controller"); + PRINT_MODULE_USAGE_COMMAND("start"); + PRINT_MODULE_USAGE_DEFAULT_COMMANDS(); + return 0; +} + +extern "C" __EXPORT int rover_ackermann_main(int argc, char *argv[]) +{ + return RoverAckermann::main(argc, argv); +} diff --git a/src/modules/rover_ackermann/RoverAckermann.hpp b/src/modules/rover_ackermann/RoverAckermann.hpp new file mode 100644 index 000000000000..101647dd4e20 --- /dev/null +++ b/src/modules/rover_ackermann/RoverAckermann.hpp @@ -0,0 +1,108 @@ +/**************************************************************************** + * + * Copyright (c) 2024 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#pragma once + +// PX4 includes +#include +#include +#include +#include +#include + +// uORB includes +#include +#include +#include +#include +#include +#include +#include +#include + +// Standard library includes +#include + +// Local includes +#include "RoverAckermannGuidance/RoverAckermannGuidance.hpp" + +using namespace time_literals; + +class RoverAckermann : public ModuleBase, public ModuleParams, + public px4::ScheduledWorkItem +{ +public: + /** + * @brief Constructor for RoverAckermann + */ + RoverAckermann(); + ~RoverAckermann() override = default; + + /** @see ModuleBase */ + static int task_spawn(int argc, char *argv[]); + + /** @see ModuleBase */ + static int custom_command(int argc, char *argv[]); + + /** @see ModuleBase */ + static int print_usage(const char *reason = nullptr); + + bool init(); + +protected: + void updateParams() override; + +private: + void Run() override; + + // uORB subscriptions + uORB::Subscription _manual_control_setpoint_sub{ORB_ID(manual_control_setpoint)}; + uORB::Subscription _parameter_update_sub{ORB_ID(parameter_update)}; + uORB::Subscription _vehicle_status_sub{ORB_ID(vehicle_status)}; + + // uORB publications + uORB::PublicationMulti _actuator_motors_pub{ORB_ID(actuator_motors)}; + uORB::Publication _actuator_servos_pub{ORB_ID(actuator_servos)}; + + // Instances + RoverAckermannGuidance _ackermann_guidance{this}; + + // Variables + int _nav_state{0}; + RoverAckermannGuidance::motor_setpoint _motor_setpoint; + + // Parameters + DEFINE_PARAMETERS( + (ParamInt) _param_r_rev + ) +}; diff --git a/src/modules/rover_ackermann/RoverAckermannGuidance/CMakeLists.txt b/src/modules/rover_ackermann/RoverAckermannGuidance/CMakeLists.txt new file mode 100644 index 000000000000..72928c7e25be --- /dev/null +++ b/src/modules/rover_ackermann/RoverAckermannGuidance/CMakeLists.txt @@ -0,0 +1,39 @@ +############################################################################ +# +# Copyright (c) 2024 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +px4_add_library(RoverAckermannGuidance + RoverAckermannGuidance.cpp +) + +target_link_libraries(RoverAckermannGuidance PUBLIC pid) +target_include_directories(RoverAckermannGuidance PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.cpp b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.cpp new file mode 100644 index 000000000000..d718df0ad49e --- /dev/null +++ b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.cpp @@ -0,0 +1,321 @@ +/**************************************************************************** + * + * Copyright (c) 2024 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#include "RoverAckermannGuidance.hpp" + +#include + +using namespace matrix; +using namespace time_literals; + +RoverAckermannGuidance::RoverAckermannGuidance(ModuleParams *parent) : ModuleParams(parent) +{ + updateParams(); + pid_init(&_pid_throttle, PID_MODE_DERIVATIV_NONE, 0.001f); +} + +void RoverAckermannGuidance::updateParams() +{ + ModuleParams::updateParams(); + pid_set_parameters(&_pid_throttle, + _param_ra_p_speed.get(), // Proportional gain + _param_ra_i_speed.get(), // Integral gain + 0, // Derivative gain + 1, // Integral limit + 1); // Output limit +} + +RoverAckermannGuidance::motor_setpoint RoverAckermannGuidance::purePursuit() +{ + // Initializations + float desired_speed{0.f}; + float desired_steering{0.f}; + float vehicle_yaw{0.f}; + float actual_speed{0.f}; + + // uORB subscriber updates + if (_vehicle_global_position_sub.updated()) { + vehicle_global_position_s vehicle_global_position{}; + _vehicle_global_position_sub.copy(&vehicle_global_position); + _curr_pos = Vector2d(vehicle_global_position.lat, vehicle_global_position.lon); + } + + if (_local_position_sub.updated()) { + vehicle_local_position_s local_position{}; + _local_position_sub.copy(&local_position); + + if (!_global_local_proj_ref.isInitialized() + || (_global_local_proj_ref.getProjectionReferenceTimestamp() != local_position.ref_timestamp)) { + _global_local_proj_ref.initReference(local_position.ref_lat, local_position.ref_lon, local_position.ref_timestamp); + } + + _curr_pos_local = Vector2f(local_position.x, local_position.y); + const Vector3f rover_velocity = {local_position.vx, local_position.vy, local_position.vz}; + actual_speed = rover_velocity.norm(); + } + + if (_position_setpoint_triplet_sub.updated()) { + updateWaypoints(); + } + + if (_vehicle_attitude_sub.updated()) { + vehicle_attitude_s vehicle_attitude{}; + _vehicle_attitude_sub.copy(&vehicle_attitude); + matrix::Quatf vehicle_attitude_quaternion = Quatf(vehicle_attitude.q); + vehicle_yaw = matrix::Eulerf(vehicle_attitude_quaternion).psi(); + } + + if (_mission_result_sub.updated()) { + mission_result_s mission_result{}; + _mission_result_sub.copy(&mission_result); + _mission_finished = mission_result.finished; + } + + // Guidance logic + if (!_mission_finished) { + // Calculate desired speed + const float distance_to_prev_wp = get_distance_to_next_waypoint(_curr_pos(0), _curr_pos(1), + _prev_wp(0), + _prev_wp(1)); + + if (distance_to_prev_wp <= _prev_acc_rad) { // Cornering speed + const float cornering_speed = _param_ra_miss_vel_gain.get() / _prev_acc_rad; + desired_speed = math::constrain(cornering_speed, _param_ra_miss_vel_min.get(), _param_ra_miss_vel_def.get()); + + } else { // Default mission speed + desired_speed = _param_ra_miss_vel_def.get(); + } + + // Calculate desired steering + desired_steering = calcDesiredSteering(_curr_wp_local, _prev_wp_local, _curr_pos_local, _param_ra_lookahd_gain.get(), + _param_ra_lookahd_min.get(), _param_ra_lookahd_max.get(), _param_ra_wheel_base.get(), desired_speed, vehicle_yaw); + desired_steering = math::constrain(desired_steering, -_param_ra_max_steer_angle.get(), + _param_ra_max_steer_angle.get()); + } + + // Throttle PID + hrt_abstime now = hrt_absolute_time(); + const float dt = math::min((now - _time_stamp_last), 5000_ms) / 1e6f; + _time_stamp_last = now; + float throttle = 0.f; + + if (desired_speed < FLT_EPSILON) { + pid_reset_integral(&_pid_throttle); + + } else { + throttle = pid_calculate(&_pid_throttle, desired_speed, actual_speed, 0, + dt); + } + + if (_param_ra_max_speed.get() > 0.f) { // Feed-forward term + throttle += math::interpolate(desired_speed, + 0.f, _param_ra_max_speed.get(), + 0.f, 1.f); + } + + // Publish ackermann controller status (logging) + _rover_ackermann_guidance_status.timestamp = now; + _rover_ackermann_guidance_status.actual_speed = actual_speed; + _rover_ackermann_guidance_status.desired_speed = desired_speed; + _rover_ackermann_guidance_status.pid_throttle_integral = _pid_throttle.integral; + _rover_ackermann_guidance_status_pub.publish(_rover_ackermann_guidance_status); + + // Return motor setpoints + motor_setpoint motor_setpoint_temp; + motor_setpoint_temp.steering = math::interpolate(desired_steering, -_param_ra_max_steer_angle.get(), + _param_ra_max_steer_angle.get(), + -1.f, 1.f); + motor_setpoint_temp.throttle = math::constrain(throttle, 0.f, 1.f); + return motor_setpoint_temp; +} + +void RoverAckermannGuidance::updateWaypoints() +{ + position_setpoint_triplet_s position_setpoint_triplet{}; + _position_setpoint_triplet_sub.copy(&position_setpoint_triplet); + + // Global waypoint coordinates + _curr_wp = Vector2d(position_setpoint_triplet.current.lat, position_setpoint_triplet.current.lon); + + if (position_setpoint_triplet.previous.valid) { + _prev_wp = Vector2d(position_setpoint_triplet.previous.lat, position_setpoint_triplet.previous.lon); + + } else { + _prev_wp = _curr_pos; + } + + if (position_setpoint_triplet.next.valid) { + _next_wp = Vector2d(position_setpoint_triplet.next.lat, position_setpoint_triplet.next.lon); + + } else { + _next_wp = _curr_wp; + } + + // Local waypoint coordinates + _curr_wp_local = _global_local_proj_ref.project(_curr_wp(0), _curr_wp(1)); + _prev_wp_local = _global_local_proj_ref.project(_prev_wp(0), _prev_wp(1)); + _next_wp_local = _global_local_proj_ref.project(_next_wp(0), _next_wp(1)); + + // Update acceptance radius + _prev_acc_rad = _acceptance_radius; + _acceptance_radius = updateAcceptanceRadius(_curr_wp_local, _prev_wp_local, _next_wp_local, _param_ra_acc_rad_def.get(), + _param_ra_acc_rad_gain.get(), _param_ra_acc_rad_max.get(), _param_ra_wheel_base.get(), _param_ra_max_steer_angle.get()); +} + +float RoverAckermannGuidance::updateAcceptanceRadius(const Vector2f &curr_wp_local, const Vector2f &prev_wp_local, + const Vector2f &next_wp_local, const float &default_acceptance_radius, const float &acceptance_radius_gain, + const float &acceptance_radius_max, const float &wheel_base, const float &max_steer_angle) +{ + // Setup variables + const Vector2f curr_to_prev_wp_local = prev_wp_local - curr_wp_local; + const Vector2f curr_to_next_wp_local = next_wp_local - curr_wp_local; + float acceptance_radius = default_acceptance_radius; + + // Calculate acceptance radius s.t. the rover cuts the corner tangential to the current and next line segment + if (curr_to_next_wp_local.norm() > FLT_EPSILON && curr_to_prev_wp_local.norm() > FLT_EPSILON) { + const float theta = acosf((curr_to_prev_wp_local * curr_to_next_wp_local) / (curr_to_prev_wp_local.norm() * + curr_to_next_wp_local.norm())) / 2.f; + const float min_turning_radius = wheel_base / sinf(max_steer_angle); + const float acceptance_radius_temp = min_turning_radius / tanf(theta); + const float acceptance_radius_temp_scaled = acceptance_radius_gain * + acceptance_radius_temp; // Scale geometric ideal acceptance radius to account for kinematic and dynamic effects + acceptance_radius = math::constrain(acceptance_radius_temp_scaled, default_acceptance_radius, + acceptance_radius_max); + } + + // Publish updated acceptance radius + position_controller_status_s pos_ctrl_status{}; + pos_ctrl_status.acceptance_radius = acceptance_radius; + pos_ctrl_status.timestamp = hrt_absolute_time(); + _position_controller_status_pub.publish(pos_ctrl_status); + return acceptance_radius; +} + +float RoverAckermannGuidance::calcDesiredSteering(const Vector2f &curr_wp_local, const Vector2f &prev_wp_local, + const Vector2f &curr_pos_local, const float &lookahead_gain, const float &lookahead_min, const float &lookahead_max, + const float &wheel_base, const float &desired_speed, const float &vehicle_yaw) +{ + // Calculate crosstrack error + const Vector2f prev_wp_to_curr_wp_local = curr_wp_local - prev_wp_local; + + if (prev_wp_to_curr_wp_local.norm() < FLT_EPSILON) { // Avoid division by 0 (this case should not happen) + return 0.f; + } + + const Vector2f prev_wp_to_curr_pos_local = curr_pos_local - prev_wp_local; + const Vector2f distance_on_line_segment = ((prev_wp_to_curr_pos_local * prev_wp_to_curr_wp_local) / + prev_wp_to_curr_wp_local.norm()) * prev_wp_to_curr_wp_local.normalized(); + const Vector2f crosstrack_error = (prev_wp_local + distance_on_line_segment) - curr_pos_local; + + // Calculate desired heading towards lookahead point + float desired_heading{0.f}; + float lookahead_distance = math::constrain(lookahead_gain * desired_speed, + lookahead_min, lookahead_max); + + if (crosstrack_error.longerThan(lookahead_distance)) { + if (crosstrack_error.norm() < lookahead_max) { + lookahead_distance = crosstrack_error.norm(); // Scale lookahead radius + desired_heading = calcDesiredHeading(curr_wp_local, prev_wp_local, curr_pos_local, lookahead_distance); + + } else { // Excessively large crosstrack error + desired_heading = calcDesiredHeading(curr_wp_local, curr_pos_local, curr_pos_local, lookahead_distance); + } + + } else { // Crosstrack error smaller than lookahead + desired_heading = calcDesiredHeading(curr_wp_local, prev_wp_local, curr_pos_local, lookahead_distance); + } + + // Calculate desired steering to reach lookahead point + const float heading_error = matrix::wrap_pi(desired_heading - vehicle_yaw); + + // For logging + _rover_ackermann_guidance_status.lookahead_distance = lookahead_distance; + _rover_ackermann_guidance_status.heading_error = (heading_error * 180.f) / (M_PI_F); + _rover_ackermann_guidance_status.crosstrack_error = crosstrack_error.norm(); + + // Calculate desired steering + if (math::abs_t(heading_error) <= M_PI_2_F) { + return atanf(2 * wheel_base * sinf(heading_error) / lookahead_distance); + + } else if (heading_error > FLT_EPSILON) { + return atanf(2 * wheel_base * (1.0f + sinf(heading_error - M_PI_2_F)) / + lookahead_distance); + + } else { + return atanf(2 * wheel_base * (-1.0f + sinf(heading_error + M_PI_2_F)) / + lookahead_distance); + } +} + +float RoverAckermannGuidance::calcDesiredHeading(const Vector2f &curr_wp_local, const Vector2f &prev_wp_local, + const Vector2f &curr_pos_local, + const float &lookahead_distance) +{ + // Setup variables + const float line_segment_slope = (curr_wp_local(1) - prev_wp_local(1)) / (curr_wp_local(0) - prev_wp_local(0)); + const float line_segment_rover_offset = prev_wp_local(1) - curr_pos_local(1) + line_segment_slope * (curr_pos_local( + 0) - prev_wp_local(0)); + const float a = -line_segment_slope; + const float c = -line_segment_rover_offset; + const float r = lookahead_distance; + const float x0 = -a * c / (a * a + 1.0f); + const float y0 = -c / (a * a + 1.0f); + + // Calculate intersection points + if (c * c > r * r * (a * a + 1.0f) + FLT_EPSILON) { // No intersection points exist + return 0.f; + + } else if (abs(c * c - r * r * (a * a + 1.0f)) < FLT_EPSILON) { // One intersection point exists + return atan2f(y0, x0); + + } else { // Two intersetion points exist + const float d = r * r - c * c / (a * a + 1.0f); + const float mult = sqrt(d / (a * a + 1.0f)); + const float ax = x0 + mult; + const float bx = x0 - mult; + const float ay = y0 - a * mult; + const float by = y0 + a * mult; + const Vector2f point1(ax, ay); + const Vector2f point2(bx, by); + const Vector2f distance1 = (curr_wp_local - curr_pos_local) - point1; + const Vector2f distance2 = (curr_wp_local - curr_pos_local) - point2; + + // Return intersection point closer to current waypoint + if (distance1.norm_squared() < distance2.norm_squared()) { + return atan2f(ay, ax); + + } else { + return atan2f(by, bx); + } + } +} diff --git a/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.hpp b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.hpp new file mode 100644 index 000000000000..f6446cdacb8a --- /dev/null +++ b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.hpp @@ -0,0 +1,190 @@ +/**************************************************************************** + * + * Copyright (c) 2024 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#pragma once + +// PX4 includes +#include + +// uORB includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Standard library includes +#include +#include +#include +#include +#include +#include + +using namespace matrix; + +/** + * @brief Class for ackermann drive guidance. + */ +class RoverAckermannGuidance : public ModuleParams +{ +public: + /** + * @brief Constructor for RoverAckermannGuidance. + * @param parent The parent ModuleParams object. + */ + RoverAckermannGuidance(ModuleParams *parent); + ~RoverAckermannGuidance() = default; + + struct motor_setpoint { + float steering{0.f}; + float throttle{0.f}; + }; + + /** + * @brief Compute guidance for ackermann rover and return motor_setpoint for throttle and steering. + */ + motor_setpoint purePursuit(); + + /** + * @brief Update global/local waypoint coordinates and acceptance radius + */ + void updateWaypoints(); + + /** + * @brief Returns and publishes the acceptance radius for current waypoint based on the angle between a line segment + * from the previous to the current waypoint/current to the next waypoint and maximum steer angle of + * the vehicle. + * @param curr_wp_local Current waypoint in local frame. + * @param prev_wp_local Previous waypoint in local frame. + * @param next_wp_local Next waypoint in local frame. + * @param default_acceptance_radius Default acceptance radius for waypoints. + * @param acceptance_radius_gain Scaling of the geometric optimal acceptance radius for the rover to cut corners. + * @param acceptance_radius_max Maximum value for the acceptance radius. + * @param wheel_base Rover wheelbase. + * @param max_steer_angle Rover maximum steer angle. + */ + float updateAcceptanceRadius(const Vector2f &curr_wp_local, const Vector2f &prev_wp_local, + const Vector2f &next_wp_local, const float &default_acceptance_radius, const float &acceptance_radius_gain, + const float &acceptance_radius_max, const float &wheel_base, const float &max_steer_angle); + + /** + * @brief Calculate and return desired steering input + * @param curr_wp_local Current waypoint in local frame. + * @param prev_wp_local Previous waypoint in local frame. + * @param curr_pos_local Current position of the vehicle in local frame. + * @param lookahead_gain Tuning parameter for the lookahead distance pure pursuit controller. + * @param lookahead_min Minimum lookahead distance. + * @param lookahead_max Maximum lookahead distance. + * @param wheel_base Rover wheelbase. + * @param desired_speed Desired speed for the rover. + * @param vehicle_yaw Current yaw of the rover. + */ + float calcDesiredSteering(const Vector2f &curr_wp_local, const Vector2f &prev_wp_local, const Vector2f &curr_pos_local, + const float &lookahead_gain, const float &lookahead_min, const float &lookahead_max, const float &wheel_base, + const float &desired_speed, const float &vehicle_yaw); + + /** + * @brief Return desired heading to the intersection point between a circle with a radius of + * lookahead_distance around the vehicle and a line segment from the previous to the current waypoint. + * @param curr_wp_local Current waypoint in local frame. + * @param prev_wp_local Previous waypoint in local frame. + * @param curr_pos_local Current position of the vehicle in local frame. + * @param lookahead_distance Radius of circle around vehicle. + */ + float calcDesiredHeading(const Vector2f &curr_wp_local, const Vector2f &prev_wp_local, const Vector2f &curr_pos_local, + const float &lookahead_distance); + +protected: + /** + * @brief Update the parameters of the module. + */ + void updateParams() override; + +private: + // uORB subscriptions + uORB::Subscription _position_setpoint_triplet_sub{ORB_ID(position_setpoint_triplet)}; + uORB::Subscription _vehicle_global_position_sub{ORB_ID(vehicle_global_position)}; + uORB::Subscription _local_position_sub{ORB_ID(vehicle_local_position)}; + uORB::Subscription _vehicle_attitude_sub{ORB_ID(vehicle_attitude)}; + uORB::Subscription _mission_result_sub{ORB_ID(mission_result)}; + + // uORB publications + uORB::Publication _rover_ackermann_guidance_status_pub{ORB_ID(rover_ackermann_guidance_status)}; + uORB::Publication _position_controller_status_pub{ORB_ID(position_controller_status)}; + rover_ackermann_guidance_status_s _rover_ackermann_guidance_status{}; + + + MapProjection _global_local_proj_ref{}; // Transform global to local coordinates. + + // Rover variables + Vector2d _curr_pos{}; + Vector2f _curr_pos_local{}; + PID_t _pid_throttle; + hrt_abstime _time_stamp_last{0}; + + // Waypoint variables + Vector2d _curr_wp{}; + Vector2d _next_wp{}; + Vector2d _prev_wp{}; + Vector2f _curr_wp_local{}; + Vector2f _prev_wp_local{}; + Vector2f _next_wp_local{}; + float _acceptance_radius{0.5f}; + float _prev_acc_rad{0.f}; + bool _mission_finished{false}; + + // Parameters + DEFINE_PARAMETERS( + (ParamFloat) _param_ra_wheel_base, + (ParamFloat) _param_ra_max_steer_angle, + (ParamFloat) _param_ra_lookahd_gain, + (ParamFloat) _param_ra_lookahd_max, + (ParamFloat) _param_ra_lookahd_min, + (ParamFloat) _param_ra_acc_rad_max, + (ParamFloat) _param_ra_acc_rad_def, + (ParamFloat) _param_ra_acc_rad_gain, + (ParamFloat) _param_ra_miss_vel_def, + (ParamFloat) _param_ra_miss_vel_min, + (ParamFloat) _param_ra_miss_vel_gain, + (ParamFloat) _param_ra_p_speed, + (ParamFloat) _param_ra_i_speed, + (ParamFloat) _param_ra_max_speed, + (ParamFloat) _param_nav_acc_rad + ) +}; diff --git a/src/modules/rover_ackermann/module.yaml b/src/modules/rover_ackermann/module.yaml new file mode 100644 index 000000000000..a3152b9e77be --- /dev/null +++ b/src/modules/rover_ackermann/module.yaml @@ -0,0 +1,177 @@ +module_name: Rover Ackermann + +parameters: + - group: Rover Ackermann + definitions: + RA_WHEEL_BASE: + description: + short: Wheel base + long: Distance from the front to the rear axle + type: float + unit: m + min: 0.001 + max: 100 + increment: 0.001 + decimal: 3 + default: 0.5 + + RA_MAX_STR_ANG: + description: + short: Maximum steering angle + long: The maximum angle that the rover can steer + type: float + unit: rad + min: 0.1 + max: 1.5708 + increment: 0.01 + decimal: 2 + default: 0.5236 + + RA_LOOKAHD_GAIN: + description: + short: Tuning parameter for the pure pursuit controller + long: Lower value -> More aggressive controller (beware overshoot/oscillations) + type: float + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 1 + + RA_LOOKAHD_MAX: + description: + short: Maximum lookahead distance for the pure pursuit controller + long: | + This is the maximum crosstrack error before the controller starts + targeting the current waypoint rather then the path between the previous + and next waypoint. + type: float + unit: m + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 10 + + RA_LOOKAHD_MIN: + description: + short: Minimum lookahead distance for the pure pursuit controller + type: float + unit: m + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 1 + + RA_ACC_RAD_MAX: + description: + short: Maximum acceptance radius + long: | + The controller scales the acceptance radius based on the angle between + the previous, current and next waypoint. Used as tuning parameter. + Higher value -> smoother trajectory at the cost of how close the rover gets + to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting). + type: float + unit: m + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 3 + + RA_ACC_RAD_DEF: + description: + short: Default acceptance radius + type: float + unit: m + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 0.5 + + RA_ACC_RAD_GAIN: + description: + short: Tuning parameter for corner cutting + long: | + The geometric ideal acceptance radius is multiplied by this factor + to account for kinematic and dynamic effects. + Higher value -> The rover starts to cut the corner earlier. + type: float + min: 1 + max: 100 + increment: 0.01 + decimal: 2 + default: 2 + + RA_MISS_VEL_DEF: + description: + short: Default rover velocity during a mission + type: float + unit: m/s + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 3 + + RA_MISS_VEL_MIN: + description: + short: Minimum rover velocity during a mission + long: | + The velocity off the rover is reduced based on the corner it has to take + to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF) + type: float + unit: m/s + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 1 + + RA_MISS_VEL_GAIN: + description: + short: Tuning parameter for the velocity reduction during cornering + long: Lower value -> More velocity reduction during cornering + type: float + min: 0.1 + max: 100 + increment: 0.01 + decimal: 2 + default: 5 + + RA_SPEED_P: + description: + short: Proportional gain for ground speed controller + type: float + min: 0 + max: 100 + increment: 0.01 + decimal: 2 + default: 1 + + RA_SPEED_I: + description: + short: Integral gain for ground speed controller + type: float + min: 0 + max: 100 + increment: 0.01 + decimal: 2 + default: 1 + + RA_MAX_SPEED: + description: + short: Speed the rover drives at maximum throttle + long: | + This is used for the feed-forward term of the speed controller. + A value of -1 disables the feed-forward term in which case the + Integrator (RA_SPEED_I) becomes necessary to track speed setpoints. + type: float + unit: m/s + min: -1 + max: 100 + increment: 0.01 + decimal: 2 + default: -1 diff --git a/src/modules/simulation/sensor_mag_sim/SensorMagSim.cpp b/src/modules/simulation/sensor_mag_sim/SensorMagSim.cpp index ff5e5e31aae2..97c2626f75b4 100644 --- a/src/modules/simulation/sensor_mag_sim/SensorMagSim.cpp +++ b/src/modules/simulation/sensor_mag_sim/SensorMagSim.cpp @@ -113,11 +113,11 @@ void SensorMagSim::Run() if (gpos.eph < 1000) { // magnetic field data returned by the geo library using the current GPS position - const float mag_declination_gps = get_mag_declination_radians(gpos.lat, gpos.lon); - const float mag_inclination_gps = get_mag_inclination_radians(gpos.lat, gpos.lon); - const float mag_strength_gps = get_mag_strength_gauss(gpos.lat, gpos.lon); + const float declination_rad = math::radians(get_mag_declination_degrees(gpos.lat, gpos.lon)); + const float inclination_rad = math::radians(get_mag_inclination_degrees(gpos.lat, gpos.lon)); + const float field_strength_gauss = get_mag_strength_gauss(gpos.lat, gpos.lon); - _mag_earth_pred = Dcmf(Eulerf(0, -mag_inclination_gps, mag_declination_gps)) * Vector3f(mag_strength_gps, 0, 0); + _mag_earth_pred = Dcmf(Eulerf(0, -inclination_rad, declination_rad)) * Vector3f(field_strength_gauss, 0, 0); _mag_earth_available = true; } diff --git a/src/modules/vtol_att_control/tailsitter.cpp b/src/modules/vtol_att_control/tailsitter.cpp index b16a344ca6e8..af95a05083c3 100644 --- a/src/modules/vtol_att_control/tailsitter.cpp +++ b/src/modules/vtol_att_control/tailsitter.cpp @@ -67,6 +67,10 @@ void Tailsitter::update_vtol_state() if (_vtol_vehicle_status->fixed_wing_system_failure) { // Failsafe event, switch to MC mode immediately + if (_vtol_mode != vtol_mode::MC_MODE) { + _transition_start_timestamp = hrt_absolute_time(); + } + _vtol_mode = vtol_mode::MC_MODE; } else if (!_attc->is_fixed_wing_requested()) { @@ -121,6 +125,7 @@ void Tailsitter::update_vtol_state() case vtol_mode::TRANSITION_BACK: // failsafe into fixed wing mode _vtol_mode = vtol_mode::FW_MODE; + _trans_finished_ts = hrt_absolute_time(); break; } } @@ -225,6 +230,11 @@ void Tailsitter::update_transition_state() _v_att_sp->thrust_body[2] = _mc_virtual_att_sp->thrust_body[2]; + if (_vtol_mode == vtol_mode::TRANSITION_BACK) { + const float progress = math::constrain(_time_since_trans_start / B_TRANS_THRUST_BLENDING_DURATION, 0.f, 1.f); + blendThrottleBeginningBackTransition(progress); + } + _v_att_sp->timestamp = hrt_absolute_time(); const Eulerf euler_sp(_q_trans_sp); @@ -238,7 +248,7 @@ void Tailsitter::update_transition_state() void Tailsitter::waiting_on_tecs() { // copy the last trust value from the front transition - _v_att_sp->thrust_body[0] = _thrust_transition; + _v_att_sp->thrust_body[0] = -_last_thr_in_mc; } void Tailsitter::update_fw_state() @@ -294,12 +304,27 @@ void Tailsitter::fill_actuator_outputs() _torque_setpoint_0->xyz[2] = _vehicle_torque_setpoint_virtual_fw->xyz[2] * _param_vt_fw_difthr_s_r.get(); } + // for the short period after switching to FW where there is no thrust published yet from the FW controller, + // keep publishing the last MC thrust to keep the motors running + if (hrt_elapsed_time(&_trans_finished_ts) < 50_ms) { + _thrust_setpoint_0->xyz[2] = _last_thr_in_mc; + _torque_setpoint_0->xyz[0] = 0.f; + _torque_setpoint_0->xyz[1] = 0.f; + _torque_setpoint_0->xyz[2] = 0.f; + } + } else { + _thrust_setpoint_0->xyz[2] = _vehicle_thrust_setpoint_virtual_mc->xyz[2]; + + // for the short period after starting the backtransition where there is no thrust published yet from the MC controller, + // keep publishing the last FW thrust to keep the motors running + if (_vtol_mode != vtol_mode::TRANSITION_FRONT_P1 && hrt_elapsed_time(&_transition_start_timestamp) < 50_ms) { + _thrust_setpoint_0->xyz[2] = -_last_thr_in_fw_mode; + } + _torque_setpoint_0->xyz[0] = _vehicle_torque_setpoint_virtual_mc->xyz[0]; _torque_setpoint_0->xyz[1] = _vehicle_torque_setpoint_virtual_mc->xyz[1]; _torque_setpoint_0->xyz[2] = _vehicle_torque_setpoint_virtual_mc->xyz[2]; - - _thrust_setpoint_0->xyz[2] = _vehicle_thrust_setpoint_virtual_mc->xyz[2]; } // Control surfaces @@ -330,3 +355,14 @@ bool Tailsitter::isFrontTransitionCompletedBase() return transition_to_fw; } + +void Tailsitter::blendThrottleAfterFrontTransition(float scale) +{ + // note: MC throttle is negative (as in negative z), while FW throttle is positive (positive x) + _v_att_sp->thrust_body[0] = scale * _v_att_sp->thrust_body[0] + (1.f - scale) * (-_last_thr_in_mc); +} + +void Tailsitter::blendThrottleBeginningBackTransition(float scale) +{ + _v_att_sp->thrust_body[2] = scale * _v_att_sp->thrust_body[2] + (1.f - scale) * (-_last_thr_in_fw_mode); +} diff --git a/src/modules/vtol_att_control/tailsitter.h b/src/modules/vtol_att_control/tailsitter.h index 93fa0b2491be..135acd6c92aa 100644 --- a/src/modules/vtol_att_control/tailsitter.h +++ b/src/modules/vtol_att_control/tailsitter.h @@ -54,6 +54,9 @@ static constexpr float PITCH_THRESHOLD_AUTO_TRANSITION_TO_FW = -1.05f; // -60° // [rad] Pitch threshold required for completing transition to hover in automatic transitions static constexpr float PITCH_THRESHOLD_AUTO_TRANSITION_TO_MC = -0.26f; // -15° +// [s] Thrust blending duration from fixed-wing to back transition throttle +static constexpr float B_TRANS_THRUST_BLENDING_DURATION = 0.5f; + class Tailsitter : public VtolType { @@ -66,6 +69,8 @@ class Tailsitter : public VtolType void update_fw_state() override; void fill_actuator_outputs() override; void waiting_on_tecs() override; + void blendThrottleAfterFrontTransition(float scale) override; + void blendThrottleBeginningBackTransition(float scale); private: enum class vtol_mode { diff --git a/src/modules/vtol_att_control/vtol_type.cpp b/src/modules/vtol_att_control/vtol_type.cpp index 1d6f5b667a5c..e43dd7c912ad 100644 --- a/src/modules/vtol_att_control/vtol_type.cpp +++ b/src/modules/vtol_att_control/vtol_type.cpp @@ -164,6 +164,8 @@ void VtolType::update_transition_state() _time_since_trans_start = (float)(t_now - _transition_start_timestamp) * 1e-6f; check_quadchute_condition(); + + _last_thr_in_mc = _vehicle_thrust_setpoint_virtual_mc->xyz[2]; } float VtolType::update_and_get_backtransition_pitch_sp() diff --git a/src/modules/vtol_att_control/vtol_type.h b/src/modules/vtol_att_control/vtol_type.h index 78d078b5c8d8..8f9ae9ef3861 100644 --- a/src/modules/vtol_att_control/vtol_type.h +++ b/src/modules/vtol_att_control/vtol_type.h @@ -299,6 +299,7 @@ class VtolType : public ModuleParams // motors spinning up or cutting too fast when doing transitions. float _thrust_transition = 0.0f; // thrust value applied during a front transition (tailsitter & tiltrotor only) float _last_thr_in_fw_mode = 0.0f; + float _last_thr_in_mc = 0.f; hrt_abstime _trans_finished_ts = 0; hrt_abstime _transition_start_timestamp{0}; diff --git a/src/systemcmds/netman/Kconfig b/src/systemcmds/netman/Kconfig index 60fa395f45ac..6502969ddf8a 100644 --- a/src/systemcmds/netman/Kconfig +++ b/src/systemcmds/netman/Kconfig @@ -14,8 +14,8 @@ menuconfig USER_NETMAN config NETMAN_FALLBACK_IPADDR hex "Fallback IPv4 address" - default 0XC0A80003 + default 0xA290A02 depends on SYSTEMCMDS_NETMAN ---help--- If NETINIT_DHCPC is set, getting an IP from DHCP server is first attempted. - If this fails, this IP address is used as a static fallback. + If this fails, this IP address is used as a static fallback (default=10.41.10.2).