From 1890e97fe9bf81f569c090d93e72fe1fbd197aa5 Mon Sep 17 00:00:00 2001 From: Nikodem Eluszkiewicz Date: Fri, 27 Mar 2026 22:58:29 +0100 Subject: [PATCH 1/7] feat: add CPU TurboQuant KV cache types --- common/arg.cpp | 4 + ggml/include/ggml.h | 10 +- ggml/src/CMakeLists.txt | 3 + ggml/src/ggml-common.h | 34 ++ ggml/src/ggml-cpu/arch-fallback.h | 24 + ggml/src/ggml-cpu/ggml-cpu.c | 24 + ggml/src/ggml-cpu/ops.cpp | 78 ++- ggml/src/ggml-cpu/quants.c | 152 +++++ ggml/src/ggml-cpu/quants.h | 15 + ggml/src/ggml-quants.c | 25 + ggml/src/ggml-quants.h | 18 + ggml/src/ggml-turboq-tables.h | 35 ++ ggml/src/ggml-turboq.c | 912 ++++++++++++++++++++++++++++++ ggml/src/ggml-turboq.h | 21 + ggml/src/ggml.c | 40 ++ include/llama.h | 4 + src/llama-graph.cpp | 37 +- src/llama-kv-cache.cpp | 18 + src/llama-quant.cpp | 16 +- tests/test-backend-ops.cpp | 36 ++ tests/test-quantize-fns.cpp | 116 ++++ tools/cli/README.md | 8 +- tools/completion/README.md | 8 +- tools/llama-bench/llama-bench.cpp | 12 + tools/quantize/quantize.cpp | 4 + tools/server/README.md | 8 +- 26 files changed, 1642 insertions(+), 20 deletions(-) create mode 100644 ggml/src/ggml-turboq-tables.h create mode 100644 ggml/src/ggml-turboq.c create mode 100644 ggml/src/ggml-turboq.h diff --git a/common/arg.cpp b/common/arg.cpp index 2e0f46db5191..c291588a9104 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -387,6 +387,10 @@ const std::vector kv_cache_types = { GGML_TYPE_IQ4_NL, GGML_TYPE_Q5_0, GGML_TYPE_Q5_1, + GGML_TYPE_TBQ3_0, + GGML_TYPE_TBQ4_0, + GGML_TYPE_TBQP3_0, + GGML_TYPE_TBQP4_0, }; static ggml_type kv_cache_type_from_str(const std::string & s) { diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index 11d3e8a81671..0e2a259b8cd1 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -429,7 +429,11 @@ extern "C" { GGML_TYPE_MXFP4 = 39, // MXFP4 (1 block) GGML_TYPE_NVFP4 = 40, // NVFP4 (4 blocks, E4M3 scale) GGML_TYPE_Q1_0 = 41, - GGML_TYPE_COUNT = 42, + GGML_TYPE_TBQ3_0 = 42, // TurboQuant 3-bit + GGML_TYPE_TBQ4_0 = 43, // TurboQuant 4-bit + GGML_TYPE_TBQP3_0 = 44, // TurboQuant Q_prod 3-bit + GGML_TYPE_TBQP4_0 = 45, // TurboQuant Q_prod 4-bit + GGML_TYPE_COUNT = 46, }; // precision @@ -467,6 +471,10 @@ extern "C" { GGML_FTYPE_MOSTLY_MXFP4 = 25, // except 1d tensors GGML_FTYPE_MOSTLY_NVFP4 = 26, // except 1d tensors GGML_FTYPE_MOSTLY_Q1_0 = 27, // except 1d tensors + GGML_FTYPE_MOSTLY_TBQ3_0 = 28, // except 1d tensors + GGML_FTYPE_MOSTLY_TBQ4_0 = 29, // except 1d tensors + GGML_FTYPE_MOSTLY_TBQP3_0 = 30, // except 1d tensors + GGML_FTYPE_MOSTLY_TBQP4_0 = 31, // except 1d tensors }; // available tensor operations: diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 78853304d9f0..46bdfa0d9305 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -205,6 +205,9 @@ add_library(ggml-base ggml-threading.h ggml-quants.c ggml-quants.h + ggml-turboq.c + ggml-turboq.h + ggml-turboq-tables.h gguf.cpp) set_target_properties(ggml-base PROPERTIES diff --git a/ggml/src/ggml-common.h b/ggml/src/ggml-common.h index f05683b44cd9..3ce12a3f040d 100644 --- a/ggml/src/ggml-common.h +++ b/ggml/src/ggml-common.h @@ -277,6 +277,40 @@ typedef struct { } block_tq2_0; static_assert(sizeof(block_tq2_0) == sizeof(ggml_half) + QK_K / 4, "wrong tq2_0 block size/padding"); +// TurboQuant blocks + +// 3.0625 bpw +typedef struct { + uint8_t qs[QK_K * 3 / 8]; + ggml_half d; +} block_tbq3_0; +static_assert(sizeof(block_tbq3_0) == sizeof(ggml_half) + QK_K * 3 / 8, "wrong tbq3_0 block size/padding"); + +// 4.0625 bpw +typedef struct { + uint8_t qs[QK_K / 2]; + ggml_half d; +} block_tbq4_0; +static_assert(sizeof(block_tbq4_0) == sizeof(ggml_half) + QK_K / 2, "wrong tbq4_0 block size/padding"); + +// 3.125 bpw +typedef struct { + uint8_t qs[QK_K / 4]; + uint8_t signs[QK_K / 8]; + ggml_half d; + ggml_half gamma; +} block_tbqp3_0; +static_assert(sizeof(block_tbqp3_0) == 2*sizeof(ggml_half) + QK_K / 4 + QK_K / 8, "wrong tbqp3_0 block size/padding"); + +// 4.125 bpw +typedef struct { + uint8_t qs[QK_K * 3 / 8]; + uint8_t signs[QK_K / 8]; + ggml_half d; + ggml_half gamma; +} block_tbqp4_0; +static_assert(sizeof(block_tbqp4_0) == 2*sizeof(ggml_half) + QK_K * 3 / 8 + QK_K / 8, "wrong tbqp4_0 block size/padding"); + // // Super-block quantization structures // diff --git a/ggml/src/ggml-cpu/arch-fallback.h b/ggml/src/ggml-cpu/arch-fallback.h index c589a213e9d4..e74399befcf3 100644 --- a/ggml/src/ggml-cpu/arch-fallback.h +++ b/ggml/src/ggml-cpu/arch-fallback.h @@ -19,6 +19,10 @@ #define ggml_vec_dot_q1_0_q8_0_generic ggml_vec_dot_q1_0_q8_0 #define ggml_vec_dot_tq1_0_q8_K_generic ggml_vec_dot_tq1_0_q8_K #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K +#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K +#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_q2_K_q8_K_generic ggml_vec_dot_q2_K_q8_K #define ggml_vec_dot_q3_K_q8_K_generic ggml_vec_dot_q3_K_q8_K #define ggml_vec_dot_q4_K_q8_K_generic ggml_vec_dot_q4_K_q8_K @@ -84,6 +88,10 @@ // quants.c #define ggml_vec_dot_nvfp4_q8_0_generic ggml_vec_dot_nvfp4_q8_0 #define ggml_vec_dot_q1_0_q8_0_generic ggml_vec_dot_q1_0_q8_0 +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K +#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K +#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K // repack.cpp #define ggml_quantize_mat_q8_0_4x4_generic ggml_quantize_mat_q8_0_4x4 #define ggml_quantize_mat_q8_K_4x4_generic ggml_quantize_mat_q8_K_4x4 @@ -117,6 +125,10 @@ #define ggml_vec_dot_q1_0_q8_0_generic ggml_vec_dot_q1_0_q8_0 #define ggml_vec_dot_tq1_0_q8_K_generic ggml_vec_dot_tq1_0_q8_K #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K +#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K +#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_iq1_m_q8_K_generic ggml_vec_dot_iq1_m_q8_K // repack.cpp #define ggml_quantize_mat_q8_0_4x4_generic ggml_quantize_mat_q8_0_4x4 @@ -160,6 +172,10 @@ #define quantize_row_q8_K_generic quantize_row_q8_K #define ggml_vec_dot_tq1_0_q8_K_generic ggml_vec_dot_tq1_0_q8_K #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K +#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K +#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_iq1_m_q8_K_generic ggml_vec_dot_iq1_m_q8_K #define ggml_vec_dot_mxfp4_q8_0_generic ggml_vec_dot_mxfp4_q8_0 #define ggml_vec_dot_nvfp4_q8_0_generic ggml_vec_dot_nvfp4_q8_0 @@ -248,6 +264,10 @@ #define ggml_vec_dot_q1_0_q8_0_generic ggml_vec_dot_q1_0_q8_0 #define ggml_vec_dot_tq1_0_q8_K_generic ggml_vec_dot_tq1_0_q8_K #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K +#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K +#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_q2_K_q8_K_generic ggml_vec_dot_q2_K_q8_K #define ggml_vec_dot_iq2_xxs_q8_K_generic ggml_vec_dot_iq2_xxs_q8_K #define ggml_vec_dot_iq2_xs_q8_K_generic ggml_vec_dot_iq2_xs_q8_K @@ -298,6 +318,10 @@ #define ggml_vec_dot_q4_1_q8_1_generic ggml_vec_dot_q4_1_q8_1 #define ggml_vec_dot_tq1_0_q8_K_generic ggml_vec_dot_tq1_0_q8_K #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K +#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K +#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_iq2_xxs_q8_K_generic ggml_vec_dot_iq2_xxs_q8_K #define ggml_vec_dot_iq2_xs_q8_K_generic ggml_vec_dot_iq2_xs_q8_K #define ggml_vec_dot_iq2_s_q8_K_generic ggml_vec_dot_iq2_s_q8_K diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index 2b3eb5b5ce65..a979d7b7a41a 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -396,6 +396,30 @@ static const struct ggml_type_traits_cpu type_traits_cpu[GGML_TYPE_COUNT] = { .vec_dot_type = GGML_TYPE_Q8_K, .nrows = 1, }, + [GGML_TYPE_TBQ3_0] = { + .from_float = quantize_row_tbq3_0, + .vec_dot = ggml_vec_dot_tbq3_0_q8_K, + .vec_dot_type = GGML_TYPE_Q8_K, + .nrows = 1, + }, + [GGML_TYPE_TBQ4_0] = { + .from_float = quantize_row_tbq4_0, + .vec_dot = ggml_vec_dot_tbq4_0_q8_K, + .vec_dot_type = GGML_TYPE_Q8_K, + .nrows = 1, + }, + [GGML_TYPE_TBQP3_0] = { + .from_float = quantize_row_tbqp3_0, + .vec_dot = ggml_vec_dot_tbqp3_0_q8_K, + .vec_dot_type = GGML_TYPE_Q8_K, + .nrows = 1, + }, + [GGML_TYPE_TBQP4_0] = { + .from_float = quantize_row_tbqp4_0, + .vec_dot = ggml_vec_dot_tbqp4_0_q8_K, + .vec_dot_type = GGML_TYPE_Q8_K, + .nrows = 1, + }, [GGML_TYPE_I32] = { .from_float = (ggml_from_float_t) ggml_cpu_fp32_to_i32, }, diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index 0b5d6c6df887..3a12eb011555 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -11,6 +11,7 @@ #include #include #include +#include // ggml_compute_forward_dup @@ -472,6 +473,33 @@ static void ggml_compute_forward_dup_bytes( } } +template +static inline void ggml_dup_from_float_row(const float * src, dst_t * dst, int64_t n) { + for (int64_t i = 0; i < n; ++i) { + dst[i] = (dst_t) src[i]; + } +} + +template<> +inline void ggml_dup_from_float_row(const float * src, float * dst, int64_t n) { + ggml_vec_cpy_f32(n, dst, src); +} + +template<> +inline void ggml_dup_from_float_row(const float * src, ggml_fp16_t * dst, int64_t n) { + for (int64_t i = 0; i < n; ++i) { + dst[i] = GGML_CPU_FP32_TO_FP16(src[i]); + } +} + +template<> +inline void ggml_dup_from_float_row(const float * src, ggml_bf16_t * dst, int64_t n) { + for (int64_t i = 0; i < n; ++i) { + dst[i] = GGML_FP32_TO_BF16(src[i]); + } +} + +template static void ggml_compute_forward_dup_from_q( const ggml_compute_params * params, ggml_tensor * dst) { @@ -501,6 +529,8 @@ static void ggml_compute_forward_dup_from_q( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); + std::vector tmp(qk); + for (int64_t ir = ir0; ir < ir1; ++ir) { uint32_t i = ir * qk; @@ -519,7 +549,9 @@ static void ggml_compute_forward_dup_from_q( dequantize_row_q( (const void *) ((char *) src0->data + x_offset), - (float *) ((char *) dst->data + dst_offset), qk); + tmp.data(), qk); + + ggml_dup_from_float_row(tmp.data(), (dst_t *) ((char *) dst->data + dst_offset), qk); } } @@ -564,9 +596,19 @@ void ggml_compute_forward_dup( } break; default: { - if (ggml_is_quantized(src0->type) && dst->type == GGML_TYPE_F32) { - ggml_compute_forward_dup_from_q(params, dst); - break; + if (ggml_is_quantized(src0->type)) { + if (dst->type == GGML_TYPE_F32) { + ggml_compute_forward_dup_from_q(params, dst); + break; + } + if (dst->type == GGML_TYPE_F16) { + ggml_compute_forward_dup_from_q(params, dst); + break; + } + if (dst->type == GGML_TYPE_BF16) { + ggml_compute_forward_dup_from_q(params, dst); + break; + } } GGML_ABORT("fatal error"); } @@ -678,6 +720,10 @@ void ggml_compute_forward_add( case GGML_TYPE_Q6_K: case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -1128,6 +1174,10 @@ void ggml_compute_forward_add1( case GGML_TYPE_Q6_K: case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -1257,6 +1307,10 @@ void ggml_compute_forward_acc( case GGML_TYPE_Q6_K: case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -4345,6 +4399,10 @@ void ggml_compute_forward_out_prod( case GGML_TYPE_Q6_K: case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -4621,6 +4679,10 @@ void ggml_compute_forward_set( case GGML_TYPE_Q6_K: case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -4845,6 +4907,10 @@ void ggml_compute_forward_get_rows( case GGML_TYPE_Q6_K: case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -5571,6 +5637,10 @@ void ggml_compute_forward_clamp( case GGML_TYPE_Q6_K: case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: diff --git a/ggml/src/ggml-cpu/quants.c b/ggml/src/ggml-cpu/quants.c index f66127c22909..0efc8ad14bf6 100644 --- a/ggml/src/ggml-cpu/quants.c +++ b/ggml/src/ggml-cpu/quants.c @@ -112,6 +112,30 @@ void quantize_row_tq2_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, quantize_row_tq2_0_ref(x, y, k); } +void quantize_row_tbq3_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k) { + assert(k % QK_K == 0); + block_tbq3_0 * GGML_RESTRICT y = vy; + quantize_row_tbq3_0_ref(x, y, k); +} + +void quantize_row_tbq4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k) { + assert(k % QK_K == 0); + block_tbq4_0 * GGML_RESTRICT y = vy; + quantize_row_tbq4_0_ref(x, y, k); +} + +void quantize_row_tbqp3_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k) { + assert(k % QK_K == 0); + block_tbqp3_0 * GGML_RESTRICT y = vy; + quantize_row_tbqp3_0_ref(x, y, k); +} + +void quantize_row_tbqp4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k) { + assert(k % QK_K == 0); + block_tbqp4_0 * GGML_RESTRICT y = vy; + quantize_row_tbqp4_0_ref(x, y, k); +} + //===================================== Q8_K ============================================== void quantize_row_q8_K_generic(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k) { @@ -505,6 +529,134 @@ void ggml_vec_dot_tq2_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, *s = sumf; } +// TurboQuant vec_dot falls back to dequantize-then-dot on CPU. + +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) +#define TURBOQ_VD_TL _Thread_local +#elif defined(__GNUC__) || defined(__clang__) +#define TURBOQ_VD_TL __thread +#elif defined(_MSC_VER) +#define TURBOQ_VD_TL __declspec(thread) +#else +#define TURBOQ_VD_TL +#endif + +static TURBOQ_VD_TL float * tbq_vd_buf = NULL; +static TURBOQ_VD_TL int64_t tbq_vd_buf_size = 0; + +static float * tbq_vd_get_scratch(int64_t n) { + if (n > tbq_vd_buf_size) { + free(tbq_vd_buf); + tbq_vd_buf = (float *)malloc(n * sizeof(float)); + tbq_vd_buf_size = n; + } + return tbq_vd_buf; +} + +void ggml_vec_dot_tbq3_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { + assert(nrc == 1); + UNUSED(nrc); + UNUSED(bx); + UNUSED(by); + UNUSED(bs); + + float * tmp = tbq_vd_get_scratch(n); + dequantize_row_tbq3_0((const block_tbq3_0 *)vx, tmp, n); + + const block_q8_K * GGML_RESTRICT y = vy; + const int nb = n / QK_K; + + float sumf = 0.0f; + int64_t idx = 0; + for (int i = 0; i < nb; i++) { + const float d = y[i].d; + for (int j = 0; j < QK_K; j++) { + sumf += tmp[idx] * (d * y[i].qs[j]); + idx++; + } + } + + *s = sumf; +} + +void ggml_vec_dot_tbq4_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { + assert(nrc == 1); + UNUSED(nrc); + UNUSED(bx); + UNUSED(by); + UNUSED(bs); + + float * tmp = tbq_vd_get_scratch(n); + dequantize_row_tbq4_0((const block_tbq4_0 *)vx, tmp, n); + + const block_q8_K * GGML_RESTRICT y = vy; + const int nb = n / QK_K; + + float sumf = 0.0f; + int64_t idx = 0; + for (int i = 0; i < nb; i++) { + const float d = y[i].d; + for (int j = 0; j < QK_K; j++) { + sumf += tmp[idx] * (d * y[i].qs[j]); + idx++; + } + } + + *s = sumf; +} + +void ggml_vec_dot_tbqp3_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { + assert(nrc == 1); + UNUSED(nrc); + UNUSED(bx); + UNUSED(by); + UNUSED(bs); + + float * tmp = tbq_vd_get_scratch(n); + dequantize_row_tbqp3_0((const block_tbqp3_0 *)vx, tmp, n); + + const block_q8_K * GGML_RESTRICT y = vy; + const int nb = n / QK_K; + + float sumf = 0.0f; + int64_t idx = 0; + for (int i = 0; i < nb; i++) { + const float d = y[i].d; + for (int j = 0; j < QK_K; j++) { + sumf += tmp[idx] * (d * y[i].qs[j]); + idx++; + } + } + + *s = sumf; +} + +void ggml_vec_dot_tbqp4_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { + assert(nrc == 1); + UNUSED(nrc); + UNUSED(bx); + UNUSED(by); + UNUSED(bs); + + float * tmp = tbq_vd_get_scratch(n); + dequantize_row_tbqp4_0((const block_tbqp4_0 *)vx, tmp, n); + + const block_q8_K * GGML_RESTRICT y = vy; + const int nb = n / QK_K; + + float sumf = 0.0f; + int64_t idx = 0; + for (int i = 0; i < nb; i++) { + const float d = y[i].d; + for (int j = 0; j < QK_K; j++) { + sumf += tmp[idx] * (d * y[i].qs[j]); + idx++; + } + } + + *s = sumf; +} + void ggml_vec_dot_q2_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { assert(nrc == 1); UNUSED(nrc); diff --git a/ggml/src/ggml-cpu/quants.h b/ggml/src/ggml-cpu/quants.h index d4bc87a1c052..63f1c8b40018 100644 --- a/ggml/src/ggml-cpu/quants.h +++ b/ggml/src/ggml-cpu/quants.h @@ -33,6 +33,12 @@ void quantize_row_q8_K(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, in void quantize_row_tq1_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); void quantize_row_tq2_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); +void quantize_row_tbq3_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); +void quantize_row_tbq4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); + +void quantize_row_tbqp3_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); +void quantize_row_tbqp4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); + void quantize_row_iq4_nl (const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); void quantize_row_iq4_xs (const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); @@ -56,6 +62,12 @@ void ggml_vec_dot_q6_K_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const voi void ggml_vec_dot_tq1_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_tq2_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); +void ggml_vec_dot_tbq3_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); +void ggml_vec_dot_tbq4_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); + +void ggml_vec_dot_tbqp3_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); +void ggml_vec_dot_tbqp4_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); + void ggml_vec_dot_iq2_xxs_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_iq2_xs_q8_K (int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_iq2_s_q8_K (int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); @@ -83,6 +95,9 @@ void ggml_vec_dot_nvfp4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, void ggml_vec_dot_tq1_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_tq2_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); +void ggml_vec_dot_tbqp3_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); +void ggml_vec_dot_tbqp4_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); + void ggml_vec_dot_q2_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_q3_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_q4_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); diff --git a/ggml/src/ggml-quants.c b/ggml/src/ggml-quants.c index 15443aa554a4..82c767edaaf2 100644 --- a/ggml/src/ggml-quants.c +++ b/ggml/src/ggml-quants.c @@ -5474,6 +5474,31 @@ bool ggml_validate_row_data(enum ggml_type type, const void * data, size_t nbyte VALIDATE_ROW_DATA_D_F16_IMPL(block_iq4_nl, data, nb); } break; + case GGML_TYPE_TBQ3_0: + { + VALIDATE_ROW_DATA_D_F16_IMPL(block_tbq3_0, data, nb); + } break; + case GGML_TYPE_TBQ4_0: + { + VALIDATE_ROW_DATA_D_F16_IMPL(block_tbq4_0, data, nb); + } break; + case GGML_TYPE_TBQP3_0: + { + const block_tbqp3_0 * q = (const block_tbqp3_0 *) data; + for (size_t i = 0; i < nb; ++i) { + if (!validate_fp16(q[i].d, i)) return false; + if (!validate_fp16(q[i].gamma, i)) return false; + } + } break; + case GGML_TYPE_TBQP4_0: + { + const block_tbqp4_0 * q = (const block_tbqp4_0 *) data; + for (size_t i = 0; i < nb; ++i) { + if (!validate_fp16(q[i].d, i)) return false; + if (!validate_fp16(q[i].gamma, i)) return false; + } + } break; + case GGML_TYPE_I8: case GGML_TYPE_I16: case GGML_TYPE_I32: diff --git a/ggml/src/ggml-quants.h b/ggml/src/ggml-quants.h index d56c86da8909..57c023348add 100644 --- a/ggml/src/ggml-quants.h +++ b/ggml/src/ggml-quants.h @@ -35,6 +35,12 @@ GGML_API void quantize_row_q8_K_ref(const float * GGML_RESTRICT x, block_q8_K * GGML_API void quantize_row_tq1_0_ref(const float * GGML_RESTRICT x, block_tq1_0 * GGML_RESTRICT y, int64_t k); GGML_API void quantize_row_tq2_0_ref(const float * GGML_RESTRICT x, block_tq2_0 * GGML_RESTRICT y, int64_t k); +GGML_API void quantize_row_tbq3_0_ref(const float * GGML_RESTRICT x, block_tbq3_0 * GGML_RESTRICT y, int64_t k); +GGML_API void quantize_row_tbq4_0_ref(const float * GGML_RESTRICT x, block_tbq4_0 * GGML_RESTRICT y, int64_t k); + +GGML_API void quantize_row_tbqp3_0_ref(const float * GGML_RESTRICT x, block_tbqp3_0 * GGML_RESTRICT y, int64_t k); +GGML_API void quantize_row_tbqp4_0_ref(const float * GGML_RESTRICT x, block_tbqp4_0 * GGML_RESTRICT y, int64_t k); + GGML_API void quantize_row_iq3_xxs_ref(const float * GGML_RESTRICT x, block_iq3_xxs * GGML_RESTRICT y, int64_t k); GGML_API void quantize_row_iq4_nl_ref (const float * GGML_RESTRICT x, block_iq4_nl * GGML_RESTRICT y, int64_t k); GGML_API void quantize_row_iq4_xs_ref (const float * GGML_RESTRICT x, block_iq4_xs * GGML_RESTRICT y, int64_t k); @@ -63,6 +69,12 @@ GGML_API void dequantize_row_q8_K(const block_q8_K * GGML_RESTRICT x, float * GG GGML_API void dequantize_row_tq1_0(const block_tq1_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); GGML_API void dequantize_row_tq2_0(const block_tq2_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); +GGML_API void dequantize_row_tbq3_0(const block_tbq3_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); +GGML_API void dequantize_row_tbq4_0(const block_tbq4_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); + +GGML_API void dequantize_row_tbqp3_0(const block_tbqp3_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); +GGML_API void dequantize_row_tbqp4_0(const block_tbqp4_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); + GGML_API void dequantize_row_iq2_xxs(const block_iq2_xxs * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); GGML_API void dequantize_row_iq2_xs (const block_iq2_xs * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); GGML_API void dequantize_row_iq2_s (const block_iq2_s * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); @@ -87,6 +99,12 @@ GGML_API size_t quantize_iq3_s (const float * GGML_RESTRICT src, void * GGML_RE GGML_API size_t quantize_tq1_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); GGML_API size_t quantize_tq2_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); +GGML_API size_t quantize_tbq3_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); +GGML_API size_t quantize_tbq4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); + +GGML_API size_t quantize_tbqp3_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); +GGML_API size_t quantize_tbqp4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); + GGML_API size_t quantize_q2_K(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); GGML_API size_t quantize_q3_K(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); GGML_API size_t quantize_q4_K(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); diff --git a/ggml/src/ggml-turboq-tables.h b/ggml/src/ggml-turboq-tables.h new file mode 100644 index 000000000000..5524e039f106 --- /dev/null +++ b/ggml/src/ggml-turboq-tables.h @@ -0,0 +1,35 @@ +#pragma once + +// Lloyd-Max codebooks for the TurboQuant CPU path. + +static const float turboq_codebook_2bit[4] = { + -1.5104f, -0.4528f, 0.4528f, 1.5104f, +}; + +static const float turboq_codebook_3bit[8] = { + -2.1520f, -1.3440f, -0.7560f, -0.2451f, + 0.2451f, 0.7560f, 1.3440f, 2.1520f, +}; + +static const float turboq_codebook_4bit[16] = { + -2.7326f, -2.0690f, -1.6180f, -1.2562f, + -0.9424f, -0.6568f, -0.3881f, -0.1284f, + 0.1284f, 0.3881f, 0.6568f, 0.9424f, + 1.2562f, 1.6180f, 2.0690f, 2.7326f, +}; + +static const float turboq_boundaries_2bit[3] = { + -0.9816f, 0.0000f, 0.9816f, +}; + +static const float turboq_boundaries_3bit[7] = { + -1.7480f, -1.0500f, -0.5006f, 0.0000f, + 0.5006f, 1.0500f, 1.7480f, +}; + +static const float turboq_boundaries_4bit[15] = { + -2.4008f, -1.8435f, -1.4371f, -1.0993f, + -0.7996f, -0.5225f, -0.2583f, 0.0000f, + 0.2583f, 0.5225f, 0.7996f, 1.0993f, + 1.4371f, 1.8435f, 2.4008f, +}; diff --git a/ggml/src/ggml-turboq.c b/ggml/src/ggml-turboq.c new file mode 100644 index 000000000000..becc7b2a4489 --- /dev/null +++ b/ggml/src/ggml-turboq.c @@ -0,0 +1,912 @@ +// TurboQuant reference helpers for the CPU path. + +#define GGML_COMMON_IMPL_C +#include "ggml-common.h" + +#include "ggml-turboq.h" +#include "ggml-turboq-tables.h" +#include "ggml-quants.h" +#include "ggml-impl.h" +#include "ggml.h" + +#include +#include +#include +#include + +#if defined(__AVX2__) +#include +#endif + +#if defined(__GNUC__) || defined(__clang__) +#define TURBOQ_TLS __thread +#elif defined(_MSC_VER) +#define TURBOQ_TLS __declspec(thread) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) +#define TURBOQ_TLS _Thread_local +#else +#define TURBOQ_TLS +#endif + +static inline uint64_t splitmix64_next(uint64_t * state) { + uint64_t z = (*state += 0x9e3779b97f4a7c15ULL); + z = (z ^ (z >> 30)) * 0xbf58476d1ce4e5b9ULL; + z = (z ^ (z >> 27)) * 0x94d049bb133111ebULL; + return z ^ (z >> 31); +} + +static void turboq_generate_gaussian(float * out, int64_t n, uint64_t seed) { + uint64_t state = seed; + int64_t i = 0; + for (; i + 1 < n; i += 2) { + // Generate two uniform (0,1) variates + double u1 = ((double)(splitmix64_next(&state) >> 11) + 0.5) / (double)(1ULL << 53); + double u2 = ((double)(splitmix64_next(&state) >> 11) + 0.5) / (double)(1ULL << 53); + double r = sqrt(-2.0 * log(u1)); + double th = 2.0 * 3.14159265358979323846 * u2; + out[i] = (float)(r * cos(th)); + out[i + 1] = (float)(r * sin(th)); + } + if (i < n) { + double u1 = ((double)(splitmix64_next(&state) >> 11) + 0.5) / (double)(1ULL << 53); + double u2 = ((double)(splitmix64_next(&state) >> 11) + 0.5) / (double)(1ULL << 53); + double r = sqrt(-2.0 * log(u1)); + double th = 2.0 * 3.14159265358979323846 * u2; + out[i] = (float)(r * cos(th)); + } +} + +// --------------------------------------------------------------------------- +// Householder QR decomposition (in-place, no LAPACK dependency) +// +// Input: A[d*d] stored column-major (A[i + j*d] = A_{i,j}) +// Output: Q[d*d] column-major orthogonal matrix, with Haar sign correction +// +// Uses Householder reflections: Q = H_1 * H_2 * ... * H_d where +// H_k = I - 2 * v_k * v_k^T / (v_k^T * v_k) +// --------------------------------------------------------------------------- + +// Compute Q from Householder QR of column-major matrix A[d×d]. +// A is modified in-place (becomes R on upper triangle, v below diagonal). +// Q is written to Q_out[d×d] column-major. +// Applies Haar sign correction: Q[:,j] *= sign(R[j,j]) so that Q is +// uniformly distributed on O(d) (Haar measure). +static void turboq_householder_qr(float * A, float * Q_out, int64_t d) { + float * tau = (float *)malloc(d * sizeof(float)); + // Store sign(R[k,k]) = -sign(alpha_k) for Haar correction + float * r_sign = (float *)malloc(d * sizeof(float)); + + for (int64_t k = 0; k < d; k++) { + // Compute norm of A[k:d, k] + float norm_sq = 0.0f; + for (int64_t i = k; i < d; i++) { + float val = A[i + k * d]; + norm_sq += val * val; + } + float norm = sqrtf(norm_sq); + + // Choose sign to avoid cancellation + float alpha = A[k + k * d]; + float sign_alpha = (alpha >= 0.0f) ? 1.0f : -1.0f; + float u1 = alpha + sign_alpha * norm; + + // R[k,k] = -sign(alpha) * norm, so sign(R[k,k]) = -sign(alpha) + r_sign[k] = -sign_alpha; + + // Compute tau = 2 / (v^T v) + float vtv = u1 * u1 + (norm_sq - alpha * alpha); + if (vtv < 1e-30f) { + tau[k] = 0.0f; + continue; + } + tau[k] = 2.0f / vtv; + + // Store v in A[k:d, k] + A[k + k * d] = u1; + + // Apply H_k to remaining columns A[k:d, k+1:d] + for (int64_t j = k + 1; j < d; j++) { + float dot = 0.0f; + dot += u1 * A[k + j * d]; + for (int64_t i = k + 1; i < d; i++) { + dot += A[i + k * d] * A[i + j * d]; + } + dot *= tau[k]; + A[k + j * d] -= dot * u1; + for (int64_t i = k + 1; i < d; i++) { + A[i + j * d] -= dot * A[i + k * d]; + } + } + } + + // Build Q by back-accumulation: Q = H_1 * H_2 * ... * H_{d-1} + memset(Q_out, 0, d * d * sizeof(float)); + for (int64_t i = 0; i < d; i++) { + Q_out[i + i * d] = 1.0f; + } + + for (int64_t k = d - 1; k >= 0; k--) { + if (tau[k] == 0.0f) continue; + float u1 = A[k + k * d]; + for (int64_t j = 0; j < d; j++) { + float dot = 0.0f; + dot += u1 * Q_out[k + j * d]; + for (int64_t i = k + 1; i < d; i++) { + dot += A[i + k * d] * Q_out[i + j * d]; + } + dot *= tau[k]; + Q_out[k + j * d] -= dot * u1; + for (int64_t i = k + 1; i < d; i++) { + Q_out[i + j * d] -= dot * A[i + k * d]; + } + } + } + + // Haar sign correction: Q[:,j] *= sign(R[j,j]) + // This ensures Q is uniformly distributed on O(d), not just SO(d). + // Reference: Mezzadri (2007), "How to Generate Random Matrices from the Classical Compact Groups" + for (int64_t j = 0; j < d; j++) { + if (r_sign[j] < 0.0f) { + for (int64_t i = 0; i < d; i++) { + Q_out[i + j * d] = -Q_out[i + j * d]; + } + } + } + + free(tau); + free(r_sign); +} + +// --------------------------------------------------------------------------- +// Rotation matrix cache +// +// For a given (dimension, seed) pair, generate and cache the d×d orthogonal Q. +// The cache is thread-local to avoid locks. In practice, all rows of a weight +// matrix share the same dimension, so the cache hit rate is ~100%. +// --------------------------------------------------------------------------- + +static TURBOQ_TLS float * tl_Q = NULL; +static TURBOQ_TLS float * tl_Q_row = NULL; +static TURBOQ_TLS int64_t tl_Q_dim = 0; +static TURBOQ_TLS uint64_t tl_Q_seed = 0; + +static const float * turboq_get_rotation(int64_t d, uint64_t seed) { + if (tl_Q != NULL && tl_Q_dim == d && tl_Q_seed == seed) { + return tl_Q; + } + // Regenerate + free(tl_Q); + free(tl_Q_row); + tl_Q = (float *)malloc(d * d * sizeof(float)); + tl_Q_row = (float *)malloc(d * d * sizeof(float)); + tl_Q_dim = d; + tl_Q_seed = seed; + + // Generate d×d Gaussian random matrix (column-major) + float * A = (float *)malloc(d * d * sizeof(float)); + turboq_generate_gaussian(A, d * d, seed); + + // Compute QR, store Q in tl_Q + turboq_householder_qr(A, tl_Q, d); + + for (int64_t i = 0; i < d; ++i) { + for (int64_t j = 0; j < d; ++j) { + tl_Q_row[i * d + j] = tl_Q[i + j * d]; + } + } + + free(A); + return tl_Q; +} + +static const float * turboq_get_rotation_row(int64_t d, uint64_t seed) { + turboq_get_rotation(d, seed); + return tl_Q_row; +} + +// --------------------------------------------------------------------------- +// Projection matrix cache (for Q_prod QJL stage) +// +// S is a d×d random Gaussian matrix (NOT orthogonalized), used for QJL: +// qjl_signs = sign(S · residual) +// dequant: sqrt(pi/2)/d · gamma · S^T · signs +// Uses a different seed stream from the rotation matrix Q. +// --------------------------------------------------------------------------- + +static TURBOQ_TLS float * tl_S = NULL; +static TURBOQ_TLS float * tl_S_row = NULL; +static TURBOQ_TLS int64_t tl_S_dim = 0; +static TURBOQ_TLS uint64_t tl_S_seed = 0; + +static const float * turboq_get_projection(int64_t d, uint64_t seed) { + // Use a different seed stream for S vs Q + uint64_t s_seed = seed ^ 0x1234567890abcdefULL; + if (tl_S != NULL && tl_S_dim == d && tl_S_seed == s_seed) { + return tl_S; + } + free(tl_S); + free(tl_S_row); + tl_S = (float *)malloc(d * d * sizeof(float)); + tl_S_row = (float *)malloc(d * d * sizeof(float)); + tl_S_dim = d; + tl_S_seed = s_seed; + + // Generate d×d Gaussian random matrix (column-major), no QR + turboq_generate_gaussian(tl_S, d * d, s_seed); + + for (int64_t i = 0; i < d; ++i) { + for (int64_t j = 0; j < d; ++j) { + tl_S_row[i * d + j] = tl_S[i + j * d]; + } + } + + return tl_S; +} + +static const float * turboq_get_projection_row(int64_t d, uint64_t seed) { + turboq_get_projection(d, seed); + return tl_S_row; +} + +// --------------------------------------------------------------------------- +// Dense matrix-vector multiply: y = M * x (M is d×d column-major) +// --------------------------------------------------------------------------- + +static void matvec(float * y, const float * M, const float * x, int64_t d) { + for (int64_t i = 0; i < d; i++) { + float sum = 0.0f; + for (int64_t j = 0; j < d; j++) { + sum += M[i + j * d] * x[j]; // M[i,j] = M[i + j*d] (column-major) + } + y[i] = sum; + } +} + +#if defined(__AVX2__) +static inline float turboq_hsum_avx(__m256 v) { + __m128 lo = _mm256_castps256_ps128(v); + __m128 hi = _mm256_extractf128_ps(v, 1); + __m128 sum = _mm_add_ps(lo, hi); + sum = _mm_hadd_ps(sum, sum); + sum = _mm_hadd_ps(sum, sum); + return _mm_cvtss_f32(sum); +} +#endif + +static void matvec_row(float * y, const float * M, const float * x, int64_t d) { + for (int64_t i = 0; i < d; ++i) { + const float * row = M + i * d; + float sum = 0.0f; + int64_t j = 0; +#if defined(__AVX2__) + __m256 acc = _mm256_setzero_ps(); + for (; j + 7 < d; j += 8) { + const __m256 mv = _mm256_loadu_ps(row + j); + const __m256 xv = _mm256_loadu_ps(x + j); +#if defined(__FMA__) + acc = _mm256_fmadd_ps(mv, xv, acc); +#else + acc = _mm256_add_ps(acc, _mm256_mul_ps(mv, xv)); +#endif + } + sum += turboq_hsum_avx(acc); +#endif + for (; j < d; ++j) { + sum += row[j] * x[j]; + } + y[i] = sum; + } +} + +// --------------------------------------------------------------------------- +// Dense matrix-transpose-vector multiply: y = M^T * x (M is d×d column-major) +// --------------------------------------------------------------------------- + +static void matvec_t(float * y, const float * M, const float * x, int64_t d) { + for (int64_t j = 0; j < d; j++) { + const float * col = M + j * d; + float sum = 0.0f; + int64_t i = 0; +#if defined(__AVX2__) + __m256 acc = _mm256_setzero_ps(); + for (; i + 7 < d; i += 8) { + const __m256 mv = _mm256_loadu_ps(col + i); + const __m256 xv = _mm256_loadu_ps(x + i); +#if defined(__FMA__) + acc = _mm256_fmadd_ps(mv, xv, acc); +#else + acc = _mm256_add_ps(acc, _mm256_mul_ps(mv, xv)); +#endif + } + sum += turboq_hsum_avx(acc); +#endif + for (; i < d; ++i) { + sum += col[i] * x[i]; // M^T[j,i] = M[i,j] = M[i + j*d] + } + y[j] = sum; + } +} + +// --------------------------------------------------------------------------- +// Public API (kept for compatibility, now wraps dense rotation) +// --------------------------------------------------------------------------- + +// The rotation matrix is a global parameter (same for all vectors), per the paper. +// This seed is used to deterministically generate both Q and S matrices. +uint64_t turboq_seed_from_row(int64_t row_idx) { + (void)row_idx; + return 0x517cc1b727220a95ULL; +} + +// Forward rotation: y = Q · x (paper Algorithm 1, line 5: y <- Pi . x) +void turboq_rotate_forward(float * y, const float * x, int64_t d, uint64_t seed) { + const float * Q = turboq_get_rotation_row(d, seed); + matvec_row(y, Q, x, d); +} + +// Inverse rotation: x = Q^T · y (paper Algorithm 1, line 10: x_tilde <- Pi^T . y_tilde) +void turboq_rotate_inverse(float * x, const float * y, int64_t d, uint64_t seed) { + const float * Q = turboq_get_rotation(d, seed); + matvec_t(x, Q, y, d); +} + +// --------------------------------------------------------------------------- +// Scratch buffer (thread-local, for temporary vectors) +// --------------------------------------------------------------------------- + +static TURBOQ_TLS float * tl_buf = NULL; +static TURBOQ_TLS int64_t tl_buf_size = 0; + +static float * turboq_get_scratch(int64_t n) { + if (n > tl_buf_size) { + free(tl_buf); + tl_buf = (float *)malloc(n * sizeof(float)); + tl_buf_size = n; + } + return tl_buf; +} + +// Second scratch buffer (needed when two temp vectors are required simultaneously, +// e.g. rotated-domain values + original-domain result in dequant) +static TURBOQ_TLS float * tl_buf2 = NULL; +static TURBOQ_TLS int64_t tl_buf2_size = 0; + +static float * turboq_get_scratch2(int64_t n) { + if (n > tl_buf2_size) { + free(tl_buf2); + tl_buf2 = (float *)malloc(n * sizeof(float)); + tl_buf2_size = n; + } + return tl_buf2; +} + +// Third scratch buffer (needed by Q_prod dequant which requires three simultaneous vectors: +// mse_rot, signs_f, and mse_unit) +static TURBOQ_TLS float * tl_buf3 = NULL; +static TURBOQ_TLS int64_t tl_buf3_size = 0; + +static float * turboq_get_scratch3(int64_t n) { + if (n > tl_buf3_size) { + free(tl_buf3); + tl_buf3 = (float *)malloc(n * sizeof(float)); + tl_buf3_size = n; + } + return tl_buf3; +} + +#define TURBOQ_KV_DIM 128 + +static inline float turboq_block_scale_up(void) { + return sqrtf((float) QK_K); +} + +static inline float turboq_block_scale_down(void) { + return 1.0f / turboq_block_scale_up(); +} + +static void turboq_rotate_block_forward(float * y, const float * x, uint64_t seed) { + const float * Q = turboq_get_rotation_row(TURBOQ_KV_DIM, seed); + + for (int64_t i = 0; i < QK_K; i += TURBOQ_KV_DIM) { + matvec_row(y + i, Q, x + i, TURBOQ_KV_DIM); + } +} + +static void turboq_rotate_block_inverse(float * x, const float * y, uint64_t seed) { + const float * Q = turboq_get_rotation(TURBOQ_KV_DIM, seed); + + for (int64_t i = 0; i < QK_K; i += TURBOQ_KV_DIM) { + matvec_t(x + i, Q, y + i, TURBOQ_KV_DIM); + } +} + +static void turboq_project_block(float * y, const float * x, uint64_t seed) { + const float * S = turboq_get_projection_row(TURBOQ_KV_DIM, seed); + + for (int64_t i = 0; i < QK_K; i += TURBOQ_KV_DIM) { + matvec_row(y + i, S, x + i, TURBOQ_KV_DIM); + } +} + +static void turboq_project_block_inverse(float * x, const float * y, uint64_t seed) { + const float * S = turboq_get_projection(TURBOQ_KV_DIM, seed); + + for (int64_t i = 0; i < QK_K; i += TURBOQ_KV_DIM) { + matvec_t(x + i, S, y + i, TURBOQ_KV_DIM); + } +} + +static void turboq_rotate_qk_forward(float * y, const float * x, uint64_t seed) { + const float * Q = turboq_get_rotation_row(QK_K, seed); + matvec_row(y, Q, x, QK_K); +} + +static void turboq_rotate_qk_inverse(float * x, const float * y, uint64_t seed) { + const float * Q = turboq_get_rotation(QK_K, seed); + matvec_t(x, Q, y, QK_K); +} + +static void turboq_project_qk(float * y, const float * x, uint64_t seed) { + const float * S = turboq_get_projection_row(QK_K, seed); + matvec_row(y, S, x, QK_K); +} + +static void turboq_project_qk_inverse(float * x, const float * y, uint64_t seed) { + const float * S = turboq_get_projection(QK_K, seed); + matvec_t(x, S, y, QK_K); +} + +// --------------------------------------------------------------------------- +// Scalar codebook quantization +// --------------------------------------------------------------------------- + +static inline uint8_t quantize_scalar(float val, const float * boundaries, int n_boundaries) { + for (int i = 0; i < n_boundaries; i++) { + if (val < boundaries[i]) { + return (uint8_t)i; + } + } + return (uint8_t)n_boundaries; +} + +static inline uint8_t quantize_scalar_3bit(float val) { + return quantize_scalar(val, turboq_boundaries_3bit, 7); +} + +static inline uint8_t quantize_scalar_2bit(float val) { + return quantize_scalar(val, turboq_boundaries_2bit, 3); +} + +static inline uint8_t quantize_scalar_4bit(float val) { + return quantize_scalar(val, turboq_boundaries_4bit, 15); +} + +// --------------------------------------------------------------------------- +// 3-bit packing/unpacking +// --------------------------------------------------------------------------- + +static void pack_3bit(uint8_t * dst, const uint8_t * indices, int64_t n) { + int64_t full_groups = n / 8; + for (int64_t g = 0; g < full_groups; g++) { + const uint8_t * idx = indices + g * 8; + uint32_t bits = 0; + for (int j = 0; j < 8; j++) { + bits |= ((uint32_t)(idx[j] & 0x7)) << (j * 3); + } + dst[g * 3 + 0] = (uint8_t)(bits & 0xFF); + dst[g * 3 + 1] = (uint8_t)((bits >> 8) & 0xFF); + dst[g * 3 + 2] = (uint8_t)((bits >> 16) & 0xFF); + } +} + +static void unpack_3bit(uint8_t * indices, const uint8_t * src, int64_t n) { + int64_t full_groups = n / 8; + for (int64_t g = 0; g < full_groups; g++) { + uint32_t bits = (uint32_t)src[g * 3 + 0] + | ((uint32_t)src[g * 3 + 1] << 8) + | ((uint32_t)src[g * 3 + 2] << 16); + for (int j = 0; j < 8; j++) { + indices[g * 8 + j] = (uint8_t)((bits >> (j * 3)) & 0x7); + } + } +} + +// --------------------------------------------------------------------------- +// TBQ3_0: TurboQuant 3-bit +// --------------------------------------------------------------------------- + +void quantize_row_tbq3_0_ref(const float * GGML_RESTRICT x, block_tbq3_0 * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + float * unit = turboq_get_scratch(QK_K); + float * rotated = turboq_get_scratch2(QK_K); + const uint64_t seed = turboq_seed_from_row(0); + const float scale_up = turboq_block_scale_up(); + uint8_t indices[QK_K]; + + for (int64_t b = 0; b < nb; b++) { + const float * xb = x + b * QK_K; + + float norm_sq = 0.0f; + for (int64_t j = 0; j < QK_K; ++j) { + norm_sq += xb[j] * xb[j]; + } + + float norm = sqrtf(norm_sq); + if (norm < 1e-10f) { + norm = 1e-10f; + } + + for (int64_t j = 0; j < QK_K; ++j) { + unit[j] = xb[j] / norm; + } + + turboq_rotate_block_forward(rotated, unit, seed); + + for (int64_t j = 0; j < QK_K; j++) { + float val = rotated[j] * scale_up; + indices[j] = quantize_scalar_3bit(val); + } + pack_3bit(y[b].qs, indices, QK_K); + y[b].d = GGML_FP32_TO_FP16(norm); + } +} + +void dequantize_row_tbq3_0(const block_tbq3_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + float * rotated = turboq_get_scratch(QK_K); + float * unit_approx = turboq_get_scratch2(QK_K); + const uint64_t seed = turboq_seed_from_row(0); + const float scale_down = turboq_block_scale_down(); + uint8_t indices[QK_K]; + + for (int64_t b = 0; b < nb; b++) { + const float norm = GGML_FP16_TO_FP32(x[b].d); + + unpack_3bit(indices, x[b].qs, QK_K); + for (int64_t j = 0; j < QK_K; j++) { + rotated[j] = turboq_codebook_3bit[indices[j]] * scale_down; + } + + turboq_rotate_block_inverse(unit_approx, rotated, seed); + + for (int64_t j = 0; j < QK_K; ++j) { + y[b * QK_K + j] = unit_approx[j] * norm; + } + } +} + +size_t quantize_tbq3_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix) { + (void)imatrix; + assert(n_per_row % QK_K == 0); + + const int64_t nb_per_row = n_per_row / QK_K; + const size_t row_size = nb_per_row * sizeof(block_tbq3_0); + + for (int64_t row = 0; row < nrows; row++) { + const float * row_src = src + row * n_per_row; + block_tbq3_0 * row_dst = (block_tbq3_0 *)((char *)dst + row * row_size); + quantize_row_tbq3_0_ref(row_src, row_dst, n_per_row); + } + return nrows * row_size; +} + +// --------------------------------------------------------------------------- +// TBQ4_0: TurboQuant 4-bit +// --------------------------------------------------------------------------- + +void quantize_row_tbq4_0_ref(const float * GGML_RESTRICT x, block_tbq4_0 * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + float * unit = turboq_get_scratch(QK_K); + float * rotated = turboq_get_scratch2(QK_K); + const uint64_t seed = turboq_seed_from_row(0); + const float scale_up = turboq_block_scale_up(); + + for (int64_t b = 0; b < nb; b++) { + const float * xb = x + b * QK_K; + + float norm_sq = 0.0f; + for (int64_t j = 0; j < QK_K; ++j) { + norm_sq += xb[j] * xb[j]; + } + + float norm = sqrtf(norm_sq); + if (norm < 1e-10f) { + norm = 1e-10f; + } + + for (int64_t j = 0; j < QK_K; ++j) { + unit[j] = xb[j] / norm; + } + + turboq_rotate_block_forward(rotated, unit, seed); + + memset(y[b].qs, 0, sizeof(y[b].qs)); + for (int64_t j = 0; j < QK_K; j++) { + float val = rotated[j] * scale_up; + uint8_t idx = quantize_scalar_4bit(val); + if (j % 2 == 0) { + y[b].qs[j / 2] = idx; + } else { + y[b].qs[j / 2] |= (idx << 4); + } + } + y[b].d = GGML_FP32_TO_FP16(norm); + } +} + +void dequantize_row_tbq4_0(const block_tbq4_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + float * rotated = turboq_get_scratch(QK_K); + float * unit_approx = turboq_get_scratch2(QK_K); + const uint64_t seed = turboq_seed_from_row(0); + const float scale_down = turboq_block_scale_down(); + + for (int64_t b = 0; b < nb; b++) { + const float norm = GGML_FP16_TO_FP32(x[b].d); + + for (int64_t j = 0; j < QK_K; j++) { + uint8_t idx; + if (j % 2 == 0) { + idx = x[b].qs[j / 2] & 0x0F; + } else { + idx = (x[b].qs[j / 2] >> 4) & 0x0F; + } + rotated[j] = turboq_codebook_4bit[idx] * scale_down; + } + + turboq_rotate_block_inverse(unit_approx, rotated, seed); + + for (int64_t j = 0; j < QK_K; ++j) { + y[b * QK_K + j] = unit_approx[j] * norm; + } + } +} + +size_t quantize_tbq4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix) { + (void)imatrix; + assert(n_per_row % QK_K == 0); + + const int64_t nb_per_row = n_per_row / QK_K; + const size_t row_size = nb_per_row * sizeof(block_tbq4_0); + + for (int64_t row = 0; row < nrows; row++) { + const float * row_src = src + row * n_per_row; + block_tbq4_0 * row_dst = (block_tbq4_0 *)((char *)dst + row * row_size); + quantize_row_tbq4_0_ref(row_src, row_dst, n_per_row); + } + return nrows * row_size; +} + +// --------------------------------------------------------------------------- +// TBQP3_0: TurboQuant Q_prod 3-bit (2-bit MSE + 1-bit QJL) +// +// Paper Algorithm 2 (TurboQuant_prod): +// 1. Quantize unit vector with (b-1)=2-bit MSE codebook +// 2. Dequantize MSE, inverse-rotate to get x̃_mse +// 3. Compute residual r = unit_vec - x̃_mse +// 4. Apply QJL: signs = sign(S · r) where S is d×d raw Gaussian +// 5. Store residual norm γ = ||r||₂ +// +// Dequantization: +// x̃ = norm · (x̃_mse + √(π/2)/d · γ · S^T · signs) +// --------------------------------------------------------------------------- + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +void quantize_row_tbqp3_0_ref(const float * GGML_RESTRICT x, block_tbqp3_0 * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + float * unit = turboq_get_scratch(QK_K); + float * mse_rot = turboq_get_scratch2(QK_K); + float * tmp = turboq_get_scratch3(QK_K); + const uint64_t seed = turboq_seed_from_row(0); + const float scale_up = turboq_block_scale_up(); + const float scale_down = turboq_block_scale_down(); + uint8_t indices[QK_K]; + + for (int64_t b = 0; b < nb; b++) { + const float * xb = x + b * QK_K; + + float norm_sq = 0.0f; + for (int64_t i = 0; i < QK_K; ++i) { + norm_sq += xb[i] * xb[i]; + } + + float norm = sqrtf(norm_sq); + if (norm < 1e-10f) { + norm = 1e-10f; + } + + for (int64_t i = 0; i < QK_K; ++i) { + unit[i] = xb[i] / norm; + } + + turboq_rotate_qk_forward(mse_rot, unit, seed); + + for (int64_t i = 0; i < QK_K; ++i) { + indices[i] = quantize_scalar_2bit(mse_rot[i] * scale_up); + mse_rot[i] = turboq_codebook_2bit[indices[i]] * scale_down; + } + + turboq_rotate_qk_inverse(tmp, mse_rot, seed); + + float gamma_sq = 0.0f; + for (int64_t i = 0; i < QK_K; ++i) { + unit[i] -= tmp[i]; + gamma_sq += unit[i] * unit[i]; + } + + const float gamma = sqrtf(gamma_sq); + + turboq_project_qk(tmp, unit, seed); + + memset(y[b].qs, 0, sizeof(y[b].qs)); + memset(y[b].signs, 0, sizeof(y[b].signs)); + for (int64_t j = 0; j < QK_K; j++) { + y[b].qs[j / 4] |= (indices[j] << ((j % 4) * 2)); + if (tmp[j] >= 0.0f) { + y[b].signs[j / 8] |= (1 << (j % 8)); + } + } + y[b].d = GGML_FP32_TO_FP16(norm); + y[b].gamma = GGML_FP32_TO_FP16(gamma); + } +} + +void dequantize_row_tbqp3_0(const block_tbqp3_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + const uint64_t seed = turboq_seed_from_row(0); + const float scale_dn = turboq_block_scale_down(); + const float qjl_scale = sqrtf((float) M_PI / 2.0f) / (float) QK_K; + float * mse_rot = turboq_get_scratch(QK_K); + float * signs_f = turboq_get_scratch2(QK_K); + float * mse_unit = turboq_get_scratch3(QK_K); + + for (int64_t b = 0; b < nb; ++b) { + const float norm = GGML_FP16_TO_FP32(x[b].d); + const float gamma = GGML_FP16_TO_FP32(x[b].gamma); + + for (int64_t j = 0; j < QK_K; ++j) { + const uint8_t idx = (x[b].qs[j / 4] >> ((j % 4) * 2)) & 0x3; + mse_rot[j] = turboq_codebook_2bit[idx] * scale_dn; + signs_f[j] = ((x[b].signs[j / 8] >> (j % 8)) & 1) ? 1.0f : -1.0f; + } + + turboq_rotate_qk_inverse(mse_unit, mse_rot, seed); + turboq_project_qk_inverse(mse_rot, signs_f, seed); + + const float qjl_f = qjl_scale * gamma; + for (int64_t j = 0; j < QK_K; ++j) { + y[b * QK_K + j] = norm * (mse_unit[j] + qjl_f * mse_rot[j]); + } + } +} + +size_t quantize_tbqp3_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix) { + (void)imatrix; + assert(n_per_row % QK_K == 0); + const int64_t nb_per_row = n_per_row / QK_K; + const size_t row_size = nb_per_row * sizeof(block_tbqp3_0); + + for (int64_t row = 0; row < nrows; row++) { + const float * row_src = src + row * n_per_row; + block_tbqp3_0 * row_dst = (block_tbqp3_0 *)((char *)dst + row * row_size); + quantize_row_tbqp3_0_ref(row_src, row_dst, n_per_row); + } + return nrows * row_size; +} + +// --------------------------------------------------------------------------- +// TBQP4_0: TurboQuant Q_prod 4-bit (3-bit MSE + 1-bit QJL) +// --------------------------------------------------------------------------- + +void quantize_row_tbqp4_0_ref(const float * GGML_RESTRICT x, block_tbqp4_0 * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + float * unit = turboq_get_scratch(QK_K); + float * mse_rot = turboq_get_scratch2(QK_K); + float * tmp = turboq_get_scratch3(QK_K); + const uint64_t seed = turboq_seed_from_row(0); + const float scale_up = turboq_block_scale_up(); + const float scale_down = turboq_block_scale_down(); + uint8_t indices[QK_K]; + + for (int64_t b = 0; b < nb; ++b) { + const float * xb = x + b * QK_K; + + float norm_sq = 0.0f; + for (int64_t i = 0; i < QK_K; ++i) { + norm_sq += xb[i] * xb[i]; + } + + float norm = sqrtf(norm_sq); + if (norm < 1e-10f) { + norm = 1e-10f; + } + + for (int64_t i = 0; i < QK_K; ++i) { + unit[i] = xb[i] / norm; + } + + turboq_rotate_qk_forward(mse_rot, unit, seed); + + for (int64_t i = 0; i < QK_K; ++i) { + indices[i] = quantize_scalar_3bit(mse_rot[i] * scale_up); + mse_rot[i] = turboq_codebook_3bit[indices[i]] * scale_down; + } + + turboq_rotate_qk_inverse(tmp, mse_rot, seed); + + float gamma_sq = 0.0f; + for (int64_t i = 0; i < QK_K; ++i) { + unit[i] -= tmp[i]; + gamma_sq += unit[i] * unit[i]; + } + + const float gamma = sqrtf(gamma_sq); + + turboq_project_qk(tmp, unit, seed); + + memset(y[b].signs, 0, sizeof(y[b].signs)); + for (int64_t j = 0; j < QK_K; j++) { + if (tmp[j] >= 0.0f) { + y[b].signs[j / 8] |= (1 << (j % 8)); + } + } + pack_3bit(y[b].qs, indices, QK_K); + y[b].d = GGML_FP32_TO_FP16(norm); + y[b].gamma = GGML_FP32_TO_FP16(gamma); + } +} + +void dequantize_row_tbqp4_0(const block_tbqp4_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k) { + assert(k % QK_K == 0); + const int64_t nb = k / QK_K; + const uint64_t seed = turboq_seed_from_row(0); + const float scale_dn = turboq_block_scale_down(); + const float qjl_scale = sqrtf((float) M_PI / 2.0f) / (float) QK_K; + float * mse_rot = turboq_get_scratch(QK_K); + float * signs_f = turboq_get_scratch2(QK_K); + float * mse_unit = turboq_get_scratch3(QK_K); + + uint8_t indices[QK_K]; + for (int64_t b = 0; b < nb; b++) { + const float norm = GGML_FP16_TO_FP32(x[b].d); + const float gamma = GGML_FP16_TO_FP32(x[b].gamma); + + unpack_3bit(indices, x[b].qs, QK_K); + for (int64_t j = 0; j < QK_K; j++) { + mse_rot[j] = turboq_codebook_3bit[indices[j]] * scale_dn; + signs_f[j] = ((x[b].signs[j / 8] >> (j % 8)) & 1) ? 1.0f : -1.0f; + } + + turboq_rotate_qk_inverse(mse_unit, mse_rot, seed); + turboq_project_qk_inverse(mse_rot, signs_f, seed); + + const float qjl_f = qjl_scale * gamma; + for (int64_t j = 0; j < QK_K; ++j) { + y[b * QK_K + j] = norm * (mse_unit[j] + qjl_f * mse_rot[j]); + } + } +} + +size_t quantize_tbqp4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix) { + (void)imatrix; + assert(n_per_row % QK_K == 0); + const int64_t nb_per_row = n_per_row / QK_K; + const size_t row_size = nb_per_row * sizeof(block_tbqp4_0); + + for (int64_t row = 0; row < nrows; row++) { + const float * row_src = src + row * n_per_row; + block_tbqp4_0 * row_dst = (block_tbqp4_0 *)((char *)dst + row * row_size); + quantize_row_tbqp4_0_ref(row_src, row_dst, n_per_row); + } + return nrows * row_size; +} diff --git a/ggml/src/ggml-turboq.h b/ggml/src/ggml-turboq.h new file mode 100644 index 000000000000..e620e875e1fa --- /dev/null +++ b/ggml/src/ggml-turboq.h @@ -0,0 +1,21 @@ +#pragma once + +// TurboQuant helpers used by the CPU quantizers. + +#include "ggml.h" + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +void turboq_rotate_forward(float * y, const float * x, int64_t d, uint64_t seed); + +void turboq_rotate_inverse(float * x, const float * y, int64_t d, uint64_t seed); + +uint64_t turboq_seed_from_row(int64_t row_idx); + +#ifdef __cplusplus +} +#endif diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index 0142498d967a..a7809a4e83d2 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -912,6 +912,38 @@ static const struct ggml_type_traits type_traits[GGML_TYPE_COUNT] = { .type_size = 0, .is_quantized = false, }, + [GGML_TYPE_TBQ3_0] = { + .type_name = "tbq3_0", + .blck_size = QK_K, + .type_size = sizeof(block_tbq3_0), + .is_quantized = true, + .to_float = (ggml_to_float_t) dequantize_row_tbq3_0, + .from_float_ref = (ggml_from_float_t) quantize_row_tbq3_0_ref, + }, + [GGML_TYPE_TBQ4_0] = { + .type_name = "tbq4_0", + .blck_size = QK_K, + .type_size = sizeof(block_tbq4_0), + .is_quantized = true, + .to_float = (ggml_to_float_t) dequantize_row_tbq4_0, + .from_float_ref = (ggml_from_float_t) quantize_row_tbq4_0_ref, + }, + [GGML_TYPE_TBQP3_0] = { + .type_name = "tbqp3_0", + .blck_size = QK_K, + .type_size = sizeof(block_tbqp3_0), + .is_quantized = true, + .to_float = (ggml_to_float_t) dequantize_row_tbqp3_0, + .from_float_ref = (ggml_from_float_t) quantize_row_tbqp3_0_ref, + }, + [GGML_TYPE_TBQP4_0] = { + .type_name = "tbqp4_0", + .blck_size = QK_K, + .type_size = sizeof(block_tbqp4_0), + .is_quantized = true, + .to_float = (ggml_to_float_t) dequantize_row_tbqp4_0, + .from_float_ref = (ggml_from_float_t) quantize_row_tbqp4_0_ref, + }, }; const struct ggml_type_traits * ggml_get_type_traits(enum ggml_type type) { @@ -1398,6 +1430,10 @@ enum ggml_type ggml_ftype_to_ggml_type(enum ggml_ftype ftype) { case GGML_FTYPE_MOSTLY_Q8_0: wtype = GGML_TYPE_Q8_0; break; case GGML_FTYPE_MOSTLY_MXFP4: wtype = GGML_TYPE_MXFP4; break; case GGML_FTYPE_MOSTLY_NVFP4: wtype = GGML_TYPE_NVFP4; break; + case GGML_FTYPE_MOSTLY_TBQ3_0: wtype = GGML_TYPE_TBQ3_0; break; + case GGML_FTYPE_MOSTLY_TBQ4_0: wtype = GGML_TYPE_TBQ4_0; break; + case GGML_FTYPE_MOSTLY_TBQP3_0: wtype = GGML_TYPE_TBQP3_0; break; + case GGML_FTYPE_MOSTLY_TBQP4_0: wtype = GGML_TYPE_TBQP4_0; break; case GGML_FTYPE_MOSTLY_Q2_K: wtype = GGML_TYPE_Q2_K; break; case GGML_FTYPE_MOSTLY_Q3_K: wtype = GGML_TYPE_Q3_K; break; case GGML_FTYPE_MOSTLY_Q4_K: wtype = GGML_TYPE_Q4_K; break; @@ -7676,6 +7712,10 @@ size_t ggml_quantize_chunk( case GGML_TYPE_Q6_K: result = quantize_q6_K(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_TQ1_0: result = quantize_tq1_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_TQ2_0: result = quantize_tq2_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; + case GGML_TYPE_TBQ3_0: result = quantize_tbq3_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; + case GGML_TYPE_TBQ4_0: result = quantize_tbq4_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; + case GGML_TYPE_TBQP3_0: result = quantize_tbqp3_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; + case GGML_TYPE_TBQP4_0: result = quantize_tbqp4_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_IQ2_XXS: result = quantize_iq2_xxs(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_IQ2_XS: result = quantize_iq2_xs (src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_IQ3_XXS: result = quantize_iq3_xxs(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; diff --git a/include/llama.h b/include/llama.h index bf2bff8dac66..b7530907255f 100644 --- a/include/llama.h +++ b/include/llama.h @@ -155,6 +155,10 @@ extern "C" { LLAMA_FTYPE_MOSTLY_MXFP4_MOE = 38, // except 1d tensors LLAMA_FTYPE_MOSTLY_NVFP4 = 39, // except 1d tensors LLAMA_FTYPE_MOSTLY_Q1_0 = 40, // except 1d tensors + LLAMA_FTYPE_MOSTLY_TBQ3_0 = 41, // except 1d tensors + LLAMA_FTYPE_MOSTLY_TBQ4_0 = 42, // except 1d tensors + LLAMA_FTYPE_MOSTLY_TBQP3_0 = 43, // except 1d tensors + LLAMA_FTYPE_MOSTLY_TBQP4_0 = 44, // except 1d tensors LLAMA_FTYPE_GUESSED = 1024, // not specified in the model file }; diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index d6f5c5eab586..6209da4faf25 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -1857,19 +1857,52 @@ ggml_tensor * llm_graph_context::build_attn_mha( float kq_scale, int il) const { const bool v_trans = v->nb[1] > v->nb[2]; + const bool k_is_tbq = k->type == GGML_TYPE_TBQ3_0 || k->type == GGML_TYPE_TBQ4_0 || + k->type == GGML_TYPE_TBQP3_0 || k->type == GGML_TYPE_TBQP4_0; + const bool v_is_tbq = v->type == GGML_TYPE_TBQ3_0 || v->type == GGML_TYPE_TBQ4_0 || + v->type == GGML_TYPE_TBQP3_0 || v->type == GGML_TYPE_TBQP4_0; + const bool use_flash_attn = cparams.flash_attn && kq_b == nullptr; + const enum ggml_type tbq_attn_type = use_flash_attn ? GGML_TYPE_F16 : GGML_TYPE_F32; // split the batch into streams if needed - const auto n_stream = k->ne[3]; + const auto n_stream = k_is_tbq ? k->ne[2] : (v_is_tbq ? v->ne[2] : k->ne[3]); q = ggml_view_4d(ctx0, q, q->ne[0], q->ne[1], q->ne[2]/n_stream, n_stream, q->nb[1], q->nb[2], q->nb[3]/n_stream, 0); + if (k_is_tbq) { + const int64_t n_head_kv = hparams.n_head_kv(il); + const int64_t n_embd_k_gqa = k->ne[0]; + + GGML_ASSERT(n_head_kv > 0); + GGML_ASSERT(n_embd_k_gqa % n_head_kv == 0); + + k = ggml_cast(ctx0, k, tbq_attn_type); + cb(k, use_flash_attn ? "k_tbq_f16" : "k_tbq_f32", il); + + k = ggml_reshape_4d(ctx0, k, n_embd_k_gqa / n_head_kv, n_head_kv, k->ne[1], k->ne[2]); + cb(k, "k_tbq_reshaped", il); + } + + if (v_is_tbq) { + const int64_t n_head_kv = hparams.n_head_kv(il); + const int64_t n_embd_v_gqa = v->ne[0]; + + GGML_ASSERT(n_head_kv > 0); + GGML_ASSERT(n_embd_v_gqa % n_head_kv == 0); + + v = ggml_cast(ctx0, v, tbq_attn_type); + cb(v, use_flash_attn ? "v_tbq_f16" : "v_tbq_f32", il); + + v = ggml_reshape_4d(ctx0, v, n_embd_v_gqa / n_head_kv, n_head_kv, v->ne[1], v->ne[2]); + cb(v, "v_tbq_reshaped", il); + } + q = ggml_permute(ctx0, q, 0, 2, 1, 3); k = ggml_permute(ctx0, k, 0, 2, 1, 3); v = ggml_permute(ctx0, v, 0, 2, 1, 3); ggml_tensor * cur; - const bool use_flash_attn = cparams.flash_attn && kq_b == nullptr; if (use_flash_attn) { GGML_ASSERT(kq_b == nullptr && "Flash attention does not support KQ bias yet"); diff --git a/src/llama-kv-cache.cpp b/src/llama-kv-cache.cpp index 09102f549c8e..c816e7248dbe 100644 --- a/src/llama-kv-cache.cpp +++ b/src/llama-kv-cache.cpp @@ -1153,6 +1153,15 @@ ggml_tensor * llama_kv_cache::get_k(ggml_context * ctx, int32_t il, uint32_t n_k const uint32_t ns = sinfo.s1 - sinfo.s0 + 1; + if (k->type == GGML_TYPE_TBQ3_0 || k->type == GGML_TYPE_TBQ4_0 || + k->type == GGML_TYPE_TBQP3_0 || k->type == GGML_TYPE_TBQP4_0) { + return ggml_view_3d(ctx, k, + n_embd_k_gqa, n_kv, ns, + ggml_row_size(k->type, n_embd_k_gqa), + ggml_row_size(k->type, n_embd_k_gqa*kv_size), + ggml_row_size(k->type, n_embd_k_gqa*kv_size)*sinfo.s0); + } + return ggml_view_4d(ctx, k, hparams.n_embd_head_k(il), hparams.n_head_kv(il), n_kv, ns, ggml_row_size(k->type, hparams.n_embd_head_k(il)), @@ -1174,6 +1183,15 @@ ggml_tensor * llama_kv_cache::get_v(ggml_context * ctx, int32_t il, uint32_t n_k const uint32_t ns = sinfo.s1 - sinfo.s0 + 1; + if (v->type == GGML_TYPE_TBQ3_0 || v->type == GGML_TYPE_TBQ4_0 || + v->type == GGML_TYPE_TBQP3_0 || v->type == GGML_TYPE_TBQP4_0) { + return ggml_view_3d(ctx, v, + n_embd_v_gqa, n_kv, ns, + ggml_row_size(v->type, n_embd_v_gqa), + ggml_row_size(v->type, n_embd_v_gqa*kv_size), + ggml_row_size(v->type, n_embd_v_gqa*kv_size)*sinfo.s0); + } + if (!v_trans) { // note: v->nb[1] <= v->nb[2] return ggml_view_4d(ctx, v, diff --git a/src/llama-quant.cpp b/src/llama-quant.cpp index f91d795b3e96..20b04b562e8e 100644 --- a/src/llama-quant.cpp +++ b/src/llama-quant.cpp @@ -383,7 +383,11 @@ static ggml_type tensor_type_fallback(quantize_state_impl & qs, const ggml_tenso case GGML_TYPE_Q2_K: case GGML_TYPE_Q3_K: case GGML_TYPE_TQ1_0: - case GGML_TYPE_TQ2_0: return_type = GGML_TYPE_Q4_0; break; + case GGML_TYPE_TQ2_0: + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + case GGML_TYPE_TBQP3_0: + case GGML_TYPE_TBQP4_0: return_type = GGML_TYPE_Q4_0; break; case GGML_TYPE_Q4_K: return_type = GGML_TYPE_Q5_0; break; case GGML_TYPE_Q5_K: return_type = GGML_TYPE_Q5_1; break; case GGML_TYPE_Q6_K: return_type = GGML_TYPE_Q8_0; break; @@ -483,6 +487,12 @@ static ggml_type llama_tensor_get_type_impl(quantize_state_impl & qs, ggml_type else if (ftype == LLAMA_FTYPE_MOSTLY_TQ1_0 || ftype == LLAMA_FTYPE_MOSTLY_TQ2_0) { new_type = GGML_TYPE_Q4_K; } + else if (ftype == LLAMA_FTYPE_MOSTLY_TBQ3_0 || ftype == LLAMA_FTYPE_MOSTLY_TBQ4_0) { + new_type = GGML_TYPE_Q4_K; + } + else if (ftype == LLAMA_FTYPE_MOSTLY_TBQP3_0 || ftype == LLAMA_FTYPE_MOSTLY_TBQP4_0) { + new_type = GGML_TYPE_Q4_K; + } } } else if (ftype == LLAMA_FTYPE_MOSTLY_IQ2_XXS || ftype == LLAMA_FTYPE_MOSTLY_IQ2_XS || ftype == LLAMA_FTYPE_MOSTLY_IQ1_S || ftype == LLAMA_FTYPE_MOSTLY_IQ2_S || ftype == LLAMA_FTYPE_MOSTLY_IQ2_M || ftype == LLAMA_FTYPE_MOSTLY_IQ1_M) { @@ -817,6 +827,10 @@ ggml_type llama_ftype_get_default_type(llama_ftype ftype) { case LLAMA_FTYPE_MOSTLY_Q6_K: return GGML_TYPE_Q6_K; case LLAMA_FTYPE_MOSTLY_TQ1_0: return GGML_TYPE_TQ1_0; case LLAMA_FTYPE_MOSTLY_TQ2_0: return GGML_TYPE_TQ2_0; + case LLAMA_FTYPE_MOSTLY_TBQ3_0: return GGML_TYPE_TBQ3_0; + case LLAMA_FTYPE_MOSTLY_TBQ4_0: return GGML_TYPE_TBQ4_0; + case LLAMA_FTYPE_MOSTLY_TBQP3_0: return GGML_TYPE_TBQP3_0; + case LLAMA_FTYPE_MOSTLY_TBQP4_0: return GGML_TYPE_TBQP4_0; case LLAMA_FTYPE_MOSTLY_IQ2_XXS: return GGML_TYPE_IQ2_XXS; case LLAMA_FTYPE_MOSTLY_IQ2_XS: return GGML_TYPE_IQ2_XS; case LLAMA_FTYPE_MOSTLY_IQ2_S: return GGML_TYPE_IQ2_XS; diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 093f17e23adf..0dcad167f886 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7285,6 +7285,13 @@ static const ggml_type other_types[] = { GGML_TYPE_BF16, }; +static const ggml_type turboq_types[] = { + GGML_TYPE_TBQ3_0, + GGML_TYPE_TBQ4_0, + GGML_TYPE_TBQP3_0, + GGML_TYPE_TBQP4_0, +}; + #ifdef _MSC_VER // Workaround long compile time with msvc #pragma optimize("", off) @@ -7355,6 +7362,11 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_get_rows(GGML_TYPE_I32, 256, 5, 4, b, 1, v)); } } + for (ggml_type type : turboq_types) { + for (bool v : {false, true}) { + test_cases.emplace_back(new test_get_rows(type, 256, 5, 4, 1, 1, v)); + } + } test_cases.emplace_back(new test_get_rows_back(GGML_TYPE_F32, 1, 8, 2, 1, false)); for (ggml_type type : all_types) { @@ -7365,6 +7377,11 @@ static std::vector> make_test_cases_eval() { for (bool v : {false, true}) { test_cases.emplace_back(new test_get_rows_back(GGML_TYPE_I32, 256, 5, 4, 1, v)); } + for (ggml_type type : turboq_types) { + for (bool v : {false, true}) { + test_cases.emplace_back(new test_get_rows_back(type, 256, 5, 4, 1, v)); + } + } test_cases.emplace_back(new test_set_rows(GGML_TYPE_F32, GGML_TYPE_I64, { 1, 8, 1, 3 }, { 1, 1 }, 2, false)); test_cases.emplace_back(new test_set_rows(GGML_TYPE_F32, GGML_TYPE_I32, { 1, 8, 1, 3 }, { 1, 1 }, 2, false)); @@ -7384,6 +7401,12 @@ static std::vector> make_test_cases_eval() { } } } + for (ggml_type type : turboq_types) { + for (bool v : {false, true}) { + test_cases.emplace_back(new test_set_rows(type, GGML_TYPE_I64, { 256, 5, 1, 3 }, { 1, 1 }, 1, v)); + test_cases.emplace_back(new test_set_rows(type, GGML_TYPE_I64, { 256, 11, 1, 1 }, { 2, 3 }, 7, v)); + } + } for (int mode : { GGML_ROPE_TYPE_NORMAL, GGML_ROPE_TYPE_NEOX, GGML_ROPE_TYPE_MROPE, GGML_ROPE_TYPE_VISION }) { for (ggml_type type : {GGML_TYPE_F16, GGML_TYPE_F32}) { @@ -7755,6 +7778,12 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 2, 3, 4}, {0, 2, 1, 3})); // cpy by rows } } + for (ggml_type type_src : all_types) { + for (ggml_type type_dst : {GGML_TYPE_F16, GGML_TYPE_BF16}) { + test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 4, 4, 4})); + test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 2, 3, 4}, {0, 2, 1, 3})); // cpy by rows + } + } for (ggml_type type_src : {GGML_TYPE_F16, GGML_TYPE_F32}) { for (ggml_type type_dst : {GGML_TYPE_F16, GGML_TYPE_F32}) { test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 2, 3, 4}, {1, 0, 2, 3})); // cpy not-contiguous @@ -7774,6 +7803,10 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_cpy(GGML_TYPE_I32, GGML_TYPE_I32, {256, 4, 1, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}, true)); test_cases.emplace_back(new test_cpy(GGML_TYPE_I32, GGML_TYPE_I32, {256, 1, 4, 1}, {1, 2, 0, 3}, {0, 0, 0, 0})); test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F32, {256, 1, 4, 1}, {1, 2, 0, 3}, {0, 0, 0, 0})); + for (ggml_type type : turboq_types) { + test_cases.emplace_back(new test_cpy(type, type, {256, 4, 4, 4})); + test_cases.emplace_back(new test_cpy(type, type, {256, 2, 3, 4}, {0, 2, 1, 3})); + } for (ggml_type type_dst : { GGML_TYPE_F32, GGML_TYPE_I32, GGML_TYPE_F16, GGML_TYPE_BF16 }) { for (bool use_view_slice : { true, false }) { @@ -8855,6 +8888,9 @@ static std::vector> make_test_cases_perf() { } } } + for (ggml_type type : turboq_types) { + test_cases.emplace_back(new test_flash_attn_ext(128, 128, 8, {1, 1}, 512, 1, true, false, 0, 0, GGML_PREC_F32, type)); + } for (int col : {8192, 16384, 32768, 65536, 131072, 262144, 524288}) { for (int rows : {1, 4, 16}){ diff --git a/tests/test-quantize-fns.cpp b/tests/test-quantize-fns.cpp index a05fab50421f..2cbfa1ce8a64 100644 --- a/tests/test-quantize-fns.cpp +++ b/tests/test-quantize-fns.cpp @@ -2,9 +2,13 @@ #include "ggml.h" #include "ggml-cpu.h" +#include "../ggml/src/ggml-quants.h" +#include "../ggml/src/ggml-turboq.h" +#include "../ggml/src/ggml-turboq-tables.h" #undef NDEBUG #include +#include #include #include #include @@ -21,12 +25,16 @@ constexpr float MAX_QUANTIZATION_TOTAL_ERROR_TERNARY = 0.01f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_2BITS = 0.0075f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_3BITS = 0.0040f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_3BITS_XXS = 0.0050f; +constexpr float MAX_QUANTIZATION_TOTAL_ERROR_TBQ4 = 0.0025f; +constexpr float MAX_QUANTIZATION_TOTAL_ERROR_TBQP4 = 0.0060f; +constexpr float MAX_QUANTIZATION_TOTAL_ERROR_TBQP3 = 0.0100f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_FP4 = 0.0030f; constexpr float MAX_DOT_PRODUCT_ERROR = 0.02f; constexpr float MAX_DOT_PRODUCT_ERROR_LOWBIT = 0.04f; constexpr float MAX_DOT_PRODUCT_ERROR_FP4 = 0.03f; constexpr float MAX_DOT_PRODUCT_ERROR_BINARY = 0.40f; constexpr float MAX_DOT_PRODUCT_ERROR_TERNARY = 0.15f; +constexpr float MAX_DOT_PRODUCT_ERROR_TBQ3 = 0.05f; static const char* RESULT_STR[] = {"ok", "FAILED"}; @@ -102,6 +110,78 @@ static float dot_product_error(const ggml_type_traits * qfns, const ggml_type_tr return fabsf(result - dot_ref) / test_size; } +static bool test_turboq_vec_dot_dispatch() { + for (ggml_type type : { GGML_TYPE_TBQ3_0, GGML_TYPE_TBQ4_0, GGML_TYPE_TBQP3_0, GGML_TYPE_TBQP4_0 }) { + const auto * qfns_cpu = ggml_get_type_traits_cpu(type); + if (qfns_cpu->vec_dot == nullptr || qfns_cpu->vec_dot_type != GGML_TYPE_Q8_K) { + return false; + } + } + + return true; +} + +static bool test_tbq3_codebook() { + static const float expected[8] = { + -2.1520f, -1.3440f, -0.7560f, -0.2451f, + 0.2451f, 0.7560f, 1.3440f, 2.1520f, + }; + + for (int i = 0; i < 8; ++i) { + if (fabsf(turboq_codebook_3bit[i] - expected[i]) > 1e-4f) { + return false; + } + } + + return true; +} + +static bool test_tbq3_norm_scaling() { + std::vector x(QK_K, 1.0f); + block_tbq3_0 block = {}; + + quantize_row_tbq3_0_ref(x.data(), &block, QK_K); + + return fabsf(ggml_fp16_to_fp32(block.d) - 16.0f) < 1e-3f; +} + +template +static bool test_tbqp_residual_usage_impl( + void (*quantize_row_ref)(const float * GGML_RESTRICT, block_t * GGML_RESTRICT, int64_t), + void (*dequantize_row)(const block_t * GGML_RESTRICT, float * GGML_RESTRICT, int64_t)) { + std::vector x(QK_K); + std::vector y0(QK_K); + std::vector y1(QK_K); + + for (int i = 0; i < QK_K; ++i) { + x[i] = 0.1f + 2.0f*cosf((float) i); + } + + block_t block = {}; + quantize_row_ref(x.data(), &block, QK_K); + dequantize_row(&block, y0.data(), QK_K); + + block_t modified = block; + memset(modified.signs, 0, sizeof(modified.signs)); + modified.gamma = ggml_fp32_to_fp16(0.0f); + dequantize_row(&modified, y1.data(), QK_K); + + float diff = 0.0f; + for (int i = 0; i < QK_K; ++i) { + diff += fabsf(y0[i] - y1[i]); + } + + return diff > 1e-3f; +} + +static bool test_tbqp3_residual_usage() { + return test_tbqp_residual_usage_impl(quantize_row_tbqp3_0_ref, dequantize_row_tbqp3_0); +} + +static bool test_tbqp4_residual_usage() { + return test_tbqp_residual_usage_impl(quantize_row_tbqp4_0_ref, dequantize_row_tbqp4_0); +} + int main(int argc, char * argv[]) { bool verbose = false; const size_t test_size = 32 * 128; @@ -129,6 +209,36 @@ int main(int argc, char * argv[]) { int num_failed = 0; bool failed = false; + failed = !test_turboq_vec_dot_dispatch(); + num_failed += failed; + if (failed || verbose) { + printf("%5s vec_dot dispatch: %s\n", "tbq*", RESULT_STR[failed]); + } + + failed = !test_tbq3_codebook(); + num_failed += failed; + if (failed || verbose) { + printf("%5s codebook values: %s\n", "tbq3", RESULT_STR[failed]); + } + + failed = !test_tbq3_norm_scaling(); + num_failed += failed; + if (failed || verbose) { + printf("%5s norm scaling: %s\n", "tbq3", RESULT_STR[failed]); + } + + failed = !test_tbqp3_residual_usage(); + num_failed += failed; + if (failed || verbose) { + printf("%5s residual usage: %s\n", "tbqp3", RESULT_STR[failed]); + } + + failed = !test_tbqp4_residual_usage(); + num_failed += failed; + if (failed || verbose) { + printf("%5s residual usage: %s\n", "tbqp4", RESULT_STR[failed]); + } + for (int i = 0; i < GGML_TYPE_COUNT; i++) { ggml_type type = (ggml_type) i; const auto * qfns = ggml_get_type_traits(type); @@ -155,6 +265,10 @@ int main(int argc, char * argv[]) { type == GGML_TYPE_Q3_K ? MAX_QUANTIZATION_TOTAL_ERROR_3BITS : type == GGML_TYPE_IQ3_S ? MAX_QUANTIZATION_TOTAL_ERROR_3BITS : type == GGML_TYPE_IQ3_XXS ? MAX_QUANTIZATION_TOTAL_ERROR_3BITS_XXS : + type == GGML_TYPE_TBQ3_0 ? MAX_QUANTIZATION_TOTAL_ERROR_3BITS_XXS : + type == GGML_TYPE_TBQ4_0 ? MAX_QUANTIZATION_TOTAL_ERROR_TBQ4 : + type == GGML_TYPE_TBQP3_0 ? MAX_QUANTIZATION_TOTAL_ERROR_TBQP3 : + type == GGML_TYPE_TBQP4_0 ? MAX_QUANTIZATION_TOTAL_ERROR_TBQP4 : type == GGML_TYPE_NVFP4 ? MAX_QUANTIZATION_TOTAL_ERROR_FP4 : MAX_QUANTIZATION_TOTAL_ERROR; failed = !(total_error < max_quantization_error); num_failed += failed; @@ -177,6 +291,8 @@ int main(int argc, char * argv[]) { ? MAX_DOT_PRODUCT_ERROR_BINARY : type == GGML_TYPE_TQ1_0 || type == GGML_TYPE_TQ2_0 ? MAX_DOT_PRODUCT_ERROR_TERNARY + : type == GGML_TYPE_TBQ3_0 + ? MAX_DOT_PRODUCT_ERROR_TBQ3 : type == GGML_TYPE_NVFP4 ? MAX_DOT_PRODUCT_ERROR_FP4 : MAX_DOT_PRODUCT_ERROR; diff --git a/tools/cli/README.md b/tools/cli/README.md index de0b7804091a..8140ba965924 100644 --- a/tools/cli/README.md +++ b/tools/cli/README.md @@ -52,8 +52,8 @@ | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | -| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | -| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | +| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | +| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | | `-dt, --defrag-thold N` | KV cache defragmentation threshold (DEPRECATED)
(env: LLAMA_ARG_DEFRAG_THOLD) | | `-np, --parallel N` | number of parallel sequences to decode (default: 1)
(env: LLAMA_ARG_N_PARALLEL) | | `--mlock` | force system to keep model in RAM rather than swapping or compressing
(env: LLAMA_ARG_MLOCK) | @@ -97,8 +97,8 @@ | `-lv, --verbosity, --log-verbosity N` | Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:
- 0: generic output
- 1: error
- 2: warning
- 3: info
- 4: debug
(default: 3)

(env: LLAMA_LOG_VERBOSITY) | | `--log-prefix` | Enable prefix in log messages
(env: LLAMA_LOG_PREFIX) | | `--log-timestamps` | Enable timestamps in log messages
(env: LLAMA_LOG_TIMESTAMPS) | -| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | -| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | +| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | +| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | ### Sampling params diff --git a/tools/completion/README.md b/tools/completion/README.md index fe1a036a38c6..0537e985ea92 100644 --- a/tools/completion/README.md +++ b/tools/completion/README.md @@ -135,8 +135,8 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | -| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | -| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | +| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | +| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | | `-dt, --defrag-thold N` | KV cache defragmentation threshold (DEPRECATED)
(env: LLAMA_ARG_DEFRAG_THOLD) | | `-np, --parallel N` | number of parallel sequences to decode (default: 1)
(env: LLAMA_ARG_N_PARALLEL) | | `--mlock` | force system to keep model in RAM rather than swapping or compressing
(env: LLAMA_ARG_MLOCK) | @@ -180,8 +180,8 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `-lv, --verbosity, --log-verbosity N` | Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:
- 0: generic output
- 1: error
- 2: warning
- 3: info
- 4: debug
(default: 3)

(env: LLAMA_LOG_VERBOSITY) | | `--log-prefix` | Enable prefix in log messages
(env: LLAMA_LOG_PREFIX) | | `--log-timestamps` | Enable timestamps in log messages
(env: LLAMA_LOG_TIMESTAMPS) | -| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | -| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | +| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | +| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | ### Sampling params diff --git a/tools/llama-bench/llama-bench.cpp b/tools/llama-bench/llama-bench.cpp index 0b395b460e8e..0b3b6974ff6a 100644 --- a/tools/llama-bench/llama-bench.cpp +++ b/tools/llama-bench/llama-bench.cpp @@ -489,6 +489,18 @@ static ggml_type ggml_type_from_name(const std::string & s) { if (s == "iq4_nl") { return GGML_TYPE_IQ4_NL; } + if (s == "tbq3_0") { + return GGML_TYPE_TBQ3_0; + } + if (s == "tbq4_0") { + return GGML_TYPE_TBQ4_0; + } + if (s == "tbqp3_0") { + return GGML_TYPE_TBQP3_0; + } + if (s == "tbqp4_0") { + return GGML_TYPE_TBQP4_0; + } return GGML_TYPE_COUNT; } diff --git a/tools/quantize/quantize.cpp b/tools/quantize/quantize.cpp index a882c78f1bda..a71d2adb3765 100644 --- a/tools/quantize/quantize.cpp +++ b/tools/quantize/quantize.cpp @@ -43,6 +43,10 @@ static const std::vector QUANT_OPTIONS = { { "IQ1_M", LLAMA_FTYPE_MOSTLY_IQ1_M, " 1.75 bpw quantization", }, { "TQ1_0", LLAMA_FTYPE_MOSTLY_TQ1_0, " 1.69 bpw ternarization", }, { "TQ2_0", LLAMA_FTYPE_MOSTLY_TQ2_0, " 2.06 bpw ternarization", }, + { "TBQ3_0", LLAMA_FTYPE_MOSTLY_TBQ3_0, " 3.06 bpw TurboQuant", }, + { "TBQ4_0", LLAMA_FTYPE_MOSTLY_TBQ4_0, " 4.06 bpw TurboQuant", }, + { "TBQP3_0", LLAMA_FTYPE_MOSTLY_TBQP3_0, " 3.13 bpw TurboQuant prod", }, + { "TBQP4_0", LLAMA_FTYPE_MOSTLY_TBQP4_0, " 4.13 bpw TurboQuant prod", }, { "Q2_K", LLAMA_FTYPE_MOSTLY_Q2_K, " 2.96G, +3.5199 ppl @ Llama-3-8B", }, { "Q2_K_S", LLAMA_FTYPE_MOSTLY_Q2_K_S, " 2.96G, +3.1836 ppl @ Llama-3-8B", }, { "IQ3_XXS", LLAMA_FTYPE_MOSTLY_IQ3_XXS, " 3.06 bpw quantization", }, diff --git a/tools/server/README.md b/tools/server/README.md index b30309bf3b06..949051c2667d 100644 --- a/tools/server/README.md +++ b/tools/server/README.md @@ -69,8 +69,8 @@ For the full list of features, please refer to [server's changelog](https://gith | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | -| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | -| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | +| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | +| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | | `-dt, --defrag-thold N` | KV cache defragmentation threshold (DEPRECATED)
(env: LLAMA_ARG_DEFRAG_THOLD) | | `--mlock` | force system to keep model in RAM rather than swapping or compressing
(env: LLAMA_ARG_MLOCK) | | `--mmap, --no-mmap` | whether to memory-map model. (if mmap disabled, slower load but may reduce pageouts if not using mlock) (default: enabled)
(env: LLAMA_ARG_MMAP) | @@ -113,8 +113,8 @@ For the full list of features, please refer to [server's changelog](https://gith | `-lv, --verbosity, --log-verbosity N` | Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:
- 0: generic output
- 1: error
- 2: warning
- 3: info
- 4: debug
(default: 3)

(env: LLAMA_LOG_VERBOSITY) | | `--log-prefix` | Enable prefix in log messages
(env: LLAMA_LOG_PREFIX) | | `--log-timestamps` | Enable timestamps in log messages
(env: LLAMA_LOG_TIMESTAMPS) | -| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | -| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | +| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | +| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | ### Sampling params From 243fc44669de315649efb19c45019de96cd641a9 Mon Sep 17 00:00:00 2001 From: Nikodem Eluszkiewicz Date: Fri, 27 Mar 2026 23:57:43 +0100 Subject: [PATCH 2/7] ggml : limit the first TurboQuant CPU PR to TBQ --- common/arg.cpp | 2 - ggml/include/ggml.h | 6 +- ggml/src/ggml-common.h | 18 --- ggml/src/ggml-cpu/arch-fallback.h | 12 -- ggml/src/ggml-cpu/ggml-cpu.c | 12 -- ggml/src/ggml-cpu/ops.cpp | 14 -- ggml/src/ggml-cpu/quants.c | 63 -------- ggml/src/ggml-cpu/quants.h | 9 -- ggml/src/ggml-quants.c | 16 --- ggml/src/ggml-quants.h | 9 -- ggml/src/ggml-turboq.c | 230 ------------------------------ ggml/src/ggml.c | 24 +--- include/llama.h | 2 - src/llama-graph.cpp | 6 +- src/llama-kv-cache.cpp | 6 +- src/llama-quant.cpp | 9 +- tests/test-backend-ops.cpp | 2 - tests/test-quantize-fns.cpp | 55 +------ tools/cli/README.md | 8 +- tools/completion/README.md | 8 +- tools/llama-bench/llama-bench.cpp | 6 - tools/quantize/quantize.cpp | 2 - tools/server/README.md | 8 +- 23 files changed, 21 insertions(+), 506 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index c291588a9104..499f53b43cd3 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -389,8 +389,6 @@ const std::vector kv_cache_types = { GGML_TYPE_Q5_1, GGML_TYPE_TBQ3_0, GGML_TYPE_TBQ4_0, - GGML_TYPE_TBQP3_0, - GGML_TYPE_TBQP4_0, }; static ggml_type kv_cache_type_from_str(const std::string & s) { diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index 0e2a259b8cd1..b7ddd13ce991 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -431,9 +431,7 @@ extern "C" { GGML_TYPE_Q1_0 = 41, GGML_TYPE_TBQ3_0 = 42, // TurboQuant 3-bit GGML_TYPE_TBQ4_0 = 43, // TurboQuant 4-bit - GGML_TYPE_TBQP3_0 = 44, // TurboQuant Q_prod 3-bit - GGML_TYPE_TBQP4_0 = 45, // TurboQuant Q_prod 4-bit - GGML_TYPE_COUNT = 46, + GGML_TYPE_COUNT = 44, }; // precision @@ -473,8 +471,6 @@ extern "C" { GGML_FTYPE_MOSTLY_Q1_0 = 27, // except 1d tensors GGML_FTYPE_MOSTLY_TBQ3_0 = 28, // except 1d tensors GGML_FTYPE_MOSTLY_TBQ4_0 = 29, // except 1d tensors - GGML_FTYPE_MOSTLY_TBQP3_0 = 30, // except 1d tensors - GGML_FTYPE_MOSTLY_TBQP4_0 = 31, // except 1d tensors }; // available tensor operations: diff --git a/ggml/src/ggml-common.h b/ggml/src/ggml-common.h index 3ce12a3f040d..2b81164b249f 100644 --- a/ggml/src/ggml-common.h +++ b/ggml/src/ggml-common.h @@ -293,24 +293,6 @@ typedef struct { } block_tbq4_0; static_assert(sizeof(block_tbq4_0) == sizeof(ggml_half) + QK_K / 2, "wrong tbq4_0 block size/padding"); -// 3.125 bpw -typedef struct { - uint8_t qs[QK_K / 4]; - uint8_t signs[QK_K / 8]; - ggml_half d; - ggml_half gamma; -} block_tbqp3_0; -static_assert(sizeof(block_tbqp3_0) == 2*sizeof(ggml_half) + QK_K / 4 + QK_K / 8, "wrong tbqp3_0 block size/padding"); - -// 4.125 bpw -typedef struct { - uint8_t qs[QK_K * 3 / 8]; - uint8_t signs[QK_K / 8]; - ggml_half d; - ggml_half gamma; -} block_tbqp4_0; -static_assert(sizeof(block_tbqp4_0) == 2*sizeof(ggml_half) + QK_K * 3 / 8 + QK_K / 8, "wrong tbqp4_0 block size/padding"); - // // Super-block quantization structures // diff --git a/ggml/src/ggml-cpu/arch-fallback.h b/ggml/src/ggml-cpu/arch-fallback.h index e74399befcf3..4a659933cf80 100644 --- a/ggml/src/ggml-cpu/arch-fallback.h +++ b/ggml/src/ggml-cpu/arch-fallback.h @@ -21,8 +21,6 @@ #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K #define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K #define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K -#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K -#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_q2_K_q8_K_generic ggml_vec_dot_q2_K_q8_K #define ggml_vec_dot_q3_K_q8_K_generic ggml_vec_dot_q3_K_q8_K #define ggml_vec_dot_q4_K_q8_K_generic ggml_vec_dot_q4_K_q8_K @@ -90,8 +88,6 @@ #define ggml_vec_dot_q1_0_q8_0_generic ggml_vec_dot_q1_0_q8_0 #define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K #define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K -#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K -#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K // repack.cpp #define ggml_quantize_mat_q8_0_4x4_generic ggml_quantize_mat_q8_0_4x4 #define ggml_quantize_mat_q8_K_4x4_generic ggml_quantize_mat_q8_K_4x4 @@ -127,8 +123,6 @@ #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K #define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K #define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K -#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K -#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_iq1_m_q8_K_generic ggml_vec_dot_iq1_m_q8_K // repack.cpp #define ggml_quantize_mat_q8_0_4x4_generic ggml_quantize_mat_q8_0_4x4 @@ -174,8 +168,6 @@ #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K #define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K #define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K -#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K -#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_iq1_m_q8_K_generic ggml_vec_dot_iq1_m_q8_K #define ggml_vec_dot_mxfp4_q8_0_generic ggml_vec_dot_mxfp4_q8_0 #define ggml_vec_dot_nvfp4_q8_0_generic ggml_vec_dot_nvfp4_q8_0 @@ -266,8 +258,6 @@ #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K #define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K #define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K -#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K -#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_q2_K_q8_K_generic ggml_vec_dot_q2_K_q8_K #define ggml_vec_dot_iq2_xxs_q8_K_generic ggml_vec_dot_iq2_xxs_q8_K #define ggml_vec_dot_iq2_xs_q8_K_generic ggml_vec_dot_iq2_xs_q8_K @@ -320,8 +310,6 @@ #define ggml_vec_dot_tq2_0_q8_K_generic ggml_vec_dot_tq2_0_q8_K #define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K #define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K -#define ggml_vec_dot_tbqp3_0_q8_K_generic ggml_vec_dot_tbqp3_0_q8_K -#define ggml_vec_dot_tbqp4_0_q8_K_generic ggml_vec_dot_tbqp4_0_q8_K #define ggml_vec_dot_iq2_xxs_q8_K_generic ggml_vec_dot_iq2_xxs_q8_K #define ggml_vec_dot_iq2_xs_q8_K_generic ggml_vec_dot_iq2_xs_q8_K #define ggml_vec_dot_iq2_s_q8_K_generic ggml_vec_dot_iq2_s_q8_K diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index a979d7b7a41a..a1f8b6bdb05d 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -408,18 +408,6 @@ static const struct ggml_type_traits_cpu type_traits_cpu[GGML_TYPE_COUNT] = { .vec_dot_type = GGML_TYPE_Q8_K, .nrows = 1, }, - [GGML_TYPE_TBQP3_0] = { - .from_float = quantize_row_tbqp3_0, - .vec_dot = ggml_vec_dot_tbqp3_0_q8_K, - .vec_dot_type = GGML_TYPE_Q8_K, - .nrows = 1, - }, - [GGML_TYPE_TBQP4_0] = { - .from_float = quantize_row_tbqp4_0, - .vec_dot = ggml_vec_dot_tbqp4_0_q8_K, - .vec_dot_type = GGML_TYPE_Q8_K, - .nrows = 1, - }, [GGML_TYPE_I32] = { .from_float = (ggml_from_float_t) ggml_cpu_fp32_to_i32, }, diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index 3a12eb011555..b6e4e54dc90b 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -722,8 +722,6 @@ void ggml_compute_forward_add( case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -1176,8 +1174,6 @@ void ggml_compute_forward_add1( case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -1309,8 +1305,6 @@ void ggml_compute_forward_acc( case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -4401,8 +4395,6 @@ void ggml_compute_forward_out_prod( case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -4681,8 +4673,6 @@ void ggml_compute_forward_set( case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -4909,8 +4899,6 @@ void ggml_compute_forward_get_rows( case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: @@ -5639,8 +5627,6 @@ void ggml_compute_forward_clamp( case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: case GGML_TYPE_IQ2_XXS: case GGML_TYPE_IQ2_XS: case GGML_TYPE_IQ3_XXS: diff --git a/ggml/src/ggml-cpu/quants.c b/ggml/src/ggml-cpu/quants.c index 0efc8ad14bf6..a32147baf35d 100644 --- a/ggml/src/ggml-cpu/quants.c +++ b/ggml/src/ggml-cpu/quants.c @@ -124,18 +124,6 @@ void quantize_row_tbq4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, quantize_row_tbq4_0_ref(x, y, k); } -void quantize_row_tbqp3_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k) { - assert(k % QK_K == 0); - block_tbqp3_0 * GGML_RESTRICT y = vy; - quantize_row_tbqp3_0_ref(x, y, k); -} - -void quantize_row_tbqp4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k) { - assert(k % QK_K == 0); - block_tbqp4_0 * GGML_RESTRICT y = vy; - quantize_row_tbqp4_0_ref(x, y, k); -} - //===================================== Q8_K ============================================== void quantize_row_q8_K_generic(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k) { @@ -605,57 +593,6 @@ void ggml_vec_dot_tbq4_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, *s = sumf; } -void ggml_vec_dot_tbqp3_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { - assert(nrc == 1); - UNUSED(nrc); - UNUSED(bx); - UNUSED(by); - UNUSED(bs); - - float * tmp = tbq_vd_get_scratch(n); - dequantize_row_tbqp3_0((const block_tbqp3_0 *)vx, tmp, n); - - const block_q8_K * GGML_RESTRICT y = vy; - const int nb = n / QK_K; - - float sumf = 0.0f; - int64_t idx = 0; - for (int i = 0; i < nb; i++) { - const float d = y[i].d; - for (int j = 0; j < QK_K; j++) { - sumf += tmp[idx] * (d * y[i].qs[j]); - idx++; - } - } - - *s = sumf; -} - -void ggml_vec_dot_tbqp4_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { - assert(nrc == 1); - UNUSED(nrc); - UNUSED(bx); - UNUSED(by); - UNUSED(bs); - - float * tmp = tbq_vd_get_scratch(n); - dequantize_row_tbqp4_0((const block_tbqp4_0 *)vx, tmp, n); - - const block_q8_K * GGML_RESTRICT y = vy; - const int nb = n / QK_K; - - float sumf = 0.0f; - int64_t idx = 0; - for (int i = 0; i < nb; i++) { - const float d = y[i].d; - for (int j = 0; j < QK_K; j++) { - sumf += tmp[idx] * (d * y[i].qs[j]); - idx++; - } - } - - *s = sumf; -} void ggml_vec_dot_q2_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc) { assert(nrc == 1); diff --git a/ggml/src/ggml-cpu/quants.h b/ggml/src/ggml-cpu/quants.h index 63f1c8b40018..cbf02ce0d757 100644 --- a/ggml/src/ggml-cpu/quants.h +++ b/ggml/src/ggml-cpu/quants.h @@ -36,9 +36,6 @@ void quantize_row_tq2_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, i void quantize_row_tbq3_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); void quantize_row_tbq4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); -void quantize_row_tbqp3_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); -void quantize_row_tbqp4_0(const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); - void quantize_row_iq4_nl (const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); void quantize_row_iq4_xs (const float * GGML_RESTRICT x, void * GGML_RESTRICT y, int64_t k); @@ -65,9 +62,6 @@ void ggml_vec_dot_tq2_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const vo void ggml_vec_dot_tbq3_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_tbq4_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); -void ggml_vec_dot_tbqp3_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); -void ggml_vec_dot_tbqp4_0_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); - void ggml_vec_dot_iq2_xxs_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_iq2_xs_q8_K (int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_iq2_s_q8_K (int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); @@ -95,9 +89,6 @@ void ggml_vec_dot_nvfp4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, void ggml_vec_dot_tq1_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_tq2_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); -void ggml_vec_dot_tbqp3_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); -void ggml_vec_dot_tbqp4_0_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); - void ggml_vec_dot_q2_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_q3_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); void ggml_vec_dot_q4_K_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, size_t bx, const void * GGML_RESTRICT vy, size_t by, int nrc); diff --git a/ggml/src/ggml-quants.c b/ggml/src/ggml-quants.c index 82c767edaaf2..e9b869874405 100644 --- a/ggml/src/ggml-quants.c +++ b/ggml/src/ggml-quants.c @@ -5482,22 +5482,6 @@ bool ggml_validate_row_data(enum ggml_type type, const void * data, size_t nbyte { VALIDATE_ROW_DATA_D_F16_IMPL(block_tbq4_0, data, nb); } break; - case GGML_TYPE_TBQP3_0: - { - const block_tbqp3_0 * q = (const block_tbqp3_0 *) data; - for (size_t i = 0; i < nb; ++i) { - if (!validate_fp16(q[i].d, i)) return false; - if (!validate_fp16(q[i].gamma, i)) return false; - } - } break; - case GGML_TYPE_TBQP4_0: - { - const block_tbqp4_0 * q = (const block_tbqp4_0 *) data; - for (size_t i = 0; i < nb; ++i) { - if (!validate_fp16(q[i].d, i)) return false; - if (!validate_fp16(q[i].gamma, i)) return false; - } - } break; case GGML_TYPE_I8: case GGML_TYPE_I16: diff --git a/ggml/src/ggml-quants.h b/ggml/src/ggml-quants.h index 57c023348add..998792f51856 100644 --- a/ggml/src/ggml-quants.h +++ b/ggml/src/ggml-quants.h @@ -38,9 +38,6 @@ GGML_API void quantize_row_tq2_0_ref(const float * GGML_RESTRICT x, block_tq2_0 GGML_API void quantize_row_tbq3_0_ref(const float * GGML_RESTRICT x, block_tbq3_0 * GGML_RESTRICT y, int64_t k); GGML_API void quantize_row_tbq4_0_ref(const float * GGML_RESTRICT x, block_tbq4_0 * GGML_RESTRICT y, int64_t k); -GGML_API void quantize_row_tbqp3_0_ref(const float * GGML_RESTRICT x, block_tbqp3_0 * GGML_RESTRICT y, int64_t k); -GGML_API void quantize_row_tbqp4_0_ref(const float * GGML_RESTRICT x, block_tbqp4_0 * GGML_RESTRICT y, int64_t k); - GGML_API void quantize_row_iq3_xxs_ref(const float * GGML_RESTRICT x, block_iq3_xxs * GGML_RESTRICT y, int64_t k); GGML_API void quantize_row_iq4_nl_ref (const float * GGML_RESTRICT x, block_iq4_nl * GGML_RESTRICT y, int64_t k); GGML_API void quantize_row_iq4_xs_ref (const float * GGML_RESTRICT x, block_iq4_xs * GGML_RESTRICT y, int64_t k); @@ -72,9 +69,6 @@ GGML_API void dequantize_row_tq2_0(const block_tq2_0 * GGML_RESTRICT x, float * GGML_API void dequantize_row_tbq3_0(const block_tbq3_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); GGML_API void dequantize_row_tbq4_0(const block_tbq4_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); -GGML_API void dequantize_row_tbqp3_0(const block_tbqp3_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); -GGML_API void dequantize_row_tbqp4_0(const block_tbqp4_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); - GGML_API void dequantize_row_iq2_xxs(const block_iq2_xxs * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); GGML_API void dequantize_row_iq2_xs (const block_iq2_xs * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); GGML_API void dequantize_row_iq2_s (const block_iq2_s * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k); @@ -102,9 +96,6 @@ GGML_API size_t quantize_tq2_0(const float * GGML_RESTRICT src, void * GGML_REST GGML_API size_t quantize_tbq3_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); GGML_API size_t quantize_tbq4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); -GGML_API size_t quantize_tbqp3_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); -GGML_API size_t quantize_tbqp4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); - GGML_API size_t quantize_q2_K(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); GGML_API size_t quantize_q3_K(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); GGML_API size_t quantize_q4_K(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix); diff --git a/ggml/src/ggml-turboq.c b/ggml/src/ggml-turboq.c index becc7b2a4489..58d260a214b7 100644 --- a/ggml/src/ggml-turboq.c +++ b/ggml/src/ggml-turboq.c @@ -680,233 +680,3 @@ size_t quantize_tbq4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst } return nrows * row_size; } - -// --------------------------------------------------------------------------- -// TBQP3_0: TurboQuant Q_prod 3-bit (2-bit MSE + 1-bit QJL) -// -// Paper Algorithm 2 (TurboQuant_prod): -// 1. Quantize unit vector with (b-1)=2-bit MSE codebook -// 2. Dequantize MSE, inverse-rotate to get x̃_mse -// 3. Compute residual r = unit_vec - x̃_mse -// 4. Apply QJL: signs = sign(S · r) where S is d×d raw Gaussian -// 5. Store residual norm γ = ||r||₂ -// -// Dequantization: -// x̃ = norm · (x̃_mse + √(π/2)/d · γ · S^T · signs) -// --------------------------------------------------------------------------- - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -void quantize_row_tbqp3_0_ref(const float * GGML_RESTRICT x, block_tbqp3_0 * GGML_RESTRICT y, int64_t k) { - assert(k % QK_K == 0); - const int64_t nb = k / QK_K; - float * unit = turboq_get_scratch(QK_K); - float * mse_rot = turboq_get_scratch2(QK_K); - float * tmp = turboq_get_scratch3(QK_K); - const uint64_t seed = turboq_seed_from_row(0); - const float scale_up = turboq_block_scale_up(); - const float scale_down = turboq_block_scale_down(); - uint8_t indices[QK_K]; - - for (int64_t b = 0; b < nb; b++) { - const float * xb = x + b * QK_K; - - float norm_sq = 0.0f; - for (int64_t i = 0; i < QK_K; ++i) { - norm_sq += xb[i] * xb[i]; - } - - float norm = sqrtf(norm_sq); - if (norm < 1e-10f) { - norm = 1e-10f; - } - - for (int64_t i = 0; i < QK_K; ++i) { - unit[i] = xb[i] / norm; - } - - turboq_rotate_qk_forward(mse_rot, unit, seed); - - for (int64_t i = 0; i < QK_K; ++i) { - indices[i] = quantize_scalar_2bit(mse_rot[i] * scale_up); - mse_rot[i] = turboq_codebook_2bit[indices[i]] * scale_down; - } - - turboq_rotate_qk_inverse(tmp, mse_rot, seed); - - float gamma_sq = 0.0f; - for (int64_t i = 0; i < QK_K; ++i) { - unit[i] -= tmp[i]; - gamma_sq += unit[i] * unit[i]; - } - - const float gamma = sqrtf(gamma_sq); - - turboq_project_qk(tmp, unit, seed); - - memset(y[b].qs, 0, sizeof(y[b].qs)); - memset(y[b].signs, 0, sizeof(y[b].signs)); - for (int64_t j = 0; j < QK_K; j++) { - y[b].qs[j / 4] |= (indices[j] << ((j % 4) * 2)); - if (tmp[j] >= 0.0f) { - y[b].signs[j / 8] |= (1 << (j % 8)); - } - } - y[b].d = GGML_FP32_TO_FP16(norm); - y[b].gamma = GGML_FP32_TO_FP16(gamma); - } -} - -void dequantize_row_tbqp3_0(const block_tbqp3_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k) { - assert(k % QK_K == 0); - const int64_t nb = k / QK_K; - const uint64_t seed = turboq_seed_from_row(0); - const float scale_dn = turboq_block_scale_down(); - const float qjl_scale = sqrtf((float) M_PI / 2.0f) / (float) QK_K; - float * mse_rot = turboq_get_scratch(QK_K); - float * signs_f = turboq_get_scratch2(QK_K); - float * mse_unit = turboq_get_scratch3(QK_K); - - for (int64_t b = 0; b < nb; ++b) { - const float norm = GGML_FP16_TO_FP32(x[b].d); - const float gamma = GGML_FP16_TO_FP32(x[b].gamma); - - for (int64_t j = 0; j < QK_K; ++j) { - const uint8_t idx = (x[b].qs[j / 4] >> ((j % 4) * 2)) & 0x3; - mse_rot[j] = turboq_codebook_2bit[idx] * scale_dn; - signs_f[j] = ((x[b].signs[j / 8] >> (j % 8)) & 1) ? 1.0f : -1.0f; - } - - turboq_rotate_qk_inverse(mse_unit, mse_rot, seed); - turboq_project_qk_inverse(mse_rot, signs_f, seed); - - const float qjl_f = qjl_scale * gamma; - for (int64_t j = 0; j < QK_K; ++j) { - y[b * QK_K + j] = norm * (mse_unit[j] + qjl_f * mse_rot[j]); - } - } -} - -size_t quantize_tbqp3_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix) { - (void)imatrix; - assert(n_per_row % QK_K == 0); - const int64_t nb_per_row = n_per_row / QK_K; - const size_t row_size = nb_per_row * sizeof(block_tbqp3_0); - - for (int64_t row = 0; row < nrows; row++) { - const float * row_src = src + row * n_per_row; - block_tbqp3_0 * row_dst = (block_tbqp3_0 *)((char *)dst + row * row_size); - quantize_row_tbqp3_0_ref(row_src, row_dst, n_per_row); - } - return nrows * row_size; -} - -// --------------------------------------------------------------------------- -// TBQP4_0: TurboQuant Q_prod 4-bit (3-bit MSE + 1-bit QJL) -// --------------------------------------------------------------------------- - -void quantize_row_tbqp4_0_ref(const float * GGML_RESTRICT x, block_tbqp4_0 * GGML_RESTRICT y, int64_t k) { - assert(k % QK_K == 0); - const int64_t nb = k / QK_K; - float * unit = turboq_get_scratch(QK_K); - float * mse_rot = turboq_get_scratch2(QK_K); - float * tmp = turboq_get_scratch3(QK_K); - const uint64_t seed = turboq_seed_from_row(0); - const float scale_up = turboq_block_scale_up(); - const float scale_down = turboq_block_scale_down(); - uint8_t indices[QK_K]; - - for (int64_t b = 0; b < nb; ++b) { - const float * xb = x + b * QK_K; - - float norm_sq = 0.0f; - for (int64_t i = 0; i < QK_K; ++i) { - norm_sq += xb[i] * xb[i]; - } - - float norm = sqrtf(norm_sq); - if (norm < 1e-10f) { - norm = 1e-10f; - } - - for (int64_t i = 0; i < QK_K; ++i) { - unit[i] = xb[i] / norm; - } - - turboq_rotate_qk_forward(mse_rot, unit, seed); - - for (int64_t i = 0; i < QK_K; ++i) { - indices[i] = quantize_scalar_3bit(mse_rot[i] * scale_up); - mse_rot[i] = turboq_codebook_3bit[indices[i]] * scale_down; - } - - turboq_rotate_qk_inverse(tmp, mse_rot, seed); - - float gamma_sq = 0.0f; - for (int64_t i = 0; i < QK_K; ++i) { - unit[i] -= tmp[i]; - gamma_sq += unit[i] * unit[i]; - } - - const float gamma = sqrtf(gamma_sq); - - turboq_project_qk(tmp, unit, seed); - - memset(y[b].signs, 0, sizeof(y[b].signs)); - for (int64_t j = 0; j < QK_K; j++) { - if (tmp[j] >= 0.0f) { - y[b].signs[j / 8] |= (1 << (j % 8)); - } - } - pack_3bit(y[b].qs, indices, QK_K); - y[b].d = GGML_FP32_TO_FP16(norm); - y[b].gamma = GGML_FP32_TO_FP16(gamma); - } -} - -void dequantize_row_tbqp4_0(const block_tbqp4_0 * GGML_RESTRICT x, float * GGML_RESTRICT y, int64_t k) { - assert(k % QK_K == 0); - const int64_t nb = k / QK_K; - const uint64_t seed = turboq_seed_from_row(0); - const float scale_dn = turboq_block_scale_down(); - const float qjl_scale = sqrtf((float) M_PI / 2.0f) / (float) QK_K; - float * mse_rot = turboq_get_scratch(QK_K); - float * signs_f = turboq_get_scratch2(QK_K); - float * mse_unit = turboq_get_scratch3(QK_K); - - uint8_t indices[QK_K]; - for (int64_t b = 0; b < nb; b++) { - const float norm = GGML_FP16_TO_FP32(x[b].d); - const float gamma = GGML_FP16_TO_FP32(x[b].gamma); - - unpack_3bit(indices, x[b].qs, QK_K); - for (int64_t j = 0; j < QK_K; j++) { - mse_rot[j] = turboq_codebook_3bit[indices[j]] * scale_dn; - signs_f[j] = ((x[b].signs[j / 8] >> (j % 8)) & 1) ? 1.0f : -1.0f; - } - - turboq_rotate_qk_inverse(mse_unit, mse_rot, seed); - turboq_project_qk_inverse(mse_rot, signs_f, seed); - - const float qjl_f = qjl_scale * gamma; - for (int64_t j = 0; j < QK_K; ++j) { - y[b * QK_K + j] = norm * (mse_unit[j] + qjl_f * mse_rot[j]); - } - } -} - -size_t quantize_tbqp4_0(const float * GGML_RESTRICT src, void * GGML_RESTRICT dst, int64_t nrows, int64_t n_per_row, const float * imatrix) { - (void)imatrix; - assert(n_per_row % QK_K == 0); - const int64_t nb_per_row = n_per_row / QK_K; - const size_t row_size = nb_per_row * sizeof(block_tbqp4_0); - - for (int64_t row = 0; row < nrows; row++) { - const float * row_src = src + row * n_per_row; - block_tbqp4_0 * row_dst = (block_tbqp4_0 *)((char *)dst + row * row_size); - quantize_row_tbqp4_0_ref(row_src, row_dst, n_per_row); - } - return nrows * row_size; -} diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index a7809a4e83d2..0d8f2b1d6e54 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -928,22 +928,6 @@ static const struct ggml_type_traits type_traits[GGML_TYPE_COUNT] = { .to_float = (ggml_to_float_t) dequantize_row_tbq4_0, .from_float_ref = (ggml_from_float_t) quantize_row_tbq4_0_ref, }, - [GGML_TYPE_TBQP3_0] = { - .type_name = "tbqp3_0", - .blck_size = QK_K, - .type_size = sizeof(block_tbqp3_0), - .is_quantized = true, - .to_float = (ggml_to_float_t) dequantize_row_tbqp3_0, - .from_float_ref = (ggml_from_float_t) quantize_row_tbqp3_0_ref, - }, - [GGML_TYPE_TBQP4_0] = { - .type_name = "tbqp4_0", - .blck_size = QK_K, - .type_size = sizeof(block_tbqp4_0), - .is_quantized = true, - .to_float = (ggml_to_float_t) dequantize_row_tbqp4_0, - .from_float_ref = (ggml_from_float_t) quantize_row_tbqp4_0_ref, - }, }; const struct ggml_type_traits * ggml_get_type_traits(enum ggml_type type) { @@ -1430,10 +1414,8 @@ enum ggml_type ggml_ftype_to_ggml_type(enum ggml_ftype ftype) { case GGML_FTYPE_MOSTLY_Q8_0: wtype = GGML_TYPE_Q8_0; break; case GGML_FTYPE_MOSTLY_MXFP4: wtype = GGML_TYPE_MXFP4; break; case GGML_FTYPE_MOSTLY_NVFP4: wtype = GGML_TYPE_NVFP4; break; - case GGML_FTYPE_MOSTLY_TBQ3_0: wtype = GGML_TYPE_TBQ3_0; break; - case GGML_FTYPE_MOSTLY_TBQ4_0: wtype = GGML_TYPE_TBQ4_0; break; - case GGML_FTYPE_MOSTLY_TBQP3_0: wtype = GGML_TYPE_TBQP3_0; break; - case GGML_FTYPE_MOSTLY_TBQP4_0: wtype = GGML_TYPE_TBQP4_0; break; + case GGML_FTYPE_MOSTLY_TBQ3_0: wtype = GGML_TYPE_TBQ3_0; break; + case GGML_FTYPE_MOSTLY_TBQ4_0: wtype = GGML_TYPE_TBQ4_0; break; case GGML_FTYPE_MOSTLY_Q2_K: wtype = GGML_TYPE_Q2_K; break; case GGML_FTYPE_MOSTLY_Q3_K: wtype = GGML_TYPE_Q3_K; break; case GGML_FTYPE_MOSTLY_Q4_K: wtype = GGML_TYPE_Q4_K; break; @@ -7714,8 +7696,6 @@ size_t ggml_quantize_chunk( case GGML_TYPE_TQ2_0: result = quantize_tq2_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_TBQ3_0: result = quantize_tbq3_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_TBQ4_0: result = quantize_tbq4_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; - case GGML_TYPE_TBQP3_0: result = quantize_tbqp3_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; - case GGML_TYPE_TBQP4_0: result = quantize_tbqp4_0(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_IQ2_XXS: result = quantize_iq2_xxs(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_IQ2_XS: result = quantize_iq2_xs (src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; case GGML_TYPE_IQ3_XXS: result = quantize_iq3_xxs(src + start, (char *) dst + start_row * row_size, nrows, n_per_row, imatrix); break; diff --git a/include/llama.h b/include/llama.h index b7530907255f..dd63348373b0 100644 --- a/include/llama.h +++ b/include/llama.h @@ -157,8 +157,6 @@ extern "C" { LLAMA_FTYPE_MOSTLY_Q1_0 = 40, // except 1d tensors LLAMA_FTYPE_MOSTLY_TBQ3_0 = 41, // except 1d tensors LLAMA_FTYPE_MOSTLY_TBQ4_0 = 42, // except 1d tensors - LLAMA_FTYPE_MOSTLY_TBQP3_0 = 43, // except 1d tensors - LLAMA_FTYPE_MOSTLY_TBQP4_0 = 44, // except 1d tensors LLAMA_FTYPE_GUESSED = 1024, // not specified in the model file }; diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index 6209da4faf25..3dfad949b00a 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -1857,10 +1857,8 @@ ggml_tensor * llm_graph_context::build_attn_mha( float kq_scale, int il) const { const bool v_trans = v->nb[1] > v->nb[2]; - const bool k_is_tbq = k->type == GGML_TYPE_TBQ3_0 || k->type == GGML_TYPE_TBQ4_0 || - k->type == GGML_TYPE_TBQP3_0 || k->type == GGML_TYPE_TBQP4_0; - const bool v_is_tbq = v->type == GGML_TYPE_TBQ3_0 || v->type == GGML_TYPE_TBQ4_0 || - v->type == GGML_TYPE_TBQP3_0 || v->type == GGML_TYPE_TBQP4_0; + const bool k_is_tbq = k->type == GGML_TYPE_TBQ3_0 || k->type == GGML_TYPE_TBQ4_0; + const bool v_is_tbq = v->type == GGML_TYPE_TBQ3_0 || v->type == GGML_TYPE_TBQ4_0; const bool use_flash_attn = cparams.flash_attn && kq_b == nullptr; const enum ggml_type tbq_attn_type = use_flash_attn ? GGML_TYPE_F16 : GGML_TYPE_F32; diff --git a/src/llama-kv-cache.cpp b/src/llama-kv-cache.cpp index c816e7248dbe..aa9375f1fb80 100644 --- a/src/llama-kv-cache.cpp +++ b/src/llama-kv-cache.cpp @@ -1153,8 +1153,7 @@ ggml_tensor * llama_kv_cache::get_k(ggml_context * ctx, int32_t il, uint32_t n_k const uint32_t ns = sinfo.s1 - sinfo.s0 + 1; - if (k->type == GGML_TYPE_TBQ3_0 || k->type == GGML_TYPE_TBQ4_0 || - k->type == GGML_TYPE_TBQP3_0 || k->type == GGML_TYPE_TBQP4_0) { + if (k->type == GGML_TYPE_TBQ3_0 || k->type == GGML_TYPE_TBQ4_0) { return ggml_view_3d(ctx, k, n_embd_k_gqa, n_kv, ns, ggml_row_size(k->type, n_embd_k_gqa), @@ -1183,8 +1182,7 @@ ggml_tensor * llama_kv_cache::get_v(ggml_context * ctx, int32_t il, uint32_t n_k const uint32_t ns = sinfo.s1 - sinfo.s0 + 1; - if (v->type == GGML_TYPE_TBQ3_0 || v->type == GGML_TYPE_TBQ4_0 || - v->type == GGML_TYPE_TBQP3_0 || v->type == GGML_TYPE_TBQP4_0) { + if (v->type == GGML_TYPE_TBQ3_0 || v->type == GGML_TYPE_TBQ4_0) { return ggml_view_3d(ctx, v, n_embd_v_gqa, n_kv, ns, ggml_row_size(v->type, n_embd_v_gqa), diff --git a/src/llama-quant.cpp b/src/llama-quant.cpp index 20b04b562e8e..65ec5a248808 100644 --- a/src/llama-quant.cpp +++ b/src/llama-quant.cpp @@ -385,9 +385,7 @@ static ggml_type tensor_type_fallback(quantize_state_impl & qs, const ggml_tenso case GGML_TYPE_TQ1_0: case GGML_TYPE_TQ2_0: case GGML_TYPE_TBQ3_0: - case GGML_TYPE_TBQ4_0: - case GGML_TYPE_TBQP3_0: - case GGML_TYPE_TBQP4_0: return_type = GGML_TYPE_Q4_0; break; + case GGML_TYPE_TBQ4_0: return_type = GGML_TYPE_Q4_0; break; case GGML_TYPE_Q4_K: return_type = GGML_TYPE_Q5_0; break; case GGML_TYPE_Q5_K: return_type = GGML_TYPE_Q5_1; break; case GGML_TYPE_Q6_K: return_type = GGML_TYPE_Q8_0; break; @@ -490,9 +488,6 @@ static ggml_type llama_tensor_get_type_impl(quantize_state_impl & qs, ggml_type else if (ftype == LLAMA_FTYPE_MOSTLY_TBQ3_0 || ftype == LLAMA_FTYPE_MOSTLY_TBQ4_0) { new_type = GGML_TYPE_Q4_K; } - else if (ftype == LLAMA_FTYPE_MOSTLY_TBQP3_0 || ftype == LLAMA_FTYPE_MOSTLY_TBQP4_0) { - new_type = GGML_TYPE_Q4_K; - } } } else if (ftype == LLAMA_FTYPE_MOSTLY_IQ2_XXS || ftype == LLAMA_FTYPE_MOSTLY_IQ2_XS || ftype == LLAMA_FTYPE_MOSTLY_IQ1_S || ftype == LLAMA_FTYPE_MOSTLY_IQ2_S || ftype == LLAMA_FTYPE_MOSTLY_IQ2_M || ftype == LLAMA_FTYPE_MOSTLY_IQ1_M) { @@ -829,8 +824,6 @@ ggml_type llama_ftype_get_default_type(llama_ftype ftype) { case LLAMA_FTYPE_MOSTLY_TQ2_0: return GGML_TYPE_TQ2_0; case LLAMA_FTYPE_MOSTLY_TBQ3_0: return GGML_TYPE_TBQ3_0; case LLAMA_FTYPE_MOSTLY_TBQ4_0: return GGML_TYPE_TBQ4_0; - case LLAMA_FTYPE_MOSTLY_TBQP3_0: return GGML_TYPE_TBQP3_0; - case LLAMA_FTYPE_MOSTLY_TBQP4_0: return GGML_TYPE_TBQP4_0; case LLAMA_FTYPE_MOSTLY_IQ2_XXS: return GGML_TYPE_IQ2_XXS; case LLAMA_FTYPE_MOSTLY_IQ2_XS: return GGML_TYPE_IQ2_XS; case LLAMA_FTYPE_MOSTLY_IQ2_S: return GGML_TYPE_IQ2_XS; diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 0dcad167f886..14f44c10172c 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7288,8 +7288,6 @@ static const ggml_type other_types[] = { static const ggml_type turboq_types[] = { GGML_TYPE_TBQ3_0, GGML_TYPE_TBQ4_0, - GGML_TYPE_TBQP3_0, - GGML_TYPE_TBQP4_0, }; #ifdef _MSC_VER diff --git a/tests/test-quantize-fns.cpp b/tests/test-quantize-fns.cpp index 2cbfa1ce8a64..1ce1226c562d 100644 --- a/tests/test-quantize-fns.cpp +++ b/tests/test-quantize-fns.cpp @@ -26,8 +26,6 @@ constexpr float MAX_QUANTIZATION_TOTAL_ERROR_2BITS = 0.0075f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_3BITS = 0.0040f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_3BITS_XXS = 0.0050f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_TBQ4 = 0.0025f; -constexpr float MAX_QUANTIZATION_TOTAL_ERROR_TBQP4 = 0.0060f; -constexpr float MAX_QUANTIZATION_TOTAL_ERROR_TBQP3 = 0.0100f; constexpr float MAX_QUANTIZATION_TOTAL_ERROR_FP4 = 0.0030f; constexpr float MAX_DOT_PRODUCT_ERROR = 0.02f; constexpr float MAX_DOT_PRODUCT_ERROR_LOWBIT = 0.04f; @@ -111,7 +109,7 @@ static float dot_product_error(const ggml_type_traits * qfns, const ggml_type_tr } static bool test_turboq_vec_dot_dispatch() { - for (ggml_type type : { GGML_TYPE_TBQ3_0, GGML_TYPE_TBQ4_0, GGML_TYPE_TBQP3_0, GGML_TYPE_TBQP4_0 }) { + for (ggml_type type : { GGML_TYPE_TBQ3_0, GGML_TYPE_TBQ4_0 }) { const auto * qfns_cpu = ggml_get_type_traits_cpu(type); if (qfns_cpu->vec_dot == nullptr || qfns_cpu->vec_dot_type != GGML_TYPE_Q8_K) { return false; @@ -145,43 +143,6 @@ static bool test_tbq3_norm_scaling() { return fabsf(ggml_fp16_to_fp32(block.d) - 16.0f) < 1e-3f; } -template -static bool test_tbqp_residual_usage_impl( - void (*quantize_row_ref)(const float * GGML_RESTRICT, block_t * GGML_RESTRICT, int64_t), - void (*dequantize_row)(const block_t * GGML_RESTRICT, float * GGML_RESTRICT, int64_t)) { - std::vector x(QK_K); - std::vector y0(QK_K); - std::vector y1(QK_K); - - for (int i = 0; i < QK_K; ++i) { - x[i] = 0.1f + 2.0f*cosf((float) i); - } - - block_t block = {}; - quantize_row_ref(x.data(), &block, QK_K); - dequantize_row(&block, y0.data(), QK_K); - - block_t modified = block; - memset(modified.signs, 0, sizeof(modified.signs)); - modified.gamma = ggml_fp32_to_fp16(0.0f); - dequantize_row(&modified, y1.data(), QK_K); - - float diff = 0.0f; - for (int i = 0; i < QK_K; ++i) { - diff += fabsf(y0[i] - y1[i]); - } - - return diff > 1e-3f; -} - -static bool test_tbqp3_residual_usage() { - return test_tbqp_residual_usage_impl(quantize_row_tbqp3_0_ref, dequantize_row_tbqp3_0); -} - -static bool test_tbqp4_residual_usage() { - return test_tbqp_residual_usage_impl(quantize_row_tbqp4_0_ref, dequantize_row_tbqp4_0); -} - int main(int argc, char * argv[]) { bool verbose = false; const size_t test_size = 32 * 128; @@ -227,18 +188,6 @@ int main(int argc, char * argv[]) { printf("%5s norm scaling: %s\n", "tbq3", RESULT_STR[failed]); } - failed = !test_tbqp3_residual_usage(); - num_failed += failed; - if (failed || verbose) { - printf("%5s residual usage: %s\n", "tbqp3", RESULT_STR[failed]); - } - - failed = !test_tbqp4_residual_usage(); - num_failed += failed; - if (failed || verbose) { - printf("%5s residual usage: %s\n", "tbqp4", RESULT_STR[failed]); - } - for (int i = 0; i < GGML_TYPE_COUNT; i++) { ggml_type type = (ggml_type) i; const auto * qfns = ggml_get_type_traits(type); @@ -267,8 +216,6 @@ int main(int argc, char * argv[]) { type == GGML_TYPE_IQ3_XXS ? MAX_QUANTIZATION_TOTAL_ERROR_3BITS_XXS : type == GGML_TYPE_TBQ3_0 ? MAX_QUANTIZATION_TOTAL_ERROR_3BITS_XXS : type == GGML_TYPE_TBQ4_0 ? MAX_QUANTIZATION_TOTAL_ERROR_TBQ4 : - type == GGML_TYPE_TBQP3_0 ? MAX_QUANTIZATION_TOTAL_ERROR_TBQP3 : - type == GGML_TYPE_TBQP4_0 ? MAX_QUANTIZATION_TOTAL_ERROR_TBQP4 : type == GGML_TYPE_NVFP4 ? MAX_QUANTIZATION_TOTAL_ERROR_FP4 : MAX_QUANTIZATION_TOTAL_ERROR; failed = !(total_error < max_quantization_error); num_failed += failed; diff --git a/tools/cli/README.md b/tools/cli/README.md index 8140ba965924..a9c0753dc2cb 100644 --- a/tools/cli/README.md +++ b/tools/cli/README.md @@ -52,8 +52,8 @@ | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | -| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | -| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | +| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | +| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | | `-dt, --defrag-thold N` | KV cache defragmentation threshold (DEPRECATED)
(env: LLAMA_ARG_DEFRAG_THOLD) | | `-np, --parallel N` | number of parallel sequences to decode (default: 1)
(env: LLAMA_ARG_N_PARALLEL) | | `--mlock` | force system to keep model in RAM rather than swapping or compressing
(env: LLAMA_ARG_MLOCK) | @@ -97,8 +97,8 @@ | `-lv, --verbosity, --log-verbosity N` | Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:
- 0: generic output
- 1: error
- 2: warning
- 3: info
- 4: debug
(default: 3)

(env: LLAMA_LOG_VERBOSITY) | | `--log-prefix` | Enable prefix in log messages
(env: LLAMA_LOG_PREFIX) | | `--log-timestamps` | Enable timestamps in log messages
(env: LLAMA_LOG_TIMESTAMPS) | -| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | -| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | +| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | +| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | ### Sampling params diff --git a/tools/completion/README.md b/tools/completion/README.md index 0537e985ea92..b86bb832ac2c 100644 --- a/tools/completion/README.md +++ b/tools/completion/README.md @@ -135,8 +135,8 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | -| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | -| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | +| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | +| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | | `-dt, --defrag-thold N` | KV cache defragmentation threshold (DEPRECATED)
(env: LLAMA_ARG_DEFRAG_THOLD) | | `-np, --parallel N` | number of parallel sequences to decode (default: 1)
(env: LLAMA_ARG_N_PARALLEL) | | `--mlock` | force system to keep model in RAM rather than swapping or compressing
(env: LLAMA_ARG_MLOCK) | @@ -180,8 +180,8 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `-lv, --verbosity, --log-verbosity N` | Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:
- 0: generic output
- 1: error
- 2: warning
- 3: info
- 4: debug
(default: 3)

(env: LLAMA_LOG_VERBOSITY) | | `--log-prefix` | Enable prefix in log messages
(env: LLAMA_LOG_PREFIX) | | `--log-timestamps` | Enable timestamps in log messages
(env: LLAMA_LOG_TIMESTAMPS) | -| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | -| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | +| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | +| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | ### Sampling params diff --git a/tools/llama-bench/llama-bench.cpp b/tools/llama-bench/llama-bench.cpp index 0b3b6974ff6a..436cda6e2a35 100644 --- a/tools/llama-bench/llama-bench.cpp +++ b/tools/llama-bench/llama-bench.cpp @@ -495,12 +495,6 @@ static ggml_type ggml_type_from_name(const std::string & s) { if (s == "tbq4_0") { return GGML_TYPE_TBQ4_0; } - if (s == "tbqp3_0") { - return GGML_TYPE_TBQP3_0; - } - if (s == "tbqp4_0") { - return GGML_TYPE_TBQP4_0; - } return GGML_TYPE_COUNT; } diff --git a/tools/quantize/quantize.cpp b/tools/quantize/quantize.cpp index a71d2adb3765..58928ac40739 100644 --- a/tools/quantize/quantize.cpp +++ b/tools/quantize/quantize.cpp @@ -45,8 +45,6 @@ static const std::vector QUANT_OPTIONS = { { "TQ2_0", LLAMA_FTYPE_MOSTLY_TQ2_0, " 2.06 bpw ternarization", }, { "TBQ3_0", LLAMA_FTYPE_MOSTLY_TBQ3_0, " 3.06 bpw TurboQuant", }, { "TBQ4_0", LLAMA_FTYPE_MOSTLY_TBQ4_0, " 4.06 bpw TurboQuant", }, - { "TBQP3_0", LLAMA_FTYPE_MOSTLY_TBQP3_0, " 3.13 bpw TurboQuant prod", }, - { "TBQP4_0", LLAMA_FTYPE_MOSTLY_TBQP4_0, " 4.13 bpw TurboQuant prod", }, { "Q2_K", LLAMA_FTYPE_MOSTLY_Q2_K, " 2.96G, +3.5199 ppl @ Llama-3-8B", }, { "Q2_K_S", LLAMA_FTYPE_MOSTLY_Q2_K_S, " 2.96G, +3.1836 ppl @ Llama-3-8B", }, { "IQ3_XXS", LLAMA_FTYPE_MOSTLY_IQ3_XXS, " 3.06 bpw quantization", }, diff --git a/tools/server/README.md b/tools/server/README.md index 949051c2667d..98b14a241103 100644 --- a/tools/server/README.md +++ b/tools/server/README.md @@ -69,8 +69,8 @@ For the full list of features, please refer to [server's changelog](https://gith | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | -| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | -| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | +| `-ctk, --cache-type-k TYPE` | KV cache data type for K
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K) | +| `-ctv, --cache-type-v TYPE` | KV cache data type for V
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V) | | `-dt, --defrag-thold N` | KV cache defragmentation threshold (DEPRECATED)
(env: LLAMA_ARG_DEFRAG_THOLD) | | `--mlock` | force system to keep model in RAM rather than swapping or compressing
(env: LLAMA_ARG_MLOCK) | | `--mmap, --no-mmap` | whether to memory-map model. (if mmap disabled, slower load but may reduce pageouts if not using mlock) (default: enabled)
(env: LLAMA_ARG_MMAP) | @@ -113,8 +113,8 @@ For the full list of features, please refer to [server's changelog](https://gith | `-lv, --verbosity, --log-verbosity N` | Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:
- 0: generic output
- 1: error
- 2: warning
- 3: info
- 4: debug
(default: 3)

(env: LLAMA_LOG_VERBOSITY) | | `--log-prefix` | Enable prefix in log messages
(env: LLAMA_LOG_PREFIX) | | `--log-timestamps` | Enable timestamps in log messages
(env: LLAMA_LOG_TIMESTAMPS) | -| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | -| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0, tbqp3_0, tbqp4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | +| `-ctkd, --cache-type-k-draft TYPE` | KV cache data type for K for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_K_DRAFT) | +| `-ctvd, --cache-type-v-draft TYPE` | KV cache data type for V for the draft model
allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1, tbq3_0, tbq4_0
(default: f16)
(env: LLAMA_ARG_CACHE_TYPE_V_DRAFT) | ### Sampling params From 67385c263325ed6a9a8d6af818028442fe15d7fa Mon Sep 17 00:00:00 2001 From: Nikodem Eluszkiewicz Date: Sun, 29 Mar 2026 20:24:13 +0200 Subject: [PATCH 3/7] ggml : fix TurboQuant CPU review issues --- ggml/src/ggml-cpu/arch-fallback.h | 5 +++++ ggml/src/ggml-cpu/ops.cpp | 19 +++++++++++++------ src/llama-context.cpp | 22 ++++++++++++++++------ tests/test-backend-ops.cpp | 20 +++++++++++++++++--- 4 files changed, 51 insertions(+), 15 deletions(-) diff --git a/ggml/src/ggml-cpu/arch-fallback.h b/ggml/src/ggml-cpu/arch-fallback.h index 4a659933cf80..c2ca3bf73a11 100644 --- a/ggml/src/ggml-cpu/arch-fallback.h +++ b/ggml/src/ggml-cpu/arch-fallback.h @@ -73,6 +73,9 @@ #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 #define ggml_gemm_q8_0_4x8_q8_0_generic ggml_gemm_q8_0_4x8_q8_0 #elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_M_ARM64) +// quants.c +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K // repack.cpp #define ggml_quantize_mat_q8_K_4x4_generic ggml_quantize_mat_q8_K_4x4 #define ggml_quantize_mat_q8_K_4x8_generic ggml_quantize_mat_q8_K_4x8 @@ -211,6 +214,8 @@ #define ggml_gemm_q8_0_4x8_q8_0_generic ggml_gemm_q8_0_4x8_q8_0 #elif defined(__riscv) // quants.c +#define ggml_vec_dot_tbq3_0_q8_K_generic ggml_vec_dot_tbq3_0_q8_K +#define ggml_vec_dot_tbq4_0_q8_K_generic ggml_vec_dot_tbq4_0_q8_K #define ggml_vec_dot_nvfp4_q8_0_generic ggml_vec_dot_nvfp4_q8_0 #define ggml_vec_dot_q1_0_q8_0_generic ggml_vec_dot_q1_0_q8_0 // repack.cpp diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index b6e4e54dc90b..38d5db9dcd2c 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include // ggml_compute_forward_dup @@ -529,8 +530,6 @@ static void ggml_compute_forward_dup_from_q( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - std::vector tmp(qk); - for (int64_t ir = ir0; ir < ir1; ++ir) { uint32_t i = ir * qk; @@ -547,11 +546,19 @@ static void ggml_compute_forward_dup_from_q( const int64_t i10 = i - i13*ne10*ne11*ne12 - i12*ne10*ne11 - i11*ne10; const int64_t dst_offset = i10*nb10 + i11*nb11 + i12*nb12 + i13*nb13; - dequantize_row_q( - (const void *) ((char *) src0->data + x_offset), - tmp.data(), qk); + if constexpr (std::is_same_v) { + dequantize_row_q( + (const void *) ((char *) src0->data + x_offset), + (float *) ((char *) dst->data + dst_offset), qk); + } else { + std::vector tmp(qk); - ggml_dup_from_float_row(tmp.data(), (dst_t *) ((char *) dst->data + dst_offset), qk); + dequantize_row_q( + (const void *) ((char *) src0->data + x_offset), + tmp.data(), qk); + + ggml_dup_from_float_row(tmp.data(), (dst_t *) ((char *) dst->data + dst_offset), qk); + } } } diff --git a/src/llama-context.cpp b/src/llama-context.cpp index a808e3e45429..bd98cdb43d2e 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -2944,10 +2944,15 @@ llama_context * llama_init_from_model( if (params.flash_attn_type == LLAMA_FLASH_ATTN_TYPE_AUTO && ggml_is_quantized(params.type_k)) { const uint32_t blck_size = ggml_blck_size(params.type_k); + const bool is_tbq_k = params.type_k == GGML_TYPE_TBQ3_0 || params.type_k == GGML_TYPE_TBQ4_0; + for (uint32_t il = 0; il < model->hparams.n_layer; ++il) { - if (model->hparams.n_embd_head_k(il) % blck_size != 0) { - LLAMA_LOG_ERROR("%s: K cache type %s with block size %u does not divide n_embd_head_k=%u\n", - __func__, ggml_type_name(params.type_k), blck_size, model->hparams.n_embd_head_k(il)); + const uint32_t n_embd_k = is_tbq_k ? model->hparams.n_embd_k_gqa(il) : model->hparams.n_embd_head_k(il); + + if (n_embd_k % blck_size != 0) { + LLAMA_LOG_ERROR("%s: K cache type %s with block size %u does not divide %s=%u\n", + __func__, ggml_type_name(params.type_k), blck_size, + is_tbq_k ? "n_embd_k_gqa" : "n_embd_head_k", n_embd_k); return nullptr; } } @@ -2955,10 +2960,15 @@ llama_context * llama_init_from_model( if (params.flash_attn_type == LLAMA_FLASH_ATTN_TYPE_AUTO && ggml_is_quantized(params.type_v)) { const uint32_t blck_size = ggml_blck_size(params.type_v); + const bool is_tbq_v = params.type_v == GGML_TYPE_TBQ3_0 || params.type_v == GGML_TYPE_TBQ4_0; + for (uint32_t il = 0; il < model->hparams.n_layer; ++il) { - if (model->hparams.n_embd_head_v(il) % blck_size != 0) { - LLAMA_LOG_ERROR("%s: V cache type %s with block size %u does not divide n_embd_head_v=%u\n", - __func__, ggml_type_name(params.type_v), blck_size, model->hparams.n_embd_head_v(il)); + const uint32_t n_embd_v = is_tbq_v ? model->hparams.n_embd_v_gqa(il) : model->hparams.n_embd_head_v(il); + + if (n_embd_v % blck_size != 0) { + LLAMA_LOG_ERROR("%s: V cache type %s with block size %u does not divide %s=%u\n", + __func__, ggml_type_name(params.type_v), blck_size, + is_tbq_v ? "n_embd_v_gqa" : "n_embd_head_v", n_embd_v); return nullptr; } } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 14f44c10172c..842047bdfc08 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7771,17 +7771,31 @@ static std::vector> make_test_cases_eval() { } } for (ggml_type type_src : all_types) { - for (ggml_type type_dst : {GGML_TYPE_F32}) { - test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 4, 4, 4})); - test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 2, 3, 4}, {0, 2, 1, 3})); // cpy by rows + if (!ggml_is_quantized(type_src)) { + continue; } + test_cases.emplace_back(new test_cpy(type_src, GGML_TYPE_F32, {256, 4, 4, 4})); + test_cases.emplace_back(new test_cpy(type_src, GGML_TYPE_F32, {256, 2, 3, 4}, {0, 2, 1, 3})); // cpy by rows + } + for (ggml_type type : turboq_types) { + test_cases.emplace_back(new test_cpy(type, GGML_TYPE_F32, {256, 4, 4, 4})); + test_cases.emplace_back(new test_cpy(type, GGML_TYPE_F32, {256, 2, 3, 4}, {0, 2, 1, 3})); // cpy by rows } for (ggml_type type_src : all_types) { + if (!ggml_is_quantized(type_src)) { + continue; + } for (ggml_type type_dst : {GGML_TYPE_F16, GGML_TYPE_BF16}) { test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 4, 4, 4})); test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 2, 3, 4}, {0, 2, 1, 3})); // cpy by rows } } + for (ggml_type type : turboq_types) { + for (ggml_type type_dst : {GGML_TYPE_F16, GGML_TYPE_BF16}) { + test_cases.emplace_back(new test_cpy(type, type_dst, {256, 4, 4, 4})); + test_cases.emplace_back(new test_cpy(type, type_dst, {256, 2, 3, 4}, {0, 2, 1, 3})); // cpy by rows + } + } for (ggml_type type_src : {GGML_TYPE_F16, GGML_TYPE_F32}) { for (ggml_type type_dst : {GGML_TYPE_F16, GGML_TYPE_F32}) { test_cases.emplace_back(new test_cpy(type_src, type_dst, {256, 2, 3, 4}, {1, 0, 2, 3})); // cpy not-contiguous From e3b22f09f7ea2c588ffbdb3363f1a89f6f5ed974 Mon Sep 17 00:00:00 2001 From: sachmans Date: Fri, 3 Apr 2026 13:16:49 +0400 Subject: [PATCH 4/7] turboquant: use Apple Accelerate cblas_sgemv for 2x faster dequant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace scalar/AVX2 matrix-vector multiply in TurboQuant rotation with cblas_sgemv from Apple's Accelerate framework. This uses the AMX coprocessor on Apple Silicon for the 128x128 dense rotation matrix multiply during dequantization. Results on Mac Studio M3 Ultra, Qwen3-32B Q4_K_M: TBQ4_0 K + F16 V: 7.40 → 14.00 t/s (1.89x faster, 86% of F16) TBQ4_0 K + TBQ4_0 V: 5.32 → 11.04 t/s (2.07x faster, 67% of F16) Quality unchanged (PPL within noise margin). --- ggml/src/CMakeLists.txt | 9 ++++++ ggml/src/ggml-turboq.c | 71 +++++++++++++++++++++++++---------------- 2 files changed, 53 insertions(+), 27 deletions(-) diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 46bdfa0d9305..a50af71c4140 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -216,6 +216,15 @@ set_target_properties(ggml-base PROPERTIES ) target_include_directories(ggml-base PRIVATE .) + +# Link Accelerate framework for TurboQuant cblas_sgemv on Apple Silicon +if (APPLE) + find_library(ACCELERATE_FRAMEWORK Accelerate) + if (ACCELERATE_FRAMEWORK) + target_link_libraries(ggml-base PRIVATE ${ACCELERATE_FRAMEWORK}) + endif() +endif() + if (GGML_BACKEND_DL) target_compile_definitions(ggml-base PUBLIC GGML_BACKEND_DL) endif() diff --git a/ggml/src/ggml-turboq.c b/ggml/src/ggml-turboq.c index 58d260a214b7..ecaf9fdc0d32 100644 --- a/ggml/src/ggml-turboq.c +++ b/ggml/src/ggml-turboq.c @@ -18,6 +18,11 @@ #include #endif +#if defined(__APPLE__) +#include +#define TURBOQ_USE_ACCELERATE 1 +#endif + #if defined(__GNUC__) || defined(__clang__) #define TURBOQ_TLS __thread #elif defined(_MSC_VER) @@ -252,28 +257,34 @@ static const float * turboq_get_projection_row(int64_t d, uint64_t seed) { // Dense matrix-vector multiply: y = M * x (M is d×d column-major) // --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// Dense matrix-vector multiply using Accelerate (cblas) on Apple Silicon +// Falls back to scalar/AVX2 on other platforms +// --------------------------------------------------------------------------- + +// y = M * x (M is d×d column-major) static void matvec(float * y, const float * M, const float * x, int64_t d) { +#if TURBOQ_USE_ACCELERATE + // cblas_sgemv: y = alpha * M * x + beta * y + // M is column-major, CblasColMajor, CblasNoTrans + cblas_sgemv(CblasColMajor, CblasNoTrans, (int)d, (int)d, 1.0f, M, (int)d, x, 1, 0.0f, y, 1); +#else for (int64_t i = 0; i < d; i++) { float sum = 0.0f; for (int64_t j = 0; j < d; j++) { - sum += M[i + j * d] * x[j]; // M[i,j] = M[i + j*d] (column-major) + sum += M[i + j * d] * x[j]; } y[i] = sum; } -} - -#if defined(__AVX2__) -static inline float turboq_hsum_avx(__m256 v) { - __m128 lo = _mm256_castps256_ps128(v); - __m128 hi = _mm256_extractf128_ps(v, 1); - __m128 sum = _mm_add_ps(lo, hi); - sum = _mm_hadd_ps(sum, sum); - sum = _mm_hadd_ps(sum, sum); - return _mm_cvtss_f32(sum); -} #endif +} +// y = M_row * x (M_row is d×d row-major) static void matvec_row(float * y, const float * M, const float * x, int64_t d) { +#if TURBOQ_USE_ACCELERATE + // Row-major M with CblasRowMajor + cblas_sgemv(CblasRowMajor, CblasNoTrans, (int)d, (int)d, 1.0f, M, (int)d, x, 1, 0.0f, y, 1); +#else for (int64_t i = 0; i < d; ++i) { const float * row = M + i * d; float sum = 0.0f; @@ -283,26 +294,30 @@ static void matvec_row(float * y, const float * M, const float * x, int64_t d) { for (; j + 7 < d; j += 8) { const __m256 mv = _mm256_loadu_ps(row + j); const __m256 xv = _mm256_loadu_ps(x + j); -#if defined(__FMA__) - acc = _mm256_fmadd_ps(mv, xv, acc); -#else acc = _mm256_add_ps(acc, _mm256_mul_ps(mv, xv)); -#endif } - sum += turboq_hsum_avx(acc); + // horizontal sum + __m128 lo = _mm256_castps256_ps128(acc); + __m128 hi = _mm256_extractf128_ps(acc, 1); + __m128 s128 = _mm_add_ps(lo, hi); + s128 = _mm_hadd_ps(s128, s128); + s128 = _mm_hadd_ps(s128, s128); + sum += _mm_cvtss_f32(s128); #endif for (; j < d; ++j) { sum += row[j] * x[j]; } y[i] = sum; } +#endif } -// --------------------------------------------------------------------------- -// Dense matrix-transpose-vector multiply: y = M^T * x (M is d×d column-major) -// --------------------------------------------------------------------------- - +// y = M^T * x (M is d×d column-major) static void matvec_t(float * y, const float * M, const float * x, int64_t d) { +#if TURBOQ_USE_ACCELERATE + // M^T with CblasColMajor, CblasTrans + cblas_sgemv(CblasColMajor, CblasTrans, (int)d, (int)d, 1.0f, M, (int)d, x, 1, 0.0f, y, 1); +#else for (int64_t j = 0; j < d; j++) { const float * col = M + j * d; float sum = 0.0f; @@ -312,19 +327,21 @@ static void matvec_t(float * y, const float * M, const float * x, int64_t d) { for (; i + 7 < d; i += 8) { const __m256 mv = _mm256_loadu_ps(col + i); const __m256 xv = _mm256_loadu_ps(x + i); -#if defined(__FMA__) - acc = _mm256_fmadd_ps(mv, xv, acc); -#else acc = _mm256_add_ps(acc, _mm256_mul_ps(mv, xv)); -#endif } - sum += turboq_hsum_avx(acc); + __m128 lo = _mm256_castps256_ps128(acc); + __m128 hi = _mm256_extractf128_ps(acc, 1); + __m128 s128 = _mm_add_ps(lo, hi); + s128 = _mm_hadd_ps(s128, s128); + s128 = _mm_hadd_ps(s128, s128); + sum += _mm_cvtss_f32(s128); #endif for (; i < d; ++i) { - sum += col[i] * x[i]; // M^T[j,i] = M[i,j] = M[i + j*d] + sum += col[i] * x[i]; } y[j] = sum; } +#endif } // --------------------------------------------------------------------------- From 6a2e0ac39b2db863dd2ff014695fc5b5ed752887 Mon Sep 17 00:00:00 2001 From: sachmans Date: Fri, 3 Apr 2026 13:25:42 +0400 Subject: [PATCH 5/7] turboquant: add norm correction to dequant for better quality MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After inverse rotation, re-normalize the reconstructed unit vector to unit length before scaling by the original norm. This removes magnitude bias from codebook quantization error. Results on Qwen3-32B Q4_K_M (PPL, lower is better): TBQ4_0 K+V: 2.751 → 2.733 (+1.3% → +0.6% vs F16) TBQ4_0 K+F16 V: 2.733 → 2.724 (+0.6% → +0.3% vs F16) TBQ4_0 K+TBQ3_0 V: 2.767 → 2.730 (+1.9% → +0.5% vs F16) 4.5x compression at +0.5% quality loss (TBQ4_0 K + TBQ3_0 V). --- ggml/src/ggml-turboq.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-turboq.c b/ggml/src/ggml-turboq.c index ecaf9fdc0d32..87865d63fb02 100644 --- a/ggml/src/ggml-turboq.c +++ b/ggml/src/ggml-turboq.c @@ -588,8 +588,15 @@ void dequantize_row_tbq3_0(const block_tbq3_0 * GGML_RESTRICT x, float * GGML_RE turboq_rotate_block_inverse(unit_approx, rotated, seed); + // Norm correction: re-normalize unit_approx to unit length + float recon_norm_sq = 0.0f; + for (int64_t j = 0; j < QK_K; j++) { + recon_norm_sq += unit_approx[j] * unit_approx[j]; + } + float recon_scale = (recon_norm_sq > 1e-20f) ? (norm / sqrtf(recon_norm_sq)) : norm; + for (int64_t j = 0; j < QK_K; ++j) { - y[b * QK_K + j] = unit_approx[j] * norm; + y[b * QK_K + j] = unit_approx[j] * recon_scale; } } } @@ -677,8 +684,16 @@ void dequantize_row_tbq4_0(const block_tbq4_0 * GGML_RESTRICT x, float * GGML_RE turboq_rotate_block_inverse(unit_approx, rotated, seed); + // Norm correction: re-normalize unit_approx to unit length + // This removes magnitude bias from quantization error + float recon_norm_sq = 0.0f; + for (int64_t j = 0; j < QK_K; j++) { + recon_norm_sq += unit_approx[j] * unit_approx[j]; + } + float recon_scale = (recon_norm_sq > 1e-20f) ? (norm / sqrtf(recon_norm_sq)) : norm; + for (int64_t j = 0; j < QK_K; ++j) { - y[b * QK_K + j] = unit_approx[j] * norm; + y[b * QK_K + j] = unit_approx[j] * recon_scale; } } } From 17435f00855436a21b638f43a6dfb73b867c40ad Mon Sep 17 00:00:00 2001 From: sachmans Date: Sat, 4 Apr 2026 00:19:05 +0400 Subject: [PATCH 6/7] docs: add TurboQuant benchmarks and usage to README Add comprehensive benchmark section covering: - PPL comparison (F16, Q8_0, Q4_0, TBQ4_0, TBQ3_0) - Speed benchmarks (18% overhead noted) - Max context length across 4 models (8B to 72B) - Usage examples, known limitations, and roadmap - Link to experimental/qjl-error-correction branch --- README.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/README.md b/README.md index be23abcea67f..2da4c863fd29 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,86 @@ LLM inference in C/C++ ---- +## TurboQuant KV Cache (This Fork) + +> **This fork extends [PR #21089](https://github.com/ggerganov/llama.cpp/pull/21089) (elusznik's CPU TurboQuant) with two optimizations that improve speed and quality.** + +TurboQuant compresses the KV cache using Householder rotation + Lloyd-Max codebooks, enabling **3.9–5.2× memory compression** with minimal quality loss. On a 96GB Mac Studio, Qwen3-32B goes from **278K → 1.45M token context**. + +### Benchmark: Quality (Perplexity) + +Qwen3-32B Q4_K_M, wikitext-2, Mac Studio M3 Ultra 96GB, `-ngl 99`, 8 chunks: + +| KV Type | Origin | PPL ↓ | vs F16 | Bits/elem | Compression | +|---------|--------|-------|--------|-----------|-------------| +| F16 | baseline | 5.798 | — | 16.00 | 1.0× | +| Q8_0 | baseline | 5.797 | −0.01% | 8.50 | 1.9× | +| Q4_0 | baseline | 5.857 | +1.0% | 4.50 | 3.6× | +| **TBQ4_0** | **TurboQuant** | **5.872** | **+1.3%** | **4.06** | **3.9×** | +| **TBQ3_0** | **TurboQuant** | **6.068** | **+4.7%** | **3.06** | **5.2×** | + +### Benchmark: Speed (Prompt Evaluation) + +| KV Type | Prompt Eval (t/s) | vs F16 | Notes | +|---------|-------------------|--------|-------| +| F16 | 278 | — | baseline | +| Q8_0 | 269 | −3% | | +| Q4_0 | 271 | −3% | | +| **TBQ4_0** | **228** | **−18%** | Householder dequant overhead (CPU) | +| **TBQ3_0** | **228** | **−18%** | same as TBQ4_0 | + +Speed overhead is due to the Householder matrix-vector multiply during dequantization, currently running on CPU via Apple Accelerate. A Metal SET_ROWS kernel would eliminate this penalty. + +### Benchmark: Max Context Length (96GB Mac Studio) + +| Model | Weights | F16 | Q4_0 | TBQ4_0 | TBQ3_0 | +|-------|---------|-----|------|--------|--------| +| Llama-3.1-8B (Q4_K_M) | ~5 GB | 696K | 2.47M | **2.74M** | **3.64M** | +| Qwen3-32B (Q4_K_M) | ~19 GB | 278K | 988K | **1.10M** | **1.45M** | +| Llama-3.3-70B (Q4_K_M) | ~40 GB | 164K | 583K | **646K** | **857K** | +| Qwen2.5-72B (Q4_K_M) | ~43 GB | 154K | 548K | **606K** | **805K** | + +### Our Optimizations (On Top of PR #21089) + +1. **Apple Accelerate `cblas_sgemv`** (`95fb4fe`) — 2× faster dequant on M-series via AMX coprocessor +2. **L2 norm correction** (`c2621e3`) — re-normalize unit vector after dequant, halves PPL gap vs F16 + +### Experimental: QJL Error Correction + +See branch [`experimental/qjl-error-correction`](https://github.com/SeKondBrainAILabs/llama.cpp-turboquant/tree/experimental/qjl-error-correction) for TBQP4_0 and TBQP3_0 types that add 1-bit QJL (Quantized Johnson-Lindenstrauss) sign correction. Results: QJL reduces 2-bit PPL by 28%, but straight codebook types (TBQ3_0, TBQ4_0) remain more efficient at equivalent bit-rates. + +### Usage + +```bash +cmake -B build -DGGML_METAL=ON +cmake --build build -j + +# Perplexity benchmark +./build/bin/llama-perplexity \ + -hf bartowski/Qwen2.5-32B-Instruct-GGUF:Q4_K_M \ + -f wiki.test.raw -ctk tbq4_0 -ctv tbq4_0 --chunks 8 -ngl 99 + +# Server with mixed K/V (best quality/compression trade-off) +./build/bin/llama-server \ + -hf bartowski/Qwen2.5-32B-Instruct-GGUF:Q4_K_M \ + -ctk tbq4_0 -ctv tbq3_0 --host 0.0.0.0 --port 8080 -ngl 99 +``` + +### Known Limitations + +- **Speed**: 18% slower prompt eval due to CPU-based Householder dequant. Needs Metal kernel. +- **CPU-only KV cache**: TBQ types require KV cache on CPU (no Metal SET_ROWS kernel yet). +- **Model compatibility**: Qwen2.5-VL-7B broken with any KV quant below Q8_0 (upstream issue). + +### Roadmap + +- [ ] **Metal SET_ROWS kernel**: eliminate speed penalty by moving dequant to GPU +- [ ] **Cross-architecture validation**: benchmark on Llama, Mistral, Gemma +- [ ] **Needle-in-a-haystack eval**: verify retrieval quality at 500K+ tokens +- [ ] **Upstream PR**: submit Accelerate + norm correction to PR #21089 + +---- + ## Quick start Getting started with llama.cpp is straightforward. Here are several ways to install it on your machine: From ab0b4d36c1e1ddf1fe7268a221a73480e98b50f9 Mon Sep 17 00:00:00 2001 From: sachmans Date: Sat, 11 Apr 2026 17:09:51 +0400 Subject: [PATCH 7/7] turboquant: add Metal GPU dequant kernels and host buffer type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stage 1: Metal compute kernels for TBQ3_0/TBQ4_0 → F16/F32 dequant (CPY op). Applies inverse Householder QR rotation and Lloyd-Max codebook lookup on GPU. Includes baked 128×128 rotation matrix in ggml-metal-turboq-rot.h. Stage 2: New Metal "host" buffer type (MTL0_Host) backed by shared-storage MTLBuffer with is_host=true. KV cache tensors allocated here are accessible by both Metal backend (GPU dequant via CPY) and CPU backend (SET_ROWS for F32→TBQ quantize). The ggml scheduler routes each op to the appropriate backend automatically. KV cache allocation updated to use host buffer type for TBQ types when available, falling back to CPU buffer otherwise. Benchmarks (Gemma 3 4B Q4_K_M, Mac Studio M3 Ultra): - TBQ4_0+TBQ3_0 K+V: 4.49× KV compression, coherent output verified - Metal host buft confirmed active (MTL0_Host in load logs) Co-Authored-By: Claude Opus 4.6 --- ggml/src/ggml-metal/CMakeLists.txt | 22 +- ggml/src/ggml-metal/ggml-metal-device.m | 9 + ggml/src/ggml-metal/ggml-metal-ops.cpp | 54 +- ggml/src/ggml-metal/ggml-metal-turboq-rot.h | 8203 +++++++++++++++++++ ggml/src/ggml-metal/ggml-metal.cpp | 95 +- ggml/src/ggml-metal/ggml-metal.metal | 181 + ggml/src/ggml-turboq.c | 48 + src/llama-kv-cache.cpp | 21 +- 8 files changed, 8600 insertions(+), 33 deletions(-) create mode 100644 ggml/src/ggml-metal/ggml-metal-turboq-rot.h diff --git a/ggml/src/ggml-metal/CMakeLists.txt b/ggml/src/ggml-metal/CMakeLists.txt index 42054d841aa3..be66581d96b3 100644 --- a/ggml/src/ggml-metal/CMakeLists.txt +++ b/ggml/src/ggml-metal/CMakeLists.txt @@ -24,6 +24,7 @@ if (GGML_METAL_NDEBUG) endif() set(METALLIB_COMMON "${CMAKE_CURRENT_SOURCE_DIR}/../ggml-common.h") +set(METALLIB_TURBOQ_ROT "${CMAKE_CURRENT_SOURCE_DIR}/ggml-metal-turboq-rot.h") if (GGML_METAL_EMBED_LIBRARY) enable_language(ASM) @@ -35,22 +36,24 @@ if (GGML_METAL_EMBED_LIBRARY) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/autogenerated") # merge ggml-common.h and ggml-metal.metal into a single file - set(METALLIB_EMBED_ASM "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.s") - set(METALLIB_SOURCE_EMBED "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.metal") - set(METALLIB_SOURCE_EMBED_TMP "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.metal.tmp") + set(METALLIB_EMBED_ASM "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.s") + set(METALLIB_SOURCE_EMBED "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.metal") + set(METALLIB_SOURCE_EMBED_TMP "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.metal.tmp") + set(METALLIB_SOURCE_EMBED_TMP2 "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.metal.tmp2") add_custom_command( OUTPUT "${METALLIB_EMBED_ASM}" COMMAND echo "Embedding Metal library" - COMMAND sed -e "/__embed_ggml-common.h__/r ${METALLIB_COMMON}" -e "/__embed_ggml-common.h__/d" < "${METALLIB_SOURCE}" > "${METALLIB_SOURCE_EMBED_TMP}" - COMMAND sed -e "/\#include \"ggml-metal-impl.h\"/r ${METALLIB_IMPL}" -e "/\#include \"ggml-metal-impl.h\"/d" < "${METALLIB_SOURCE_EMBED_TMP}" > "${METALLIB_SOURCE_EMBED}" + COMMAND sed -e "/__embed_ggml-common.h__/r ${METALLIB_COMMON}" -e "/__embed_ggml-common.h__/d" < "${METALLIB_SOURCE}" > "${METALLIB_SOURCE_EMBED_TMP}" + COMMAND sed -e "/\#include \"ggml-metal-impl.h\"/r ${METALLIB_IMPL}" -e "/\#include \"ggml-metal-impl.h\"/d" < "${METALLIB_SOURCE_EMBED_TMP}" > "${METALLIB_SOURCE_EMBED_TMP2}" + COMMAND sed -e "/__embed_ggml-metal-turboq-rot.h__/r ${METALLIB_TURBOQ_ROT}" -e "/__embed_ggml-metal-turboq-rot.h__/d" < "${METALLIB_SOURCE_EMBED_TMP2}" > "${METALLIB_SOURCE_EMBED}" COMMAND echo ".section __DATA,__ggml_metallib" > "${METALLIB_EMBED_ASM}" COMMAND echo ".globl _ggml_metallib_start" >> "${METALLIB_EMBED_ASM}" COMMAND echo "_ggml_metallib_start:" >> "${METALLIB_EMBED_ASM}" COMMAND echo .incbin "\"${METALLIB_SOURCE_EMBED}\"" >> "${METALLIB_EMBED_ASM}" COMMAND echo ".globl _ggml_metallib_end" >> "${METALLIB_EMBED_ASM}" COMMAND echo "_ggml_metallib_end:" >> "${METALLIB_EMBED_ASM}" - DEPENDS ../ggml-common.h ggml-metal.metal ggml-metal-impl.h + DEPENDS ../ggml-common.h ggml-metal.metal ggml-metal-impl.h ggml-metal-turboq-rot.h COMMENT "Generate assembly for embedded Metal library" VERBATIM ) @@ -58,9 +61,10 @@ if (GGML_METAL_EMBED_LIBRARY) target_sources(ggml-metal PRIVATE "${METALLIB_EMBED_ASM}") else() # copy metal files to bin directory - configure_file(../ggml-common.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-common.h COPYONLY) - configure_file(ggml-metal.metal ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal.metal COPYONLY) - configure_file(ggml-metal-impl.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal-impl.h COPYONLY) + configure_file(../ggml-common.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-common.h COPYONLY) + configure_file(ggml-metal.metal ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal.metal COPYONLY) + configure_file(ggml-metal-impl.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal-impl.h COPYONLY) + configure_file(ggml-metal-turboq-rot.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal-turboq-rot.h COPYONLY) if (GGML_METAL_SHADER_DEBUG) # custom command to do the following: diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 17d51b11b6e5..c680ec64508c 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -1222,6 +1222,15 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te default: return false; } + case GGML_TYPE_TBQ3_0: + case GGML_TYPE_TBQ4_0: + switch (op->type) { + case GGML_TYPE_F32: + case GGML_TYPE_F16: + return true; + default: + return false; + } case GGML_TYPE_I32: return op->type == GGML_TYPE_F32 || op->type == GGML_TYPE_I32; default: diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp index 3cda21be43e6..4938d455ca78 100644 --- a/ggml/src/ggml-metal/ggml-metal-ops.cpp +++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp @@ -1845,31 +1845,47 @@ int ggml_metal_op_cpy(ggml_metal_op_t ctx, int idx) { GGML_ASSERT(ne00 % ggml_blck_size(op->src[0]->type) == 0); - int64_t nk0 = ne00; - if (ggml_is_quantized(op->src[0]->type)) { - nk0 = ne00/16; - } else if (ggml_is_quantized(op->type)) { - nk0 = ne00/ggml_blck_size(op->type); - } + const bool tbq_src = + op->src[0]->type == GGML_TYPE_TBQ3_0 || + op->src[0]->type == GGML_TYPE_TBQ4_0; - int nth = std::min(nk0, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + int64_t nk0 = ne00; + int nth = 0; + int nrptg = 1; + int nw0 = 0; + + if (tbq_src) { + // TurboQuant dequant: one threadgroup per 256-element block, + // 128 threads per threadgroup (matches TURBOQ_KV_DIM). + nk0 = ne00 / 256; // number of blocks per row (QK_K=256) + nth = 128; + nrptg = 1; + nw0 = nk0; // one threadgroup per block (no thread-wrap) + } else { + if (ggml_is_quantized(op->src[0]->type)) { + nk0 = ne00/16; + } else if (ggml_is_quantized(op->type)) { + nk0 = ne00/ggml_blck_size(op->type); + } - // when rows are small, we can batch them together in a single threadgroup - int nrptg = 1; + nth = std::min(nk0, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); - // TODO: relax this constraint in the future - if (ggml_blck_size(op->src[0]->type) == 1 && ggml_blck_size(op->type) == 1) { - if (nth > nk0) { - nrptg = (nth + nk0 - 1)/nk0; - nth = nk0; + // when rows are small, we can batch them together in a single threadgroup + // TODO: relax this constraint in the future + if (ggml_blck_size(op->src[0]->type) == 1 && ggml_blck_size(op->type) == 1) { + if (nth > nk0) { + nrptg = (nth + nk0 - 1)/nk0; + nth = nk0; - if (nrptg*nth > ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { - nrptg--; + if (nrptg*nth > ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nrptg--; + } } } - } - nth = std::min(nth, nk0); + nth = std::min(nth, nk0); + nw0 = nrptg == 1 ? (int)((nk0 + nth - 1)/nth) : 1; + } ggml_metal_kargs_cpy args = { /*.nk0 =*/ nk0, @@ -1891,8 +1907,6 @@ int ggml_metal_op_cpy(ggml_metal_op_t ctx, int idx) { /*.nb3 =*/ nb3, }; - const int nw0 = nrptg == 1 ? (nk0 + nth - 1)/nth : 1; - ggml_metal_encoder_set_pipeline(enc, pipeline); ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); diff --git a/ggml/src/ggml-metal/ggml-metal-turboq-rot.h b/ggml/src/ggml-metal/ggml-metal-turboq-rot.h new file mode 100644 index 000000000000..e7ebffd1b84d --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-turboq-rot.h @@ -0,0 +1,8203 @@ +// Auto-generated by ggml-turboq.c (TURBOQ_DUMP_Q=1). +// TurboQuant 128x128 rotation matrices, baked for Metal shaders. +// Seed: 0x517cc1b727220a95 + +#pragma once + +constant float TURBOQ_QT_128[128 * 128] = { + 1.640247852e-01f, -1.157175284e-02f, -5.487721413e-02f, -6.045513973e-02f, + 2.577261766e-03f, -3.500252264e-03f, 1.250369251e-01f, 2.045899257e-02f, + -1.008859053e-01f, -7.586523890e-02f, -7.236827910e-02f, 5.690545077e-04f, + 1.164149269e-01f, 3.602996469e-02f, 2.728689648e-02f, 5.149085075e-02f, + 4.444332793e-02f, 5.482946709e-02f, -4.924599826e-02f, -9.511081129e-02f, + 1.581997722e-01f, 1.041606739e-01f, -6.093833596e-02f, 3.783135489e-02f, + 1.765946299e-01f, 5.723712221e-02f, 4.882783070e-02f, -7.414751500e-02f, + -9.465973824e-03f, 2.237100750e-01f, -9.759178758e-02f, -2.898307145e-02f, + 1.383596510e-01f, 3.394550458e-02f, -7.249343395e-02f, 1.641195454e-02f, + -1.128648780e-02f, 1.002075076e-01f, -4.379451275e-02f, 9.757694788e-03f, + -3.588235006e-02f, -1.246360019e-01f, 1.531640347e-02f, -1.007282212e-01f, + 1.468655020e-01f, 1.037133764e-02f, -5.763586238e-02f, -3.942292556e-02f, + -1.500853151e-01f, 1.910099685e-01f, 5.713807046e-02f, -7.691679895e-02f, + -6.152030826e-02f, -5.881745368e-02f, -1.311514229e-01f, -1.267296821e-01f, + -7.062833011e-02f, 5.792012066e-02f, 6.116915867e-02f, 1.397572551e-02f, + -2.983482182e-02f, -1.697411388e-01f, -5.873423070e-02f, 7.547904737e-03f, + -1.085881218e-01f, 1.038120016e-01f, -1.615454815e-02f, 5.374041572e-02f, + -1.084317490e-01f, 6.513620168e-02f, -4.941632971e-02f, 1.114201397e-01f, + -4.053990915e-02f, -1.390830725e-01f, 1.082466319e-01f, -8.311004937e-02f, + 1.212415025e-01f, 8.730378747e-02f, 4.010602459e-02f, 1.040692851e-01f, + -2.612833492e-02f, -3.040767089e-02f, 5.718916282e-02f, -4.499166831e-02f, + 2.593709826e-01f, -5.832938012e-03f, -1.827893555e-01f, -2.705027461e-01f, + 6.112176459e-03f, 4.756305832e-03f, -7.175585628e-02f, 1.778857782e-02f, + -7.503802329e-02f, 1.276684254e-01f, 7.200354012e-04f, -7.204621565e-03f, + -2.183697373e-02f, 9.946682304e-02f, -7.539893687e-02f, 2.726209536e-02f, + 2.195740491e-02f, 1.978868805e-02f, 5.862779170e-02f, 6.506175548e-02f, + 1.404762268e-01f, -1.425852627e-01f, -5.935161188e-02f, 8.265122771e-02f, + 2.738344669e-02f, -6.820798665e-02f, 1.231401190e-01f, -9.849557281e-02f, + 3.375022486e-02f, 3.690709826e-03f, -1.157077309e-02f, 7.247836143e-02f, + 9.966939688e-02f, 8.937513828e-02f, -8.507732302e-02f, 4.115414247e-02f, + -5.015280913e-04f, -2.835687436e-02f, -1.912951469e-02f, 2.708529867e-02f, + 1.195289493e-01f, -6.525985897e-02f, 4.830962978e-03f, 7.350791246e-02f, + 1.120213866e-01f, -3.082128800e-02f, -7.929472625e-02f, -1.677575707e-01f, + 3.614524752e-02f, 6.195365265e-02f, -1.309013665e-01f, 5.805378780e-02f, + -8.320989460e-02f, 1.313631535e-01f, 3.330302611e-02f, 1.344884280e-02f, + -5.199444667e-02f, -1.834046468e-02f, 1.033282652e-01f, 1.347622722e-01f, + 4.364634678e-02f, -1.472436730e-02f, 6.674906611e-02f, -3.732949495e-03f, + -4.827861488e-02f, 1.986805350e-02f, -2.049538791e-01f, -6.130156689e-04f, + 3.025661595e-02f, 2.155472636e-01f, 1.506265718e-02f, 4.753318429e-02f, + 2.411343344e-02f, -1.372784972e-01f, 2.473424189e-02f, 1.557107419e-01f, + -5.732127279e-02f, -4.248822853e-02f, 1.251497269e-01f, 6.787586212e-02f, + 1.766871288e-02f, -1.711658686e-01f, 5.276159197e-02f, 1.442037523e-01f, + 6.816957891e-02f, 8.556992561e-02f, -5.810615048e-02f, -7.433447987e-02f, + 3.124381602e-02f, 4.434443265e-02f, 1.525596678e-01f, -8.742832392e-02f, + 1.676572263e-01f, 1.053785533e-02f, 4.077054095e-03f, 7.863728702e-02f, + 4.652332887e-02f, -3.495084867e-02f, 7.194440067e-02f, -1.329768300e-01f, + 1.525224298e-01f, 6.023567170e-02f, 2.188573033e-02f, 5.404763296e-02f, + 3.920448944e-02f, -7.153834403e-02f, -1.326783001e-01f, -7.976422459e-02f, + 5.800024793e-02f, -9.589173645e-02f, -2.535109781e-02f, 2.287651040e-02f, + 6.047616899e-02f, -2.091229893e-02f, 5.889109150e-02f, 7.501598448e-02f, + -2.367498726e-02f, -7.484200597e-02f, 1.419882663e-02f, -6.388816237e-02f, + -1.871005632e-02f, 3.264979273e-02f, -1.785887778e-01f, -5.242531747e-02f, + 3.483499214e-02f, -2.500699647e-02f, -2.487740293e-02f, -1.009992789e-02f, + 5.872841924e-02f, 1.326079220e-01f, 1.381945163e-01f, -9.316946566e-02f, + 9.362072498e-02f, 4.556410760e-02f, -8.334005624e-02f, -2.046489529e-02f, + -6.099083647e-02f, 2.075413018e-01f, 5.551347509e-02f, -5.875987932e-02f, + 2.502286993e-02f, -1.364931092e-02f, -6.624821573e-02f, 8.614076674e-02f, + -1.533566862e-01f, -4.558213800e-02f, -1.198768336e-02f, -2.839266788e-03f, + -3.373763710e-02f, -3.042601235e-02f, -1.685417816e-02f, -4.095855355e-02f, + -1.372782290e-01f, -8.302523941e-02f, 6.263744086e-02f, -7.813335955e-02f, + 9.656666219e-02f, 1.794642210e-01f, -8.686980233e-03f, 8.584346622e-02f, + -5.539631099e-02f, 2.260331661e-01f, 1.390176862e-01f, 1.233111471e-01f, + -2.208031528e-02f, -1.020621061e-01f, -9.194711596e-02f, -1.197966412e-01f, + -1.128484756e-01f, 2.260954306e-02f, 1.280872431e-02f, -9.731822461e-02f, + 1.091258973e-01f, 5.559910461e-02f, 6.704656035e-02f, 7.144518197e-02f, + 9.100082517e-02f, -9.696519375e-02f, 9.356457740e-02f, 1.205397546e-01f, + 1.832043193e-02f, -3.325725719e-02f, -2.967791818e-02f, 2.533445060e-01f, + -9.702711552e-02f, -7.494086772e-02f, 8.845572174e-02f, 3.310741484e-02f, + 4.215176031e-02f, 1.009661052e-02f, 1.735099964e-02f, -2.367295623e-01f, + -1.917689443e-01f, 1.937360503e-02f, 1.282212287e-01f, 7.619700581e-02f, + 5.274266936e-03f, -2.959591709e-02f, -3.053830378e-02f, -9.558034688e-02f, + -8.294350468e-03f, 2.187420055e-02f, 1.074945852e-01f, 4.200850800e-02f, + -3.067903593e-02f, 1.954666525e-02f, 2.025558054e-02f, -7.143762708e-02f, + -2.322323024e-01f, -1.326885819e-01f, 9.577563033e-03f, -2.848213539e-02f, + 1.034405902e-01f, 6.170082465e-02f, 1.280654222e-01f, 2.193463035e-02f, + -8.488508314e-02f, 5.414638296e-02f, -6.475942582e-02f, 6.425591558e-02f, + 3.881997615e-02f, -1.089852601e-01f, -3.112561628e-02f, -7.801780105e-02f, + -1.129291486e-02f, -2.926629037e-02f, 2.710645087e-02f, 2.491392940e-02f, + 2.377587836e-03f, -3.235699609e-02f, -1.002737209e-01f, -1.414314657e-01f, + 6.051900983e-02f, -1.822773665e-01f, 8.354111761e-02f, -2.024522237e-02f, + 4.177154228e-02f, -8.172319829e-02f, 1.050059199e-01f, 3.230439499e-02f, + -1.315997243e-01f, -3.761375695e-02f, 8.535041660e-02f, -4.758722789e-04f, + -3.344197571e-02f, 7.146929950e-02f, 8.949019015e-02f, -2.611401677e-02f, + -2.294284664e-02f, -8.807459846e-03f, -7.142914110e-04f, 4.108653963e-02f, + 4.388334230e-02f, 7.296846807e-02f, 1.158303022e-01f, -1.359015256e-01f, + 3.719669580e-02f, -1.057069078e-01f, 6.198863313e-02f, -8.918244392e-02f, + 1.388698630e-02f, -7.520100474e-02f, -1.377272159e-01f, 9.877665341e-02f, + 1.217132136e-01f, -9.254092723e-02f, -2.037962526e-02f, -6.149504706e-02f, + 6.997293234e-02f, 9.304141626e-03f, -1.423691213e-01f, 2.300411612e-01f, + 1.363254339e-01f, 1.654850692e-02f, 1.272286326e-01f, 1.203258485e-01f, + -4.928067327e-02f, -2.649836056e-02f, -4.430146515e-02f, -1.375539601e-02f, + -1.055091396e-01f, 7.144569606e-02f, -2.666192129e-02f, -1.155755967e-01f, + -3.703100234e-02f, 7.116319984e-02f, -4.864872992e-02f, 1.068513691e-01f, + 9.724875540e-02f, -1.380716413e-01f, -3.637096146e-03f, 2.891009487e-02f, + -1.191031411e-01f, 1.170236170e-01f, -3.666774184e-02f, -1.750025600e-01f, + -7.477245480e-02f, -1.391197275e-02f, -7.910075784e-02f, 1.015710831e-02f, + -7.848165929e-02f, -1.882943884e-02f, 4.010017961e-02f, -8.193201385e-03f, + -9.831982106e-02f, -8.538829535e-02f, 8.083884418e-02f, 5.296736211e-02f, + 1.310888976e-01f, 8.824758232e-02f, -2.046426386e-01f, -4.303312302e-02f, + 1.558983028e-01f, -3.191622719e-02f, -3.296414018e-02f, -7.912807167e-02f, + -9.204202890e-02f, 1.504987478e-01f, 7.697107643e-02f, 8.279810101e-02f, + 4.133168235e-02f, 6.660797447e-02f, -1.923407614e-02f, -8.475825936e-02f, + -1.637682319e-02f, 3.959369287e-02f, -2.600818500e-02f, 2.781789005e-02f, + -6.936178356e-02f, 9.664333612e-02f, -5.388914794e-02f, 2.185084075e-01f, + -2.434962243e-02f, -3.899675561e-03f, 2.690127492e-02f, 4.326180741e-02f, + 8.211325109e-02f, -1.414203942e-01f, 6.406237185e-02f, 9.006492794e-02f, + 3.810063750e-02f, 2.418542467e-02f, -6.475153565e-02f, 8.219923824e-02f, + -1.043638438e-01f, 3.063843818e-03f, 1.277110428e-01f, -7.137911860e-03f, + 4.512922466e-02f, 1.515809894e-01f, -6.716427952e-02f, -8.375729434e-03f, + -1.226398125e-01f, 6.116900593e-02f, 8.337356895e-02f, 2.098909765e-01f, + 4.162798822e-02f, -4.252208862e-03f, 2.412855998e-02f, 3.964798525e-03f, + 2.939994261e-02f, -6.072835997e-02f, -6.041749939e-02f, 7.190600783e-02f, + -6.986618787e-02f, -8.568168432e-02f, -5.970103666e-02f, 2.597421408e-01f, + -5.056079477e-02f, 1.251755748e-02f, -6.820394099e-02f, 5.298289470e-03f, + -5.312094092e-02f, 1.195736155e-01f, 3.995849565e-02f, 8.958723396e-02f, + -1.613757163e-01f, -6.062104553e-02f, 4.500809312e-02f, -3.078047931e-02f, + -1.155626103e-01f, 6.403214484e-02f, -1.294493396e-02f, -1.486957222e-01f, + 6.202973798e-02f, -5.812194571e-02f, 7.831287384e-02f, 4.594906792e-02f, + -7.992932200e-02f, -5.946604162e-02f, -4.280615598e-02f, 1.683434248e-01f, + -1.055383310e-02f, -8.503617346e-02f, 1.607994139e-01f, -5.256370455e-02f, + -1.528219283e-01f, 8.828885853e-02f, 2.008685768e-01f, -6.080800202e-03f, + -4.053714126e-02f, -1.508632209e-02f, 3.935889155e-02f, -8.670477569e-02f, + 1.353457570e-01f, 2.949881554e-02f, -6.121152267e-02f, 1.334732473e-01f, + -8.597970009e-02f, -1.358870231e-02f, 2.948430553e-02f, -2.101292647e-02f, + 4.453898966e-02f, 4.432700947e-02f, 4.032536224e-02f, -8.029589057e-02f, + 7.347021997e-02f, -1.802474144e-03f, -3.269013017e-02f, 4.644857347e-02f, + 2.946075238e-02f, -6.498850882e-03f, -1.353928894e-01f, -1.164925396e-01f, + 3.334128857e-02f, -1.582616419e-01f, -1.760683022e-02f, 2.180766016e-01f, + 1.042653844e-01f, 3.572931513e-02f, -1.141445264e-01f, 7.172933966e-02f, + -1.113202125e-01f, 1.415259857e-02f, -3.694735095e-02f, 1.170516666e-02f, + -5.604729429e-02f, 1.189414933e-01f, -1.725009233e-01f, -3.874227405e-02f, + 2.222799137e-02f, -1.230119839e-01f, -7.305698842e-02f, -1.755234152e-01f, + 2.128029242e-02f, 1.084092632e-02f, 1.058815941e-01f, 2.168313833e-03f, + -1.906654835e-01f, 6.164658070e-02f, 8.567461371e-02f, 5.573216453e-02f, + 1.493216008e-01f, -7.909738272e-02f, 1.270510405e-01f, 8.596383035e-02f, + 5.361556262e-02f, 3.737502545e-02f, -3.645145893e-02f, -6.783182919e-02f, + 6.151274219e-02f, -1.105409041e-01f, 3.454865422e-03f, -1.660490781e-01f, + -1.654815525e-01f, -8.512333035e-02f, 1.281193644e-01f, 3.804990277e-02f, + -3.076123260e-02f, 6.621341407e-02f, 1.062979084e-02f, 3.313359246e-02f, + 1.049583405e-01f, -4.982243478e-02f, 3.326978534e-02f, -1.434289813e-01f, + -6.534202397e-02f, -8.597292006e-02f, 9.787557274e-02f, 7.324832678e-02f, + -9.083189070e-02f, 6.264273822e-02f, 2.714281343e-02f, 1.348785609e-01f, + -2.652100846e-02f, 5.530934781e-02f, 1.157409549e-01f, 3.097859211e-02f, + -3.917377070e-02f, 5.283161253e-02f, -1.413780600e-01f, -6.723282486e-02f, + -2.684974752e-04f, -2.207584977e-01f, 1.218345463e-01f, -7.465571910e-02f, + 2.207588218e-02f, -3.743205965e-02f, -1.164572611e-01f, -1.876356080e-02f, + 3.755255044e-02f, 5.756126717e-02f, -6.760356575e-02f, -1.730545983e-02f, + 5.308371410e-02f, 8.083838969e-02f, 1.351947784e-01f, 5.667200685e-02f, + -1.100150347e-01f, -1.836716011e-02f, -3.939995170e-02f, 5.727003887e-02f, + -1.331710517e-01f, -4.473020881e-02f, 4.707789049e-03f, 8.368217945e-02f, + 1.279813051e-01f, -1.352383643e-01f, -1.533100307e-01f, -8.054480702e-02f, + 6.364896428e-03f, 6.271896511e-02f, 5.830078200e-02f, 1.309781671e-01f, + 2.222370803e-01f, 1.368105859e-01f, 1.048417110e-02f, 2.577903122e-02f, + 6.116442382e-02f, 1.229619756e-01f, -6.090181693e-02f, -4.920393974e-02f, + 1.182508767e-01f, -8.965180255e-03f, 1.032245532e-02f, -5.629735067e-02f, + 9.850153700e-03f, 7.106140256e-02f, 1.404935122e-01f, 6.227437407e-02f, + -1.058395021e-02f, 9.646012634e-02f, 7.434865460e-03f, 1.672046185e-01f, + -3.616319597e-02f, 1.248962879e-01f, -9.204167128e-02f, 4.958338570e-03f, + 5.528800189e-02f, -5.850655586e-02f, 8.134596795e-02f, 4.347497597e-02f, + 9.907858819e-02f, 4.065679386e-02f, -1.219513174e-02f, 1.051154546e-02f, + 2.660138719e-02f, 8.818918467e-02f, -8.660780638e-02f, -6.918171048e-02f, + 1.399582624e-01f, -1.124028191e-01f, -9.844603017e-03f, -2.316072118e-03f, + 7.090898231e-03f, 1.131741554e-01f, -1.380656660e-01f, -5.940086767e-02f, + 1.071940288e-01f, 7.348648459e-02f, -5.284119397e-02f, -1.388179255e-03f, + -3.162841871e-02f, 3.610771522e-02f, -2.177672461e-02f, 1.478218436e-01f, + -5.294062570e-02f, -1.365687996e-01f, -1.620800048e-01f, 2.800920233e-02f, + 2.965682931e-02f, -2.075816095e-01f, 2.549960045e-03f, -1.033626497e-01f, + 1.693995893e-01f, 1.691966206e-01f, 8.386040479e-02f, 2.435115539e-02f, + -8.260295540e-02f, -1.095619518e-02f, -1.293026656e-02f, -2.086837590e-02f, + 1.197202280e-01f, 2.355410531e-02f, -2.524798512e-01f, 2.133414522e-02f, + 4.664076492e-02f, 2.005690783e-01f, 5.040192977e-02f, -1.183114294e-02f, + -3.527685627e-02f, 6.377306581e-02f, -1.332255155e-01f, 1.240074858e-01f, + -8.145448565e-02f, -2.025095373e-02f, -1.861012541e-02f, -3.425002843e-02f, + 6.820039451e-02f, 2.837726474e-02f, -8.440838754e-02f, -1.029673889e-01f, + 3.317546099e-02f, -4.736470059e-02f, 3.187683970e-02f, 6.581051648e-02f, + 2.654668875e-02f, 2.168196999e-02f, -1.067801639e-01f, -1.997351497e-01f, + 1.134261712e-01f, -6.095024757e-03f, 5.204513669e-02f, -1.272495985e-01f, + 9.161274135e-02f, -1.314954162e-01f, -4.186962266e-03f, 3.740084171e-02f, + 1.690450609e-01f, -7.017394900e-02f, -2.379503800e-03f, 6.420323253e-02f, + 5.645856261e-03f, -1.025986895e-01f, 6.311662495e-03f, -3.609295562e-02f, + -2.573272288e-01f, 4.987595230e-02f, -1.570345610e-01f, -6.170875952e-02f, + 5.192111060e-02f, -1.557788055e-04f, 5.734385177e-02f, 3.832707927e-02f, + 2.876842953e-02f, 3.283254057e-02f, 1.468515769e-02f, 7.583510876e-02f, + -3.156055883e-02f, -5.595991760e-02f, 8.863244206e-02f, -1.454536170e-01f, + -2.508703806e-02f, -4.836655781e-02f, -9.282090515e-02f, -6.530755758e-02f, + 4.280776903e-02f, -1.104187593e-02f, 2.964523621e-02f, 2.860498615e-02f, + 5.340444297e-02f, 1.886899397e-02f, -1.799464412e-02f, -2.449846640e-02f, + -1.325795054e-01f, 8.053470403e-02f, 2.323155403e-01f, -1.284561157e-01f, + -8.959803730e-02f, -4.944285750e-02f, -1.004114524e-01f, -5.805394799e-02f, + 3.401934355e-02f, -5.958627164e-02f, -7.640248537e-02f, 6.985885650e-02f, + -4.573151842e-02f, 3.568722680e-02f, 8.451931924e-02f, -5.455556512e-02f, + -3.204823285e-02f, 4.582978413e-02f, 8.037244529e-02f, -3.595668450e-02f, + -4.317650944e-02f, -8.137139678e-02f, 2.058571577e-02f, -1.392455306e-02f, + -1.382264942e-01f, -1.583635956e-01f, -1.181275677e-02f, -6.326292455e-02f, + -1.089402139e-01f, 5.603322759e-02f, -6.037535146e-02f, -2.154039219e-03f, + -6.795249879e-02f, 1.300663352e-01f, -1.076482534e-01f, -7.399438322e-02f, + 9.402145445e-02f, 6.253241003e-02f, -1.609012932e-01f, 8.116941899e-03f, + 8.571242541e-02f, 9.734235704e-02f, -7.064229995e-02f, 6.670086086e-02f, + 7.436437905e-02f, 4.815776646e-02f, 6.440255791e-02f, -9.989922494e-02f, + -2.308239937e-01f, -1.425171643e-01f, -9.751521796e-02f, -4.649540409e-03f, + 3.162541986e-02f, 4.080293328e-02f, 9.724219330e-03f, -1.433332711e-01f, + 2.437194809e-02f, 2.997930534e-02f, 1.861269213e-02f, 1.040932313e-01f, + 8.464687318e-02f, 9.453509748e-02f, 1.880276650e-01f, -3.048976511e-02f, + -5.019995943e-02f, 1.978471428e-01f, 6.026708335e-02f, -1.864304766e-02f, + -5.820035934e-02f, -5.472016707e-02f, 4.849595577e-02f, 2.460958250e-02f, + 1.355551928e-01f, 1.680344343e-02f, 1.919499487e-01f, 1.607826203e-01f, + -1.719488502e-01f, -3.122850321e-02f, -9.269631654e-02f, -5.894296616e-02f, + 3.881324828e-02f, 7.745670527e-02f, -6.481488049e-02f, 3.581054136e-02f, + -1.213920563e-01f, 1.015345529e-01f, -1.219091564e-01f, -4.031632468e-02f, + -6.438018382e-02f, -1.356662959e-01f, -9.833100438e-02f, 3.594366834e-02f, + -5.764252320e-02f, 9.587008506e-02f, 9.942141920e-02f, 1.301329285e-01f, + 9.179510921e-02f, 8.010971546e-02f, 1.796524972e-02f, -7.942258567e-02f, + -3.563231230e-02f, 9.749721736e-02f, -5.122334510e-02f, -2.133568190e-02f, + -3.943686839e-03f, 1.251473874e-01f, 5.875322968e-02f, -1.908674277e-02f, + -7.912566513e-02f, 4.161272198e-02f, -7.020506263e-02f, 2.742330730e-02f, + -7.602901012e-02f, 8.025013842e-03f, -1.120831743e-01f, -5.999602377e-02f, + 1.078877896e-01f, -7.049266994e-02f, -1.913759857e-01f, 9.472613037e-02f, + -1.310198456e-01f, 1.178628998e-03f, -1.407485753e-01f, 1.622354798e-02f, + -4.862589389e-02f, 5.382404849e-02f, -2.166530816e-03f, -3.523558378e-02f, + -6.175922230e-02f, -1.214277074e-01f, 3.073669598e-02f, 5.630644038e-02f, + 1.431920081e-01f, -5.630677566e-02f, -1.063343734e-01f, -1.849770360e-02f, + 1.157071367e-01f, -7.269511372e-02f, -9.845992923e-02f, 8.483488858e-02f, + 4.523035139e-02f, 4.819479212e-02f, 1.135965884e-01f, 6.088977307e-02f, + -6.330861151e-02f, 3.310893103e-02f, 4.843002185e-02f, 4.608718306e-02f, + -2.633668482e-02f, 5.797429755e-02f, 7.571752649e-03f, -1.467885673e-01f, + 5.683955178e-02f, -7.507816888e-03f, -4.177656490e-03f, -7.109260559e-02f, + 6.599362940e-02f, 5.636140704e-03f, 1.405763924e-01f, -8.439125866e-02f, + -1.143714562e-01f, 1.990462244e-01f, -8.383614011e-03f, -1.078979820e-01f, + -1.016957462e-01f, -2.286630869e-02f, -8.901104331e-02f, -1.768027805e-02f, + -3.886388615e-02f, 1.363649517e-01f, -1.949661970e-01f, 1.991615165e-03f, + -1.700871810e-02f, 2.432710677e-02f, 2.309251140e-04f, 3.876068816e-02f, + -3.221332328e-03f, 1.736552715e-01f, 6.024642661e-02f, 2.225868404e-03f, + 2.841114253e-02f, 7.425889373e-02f, -6.935861707e-02f, -1.736241020e-02f, + -2.495493144e-01f, 3.468244337e-03f, 1.525021391e-03f, -9.022406489e-02f, + 9.618522227e-02f, 6.945944577e-02f, -7.793822885e-02f, 5.728260148e-03f, + 1.118770242e-01f, 2.241400070e-02f, -1.369430423e-01f, -5.858461186e-02f, + 2.159983814e-01f, 8.028609306e-02f, 7.207705081e-02f, 1.084985435e-01f, + 8.018171042e-02f, 1.461347193e-01f, 2.699262835e-02f, -2.776656067e-03f, + 3.968224674e-02f, -4.913170263e-02f, -3.707525134e-02f, 6.994296610e-02f, + 4.145415872e-02f, -5.626992788e-03f, 1.597491801e-01f, 8.610955626e-02f, + 1.374700069e-01f, -7.111589611e-02f, -5.345597118e-02f, -1.296152920e-02f, + -4.499334376e-03f, -2.069451064e-01f, 2.730575390e-02f, -3.652786836e-02f, + 3.535818681e-02f, 5.575757474e-02f, 1.449367851e-01f, 5.453740712e-03f, + 5.889515951e-02f, 3.123340756e-02f, -4.930861294e-02f, -3.660948575e-02f, + -5.842556432e-02f, -7.359335572e-02f, 5.444765836e-02f, -1.223120913e-01f, + 4.501900449e-02f, 7.423415780e-02f, 2.712502331e-02f, -2.692979015e-02f, + 8.947450668e-02f, -9.517282248e-02f, 2.570180409e-02f, -1.078908890e-01f, + 6.599317491e-02f, 1.304373443e-01f, -1.405558456e-02f, -3.424526006e-02f, + 9.890493006e-02f, 4.319560528e-02f, 1.025190800e-01f, -8.616102487e-02f, + 2.116212621e-02f, -9.708425030e-03f, -1.331744622e-02f, 7.125853002e-02f, + 6.449906528e-02f, 8.111357689e-02f, -1.097642258e-02f, 2.308705449e-02f, + 1.774443313e-02f, 1.847259998e-01f, -5.966894329e-02f, 1.337073743e-01f, + 1.310532819e-02f, -1.396908313e-01f, -2.502490021e-02f, 1.008174941e-02f, + 6.545644253e-03f, 5.884206668e-02f, -1.503564715e-01f, 3.964535519e-02f, + 5.469122436e-03f, 7.965300232e-02f, -1.871368885e-01f, 1.512420177e-01f, + -7.387779653e-02f, -2.180882841e-01f, -7.091628760e-02f, 9.834892303e-02f, + -1.582561135e-01f, 1.426166855e-02f, -8.979093283e-03f, -1.413813978e-01f, + 7.557895035e-02f, 4.367737472e-02f, 7.398324087e-03f, -1.417270899e-01f, + 1.832067221e-02f, -8.538348973e-02f, -2.420930006e-02f, -1.121691018e-01f, + -1.180491820e-01f, -4.372988269e-02f, 9.449893236e-02f, 4.484360665e-02f, + -1.429197788e-01f, 1.874599755e-01f, -4.264619574e-02f, -1.054680068e-02f, + -5.404914916e-02f, -1.189257801e-01f, -2.323249355e-02f, 3.956533223e-02f, + 1.427721679e-01f, 1.546826120e-02f, 1.486220062e-01f, 1.476111822e-02f, + 5.636742339e-02f, -4.291920736e-02f, -3.002213081e-03f, -4.492523149e-02f, + -8.817354217e-03f, 1.597798318e-01f, -7.513295859e-02f, -1.245498657e-01f, + -4.820761830e-02f, -1.493922919e-01f, -4.606329277e-02f, 4.984262213e-02f, + -9.779807180e-03f, -5.679750070e-02f, -1.100636572e-01f, -9.964726865e-02f, + 5.713275075e-02f, 1.010043398e-01f, 2.750727721e-02f, 3.295817971e-02f, + 2.841359004e-02f, -6.686769426e-02f, -1.884783804e-02f, 8.661675453e-02f, + -3.712047637e-02f, 1.923553050e-01f, -2.319379002e-01f, -1.740808226e-02f, + 3.417033330e-02f, 2.237169305e-03f, -7.850445062e-02f, 8.702347986e-03f, + 1.090950742e-01f, 5.800026283e-02f, -1.004210413e-01f, -6.366584450e-02f, + -2.093627602e-01f, -4.174054600e-03f, 5.283918604e-02f, 4.706008732e-02f, + -1.381776184e-01f, -3.157464042e-02f, 4.681260884e-02f, 1.089331210e-01f, + 7.459241431e-03f, -5.537981912e-02f, -8.009159938e-04f, -6.129660085e-02f, + -5.591563508e-02f, -1.740159094e-01f, 2.931815945e-02f, -6.988199055e-02f, + 9.973280877e-02f, -9.883721173e-02f, 1.791424304e-02f, 1.863092743e-02f, + 2.747720852e-02f, -1.202212088e-02f, -6.623423845e-02f, 2.567561157e-02f, + -6.312832236e-03f, -6.996699423e-02f, 2.752936073e-02f, 8.232444525e-02f, + -2.156364545e-02f, -9.545765817e-02f, 4.881922528e-02f, -5.503368564e-03f, + 1.338511556e-01f, 1.519943923e-01f, -1.219376251e-01f, 2.014022693e-02f, + 5.803497136e-02f, -9.553209879e-03f, -4.463122413e-02f, -4.839681834e-02f, + 3.869881621e-03f, 8.541438729e-02f, -1.282000989e-01f, 2.720974684e-01f, + -7.304193079e-02f, -8.865866810e-03f, -1.316762567e-01f, 1.321692318e-01f, + 1.276220530e-01f, 3.965299949e-02f, -1.349583417e-01f, -9.963625669e-02f, + -4.241415486e-02f, -1.571976766e-02f, 1.390610337e-01f, -8.088349551e-02f, + 5.924877152e-02f, 5.031119287e-02f, 1.403658539e-01f, -3.899934515e-02f, + 4.889560118e-02f, 5.104834959e-02f, -3.846770525e-02f, -6.320073456e-02f, + 5.779674649e-02f, -6.616896391e-02f, 1.140135229e-01f, -6.881249696e-02f, + -3.450088948e-02f, 5.413556937e-03f, -4.912832379e-02f, -4.718905687e-02f, + 5.508706719e-02f, -1.825024039e-01f, 3.199563920e-02f, -4.505351931e-02f, + -1.690509915e-02f, -7.620166242e-02f, -5.154705048e-02f, -1.223491952e-01f, + -3.674512357e-02f, -2.422424406e-02f, -1.495160908e-02f, -7.074589282e-02f, + -4.705519974e-02f, 1.160795689e-01f, -3.442737833e-02f, -1.472357363e-01f, + -3.894356638e-02f, -9.446092695e-02f, 1.588471420e-02f, 4.083812982e-02f, + 1.010355428e-01f, -3.779853228e-03f, 9.206679463e-02f, -6.789522618e-02f, + -7.811551541e-02f, -3.021183051e-02f, 2.990126982e-02f, 8.698844165e-02f, + 2.907451428e-02f, -1.581779122e-01f, -1.625745296e-01f, 7.340566069e-02f, + 2.203525417e-02f, 1.376822889e-01f, -3.230742365e-02f, 1.030443013e-01f, + 1.885411516e-02f, -4.262726754e-03f, 5.299338605e-03f, -1.162786186e-01f, + 3.598090261e-02f, 2.938306890e-02f, 8.003390580e-02f, 9.547898918e-02f, + 3.350237384e-02f, -1.987424493e-02f, 1.032165289e-01f, 6.392876059e-02f, + 2.628072537e-02f, -2.339245230e-01f, 9.865091741e-02f, -4.645119235e-02f, + 3.884935752e-02f, -5.298954248e-02f, -2.991970628e-02f, -1.392696649e-01f, + -9.861975163e-02f, 6.325454265e-02f, -7.666838169e-02f, 6.867516786e-02f, + 3.657786548e-02f, 1.248343512e-01f, -9.400417656e-02f, -1.976315305e-02f, + -6.879708916e-02f, -4.469609261e-02f, -8.914159983e-02f, -8.361940086e-02f, + -2.028825693e-02f, -1.634411961e-01f, -1.096704528e-01f, -7.499200106e-02f, + 1.030670181e-01f, -1.888494343e-01f, -2.699299157e-02f, 8.442594856e-02f, + -1.590882603e-04f, 1.525627375e-01f, 2.496017702e-02f, -1.099223718e-01f, + 2.574454993e-02f, 2.083076984e-01f, -5.137619004e-02f, 2.182424963e-01f, + 8.439188451e-02f, -1.983010024e-02f, -6.512200087e-02f, 1.100946963e-01f, + 1.032554060e-01f, -3.176316677e-04f, 3.604732454e-02f, 1.201291308e-01f, + 1.792991608e-01f, -3.034606390e-02f, -8.510191739e-02f, 8.539699018e-02f, + 6.724569947e-02f, 5.131244659e-02f, -1.057398766e-01f, -5.087826401e-03f, + 8.161419630e-02f, -6.456170231e-02f, 2.316141315e-02f, -1.445926428e-01f, + -6.330806762e-02f, -1.225162577e-02f, 8.015840501e-02f, 5.897064134e-02f, + 1.061418727e-01f, -1.058582664e-01f, -1.187709793e-01f, 3.240618855e-02f, + -6.374911219e-02f, -6.482925266e-02f, 1.177988760e-02f, 2.213193625e-01f, + 6.366217881e-02f, 4.219393805e-02f, 1.057548597e-01f, 6.470416486e-02f, + -7.179947197e-02f, -6.939532608e-02f, 6.597943604e-02f, 1.006709263e-01f, + -7.871665061e-02f, 7.435874082e-03f, 5.185730755e-02f, 1.060284674e-01f, + -1.008524820e-01f, 1.078424677e-01f, 8.758887998e-04f, -2.436217479e-02f, + 3.903799504e-02f, -1.756435633e-01f, -5.422468856e-02f, -6.747812778e-02f, + 1.996761560e-02f, -6.102490425e-02f, 1.722438843e-03f, -3.681527078e-02f, + -1.009560451e-01f, 1.428614259e-01f, -8.522495627e-02f, 1.930674352e-02f, + -1.471266001e-01f, 3.577680886e-02f, 3.497739322e-03f, -8.566554636e-02f, + 3.109726869e-02f, 7.917151600e-02f, 1.263766736e-01f, -7.436139276e-04f, + 7.830609381e-02f, 3.948456421e-02f, -1.597913355e-01f, 7.068783161e-04f, + -1.080323663e-02f, -4.457631707e-02f, -5.260096118e-02f, -1.064180434e-01f, + 1.844073832e-01f, -7.828060538e-02f, -6.470099837e-02f, 4.408211634e-02f, + -2.153941803e-02f, -1.083450839e-01f, 7.976084948e-02f, 6.491404027e-02f, + 4.125861824e-02f, 1.417787969e-01f, -1.218795031e-01f, 2.246734453e-03f, + 1.287111640e-01f, 1.467663236e-02f, 3.618664574e-03f, -1.796930842e-02f, + -1.582913846e-02f, 1.691283584e-01f, 8.508279920e-02f, -5.077039823e-02f, + 1.027753800e-01f, -1.253160927e-02f, 8.581306040e-02f, 5.514508113e-02f, + 4.958589002e-02f, 8.081858605e-02f, -1.006015465e-01f, -6.496750563e-02f, + -5.865135044e-02f, -1.034786999e-01f, 9.033492766e-03f, -9.338225424e-02f, + 1.119627431e-01f, 7.895197719e-02f, 2.912684716e-02f, 1.093984675e-02f, + -7.874669880e-02f, 4.326987639e-02f, -6.740287412e-03f, 1.785945147e-01f, + 6.772647798e-02f, -5.052104965e-02f, -5.797467381e-02f, -5.271058530e-02f, + 4.124640836e-04f, -1.526037753e-01f, 1.359743476e-01f, 5.332383886e-02f, + 3.962412104e-02f, 1.601843983e-01f, 8.163626492e-02f, -2.725888276e-03f, + -7.738376409e-02f, 1.424630284e-01f, 1.551456600e-01f, -1.494381726e-01f, + 8.958830684e-02f, 4.653917998e-02f, -8.911991864e-02f, 1.062105037e-02f, + 1.459785253e-01f, -8.299864829e-02f, 1.274358481e-02f, 1.031439006e-01f, + -5.936804041e-02f, -8.657200634e-02f, -1.522016246e-02f, 1.555807441e-01f, + -5.883253366e-02f, -7.254394889e-02f, -1.089062355e-02f, 1.162281111e-01f, + 1.014722213e-01f, 1.067982465e-01f, 9.226080775e-02f, -4.757521302e-02f, + 3.410112113e-02f, -2.567517385e-02f, -2.032518387e-02f, -2.023174614e-02f, + 1.288391501e-01f, -1.648433208e-01f, 1.812454462e-01f, 1.012411267e-01f, + 8.439605683e-02f, 1.212054938e-01f, 1.716943383e-01f, -7.065483928e-02f, + -1.224754378e-01f, 1.609181613e-01f, -8.970688283e-02f, -1.205476075e-01f, + -3.649216669e-04f, 7.564754039e-02f, 1.046750396e-01f, 3.967408463e-02f, + -8.743062615e-03f, 1.083738580e-01f, -1.404789686e-01f, -4.392636567e-02f, + -1.161894724e-01f, -9.202062152e-03f, -4.955900088e-02f, 3.372322768e-02f, + 2.094359249e-01f, 1.226009652e-01f, 1.089338288e-01f, -8.486482501e-02f, + -3.837379627e-03f, -1.737219840e-02f, 6.324545294e-02f, -5.286843702e-02f, + -7.719632238e-02f, -8.899669163e-03f, -9.086444974e-02f, 3.617540002e-02f, + 4.147307202e-02f, -7.099247724e-02f, -3.290873021e-02f, -4.366629571e-02f, + -1.390443183e-02f, 8.912674338e-02f, 6.971641630e-02f, -8.364331722e-02f, + 4.768854380e-02f, 4.389693588e-02f, -2.268893868e-01f, 2.155689597e-01f, + 1.173916087e-01f, 2.558209188e-02f, -1.309756562e-02f, -1.102541983e-01f, + 9.964037687e-02f, -7.376623154e-02f, -1.461299323e-02f, 9.283442050e-02f, + 3.970803693e-02f, -8.717385679e-02f, -1.139330044e-01f, -4.354873672e-02f, + 2.721254714e-02f, -8.508767933e-02f, 1.686616093e-01f, -2.852296643e-02f, + -1.239781678e-01f, 1.835590899e-01f, -3.550700843e-02f, 1.652555913e-01f, + 3.443660215e-02f, 1.179018915e-01f, -2.689732797e-02f, 6.377389189e-03f, + -4.675022140e-02f, 1.377101149e-02f, 8.173136972e-03f, 4.009231925e-02f, + 7.231417298e-02f, 1.344495565e-01f, 2.024590503e-03f, -2.676059306e-02f, + -4.576431960e-02f, 1.763377897e-02f, -6.672532111e-02f, -8.484552056e-02f, + 3.570741788e-02f, -4.195183516e-02f, 3.969761357e-02f, 1.467387080e-01f, + -9.910316020e-02f, -8.502477407e-02f, 6.141491234e-02f, 1.252442878e-02f, + 1.633228958e-01f, -1.450723130e-02f, -5.810207874e-02f, 3.710034862e-02f, + 2.772525139e-02f, -1.296610236e-01f, 6.881693006e-02f, -1.431400701e-02f, + 1.308736205e-01f, 1.939848065e-02f, -4.647008330e-02f, 1.257375032e-01f, + 1.100938171e-01f, -2.091429979e-01f, 1.808246076e-01f, 5.698228627e-02f, + 1.466134489e-01f, -6.478795316e-03f, 4.099446815e-03f, 1.046745926e-01f, + -1.116024703e-01f, -9.422396310e-03f, 6.924141943e-02f, 9.945027530e-02f, + -3.353567049e-02f, -2.699360810e-02f, -6.490571424e-03f, -3.111867607e-02f, + 1.437164992e-01f, -5.540260579e-03f, 1.321063656e-02f, 2.029757202e-02f, + 6.014221534e-02f, -1.596816629e-02f, -5.630872399e-02f, -1.051932294e-02f, + 5.100972578e-02f, -3.475825116e-02f, -1.652825857e-03f, 4.948170111e-02f, + -1.193096042e-01f, -2.168575972e-01f, 4.198424518e-03f, -5.706252065e-03f, + 1.348546892e-01f, -1.970609277e-01f, 4.407308623e-02f, 7.503567636e-02f, + -6.929594278e-02f, 3.503163904e-02f, -9.099501371e-02f, 4.917219281e-02f, + 2.865239605e-02f, 8.063656092e-02f, -6.739828736e-02f, 8.696078509e-02f, + 5.349497125e-02f, 1.137768775e-01f, 3.523162380e-02f, 7.726351917e-02f, + -4.900547862e-02f, 1.617634892e-01f, 2.549501881e-02f, 1.609615609e-02f, + -7.100730389e-02f, -6.616961956e-02f, -1.281826496e-01f, 3.003658913e-02f, + -1.136050001e-01f, 1.659025671e-03f, 3.170919791e-02f, -2.363158204e-02f, + -7.950161397e-02f, 1.428893954e-01f, 2.281640843e-02f, 5.261591077e-02f, + 2.518662997e-02f, 8.427225053e-02f, 1.056849808e-01f, 1.107733883e-02f, + -6.334124506e-02f, 9.811469167e-02f, 4.565449059e-02f, 1.834654436e-02f, + 1.495459229e-01f, -7.374466956e-02f, -5.534812436e-02f, -8.511465788e-02f, + -1.289066523e-01f, -8.564122766e-02f, -1.075268090e-01f, 1.124773826e-02f, + -3.150980920e-02f, -1.661268920e-01f, 3.158721328e-02f, -6.492835935e-03f, + -8.877459168e-02f, 1.665396392e-01f, 2.716538124e-02f, 1.523728762e-02f, + -7.767396420e-02f, 5.816730112e-02f, -1.367312968e-01f, -2.885845676e-02f, + -6.177208573e-02f, -7.018925250e-02f, -1.438603401e-01f, -7.889771461e-02f, + 1.327684522e-01f, 4.558666050e-02f, -3.246125125e-04f, -1.670776457e-01f, + 1.597303152e-01f, -3.791758791e-02f, -1.164935827e-01f, -6.278633326e-02f, + -1.079672277e-01f, -4.026265815e-02f, -1.540941652e-02f, -2.364905924e-02f, + 4.591897503e-02f, 6.480333977e-04f, 7.807508856e-02f, 8.883070946e-02f, + 1.457191557e-01f, -1.041755155e-01f, 2.994423546e-02f, -5.095274746e-02f, + -1.909398101e-02f, -1.707526669e-02f, -2.251970917e-01f, 1.360867769e-01f, + 1.266987622e-01f, 8.159798384e-02f, -3.555337712e-02f, -3.748661373e-03f, + 7.214855403e-02f, -7.807034254e-02f, 1.688874094e-03f, 7.555140555e-02f, + -2.753292769e-02f, 6.248682365e-02f, -2.749062888e-02f, 7.472819090e-02f, + -5.465310067e-02f, -9.608709067e-02f, -4.916338623e-02f, -6.702268869e-02f, + 4.700219631e-02f, 1.752411830e-03f, -4.907200858e-02f, 9.908740968e-02f, + -1.520561278e-01f, -1.187200919e-01f, -1.902815104e-01f, -1.327101141e-01f, + -1.444500983e-01f, -6.598166376e-02f, -5.704756826e-03f, -4.758479074e-02f, + -2.861964703e-02f, 4.006912932e-02f, 8.285119385e-02f, 3.036158904e-02f, + 4.396887124e-02f, -1.052288115e-01f, -3.288231045e-02f, 1.658279151e-01f, + -1.315775961e-01f, -1.200194936e-02f, 9.052278101e-02f, 1.629337519e-01f, + 8.188736439e-02f, -1.167286932e-02f, -9.917283058e-02f, 9.070380032e-02f, + -4.106092453e-02f, -7.694339007e-02f, -6.288802624e-02f, -2.933598682e-02f, + -4.659465700e-02f, 7.908221334e-02f, -1.163565665e-01f, -1.410549134e-01f, + 6.844744086e-02f, 6.137236953e-02f, 5.823199078e-02f, 2.381588519e-01f, + -2.381454036e-02f, 3.056611493e-02f, -1.383258589e-02f, -1.035190467e-02f, + -1.616040245e-04f, -1.015972067e-02f, 8.635719866e-02f, -1.753009558e-01f, + 1.117563695e-01f, -9.926510602e-02f, 2.311602235e-02f, 1.150816865e-02f, + 2.127982490e-02f, -5.495519936e-02f, 1.400723010e-01f, 5.296626687e-02f, + 1.236078814e-01f, 3.850247338e-02f, 1.078919619e-01f, -7.225348055e-02f, + -8.795713633e-02f, 1.040761992e-01f, 1.067102551e-01f, 2.201851644e-02f, + -5.324447900e-02f, -4.537865147e-02f, 1.678794809e-02f, -1.073177233e-01f, + 1.243707910e-01f, 1.716430932e-01f, 2.241611667e-02f, -1.560837775e-01f, + 2.345865034e-02f, -3.111024946e-02f, 1.201184690e-01f, 3.333676979e-02f, + 6.219803914e-02f, 3.768346086e-02f, 3.630266711e-02f, 9.677310288e-02f, + 7.655595243e-02f, -7.905884087e-02f, -1.026561782e-01f, 4.605174065e-02f, + 1.956452131e-01f, -1.181673259e-01f, 1.632723399e-02f, 2.109339833e-02f, + -3.277248004e-03f, 7.525780052e-02f, -2.739911526e-02f, -1.796265878e-02f, + 8.398761600e-02f, 3.425531089e-02f, 4.070101678e-02f, -3.306158260e-02f, + 2.647712640e-02f, 1.386329532e-01f, 1.423514187e-01f, -7.664755732e-02f, + 1.830793358e-02f, -1.024494469e-01f, -2.664174139e-02f, -7.067327201e-02f, + -1.602702439e-01f, 1.011039596e-02f, -1.834996045e-02f, -8.890000731e-02f, + 3.460951149e-03f, 3.096261807e-02f, 2.080916055e-02f, 1.263169646e-01f, + -7.519961894e-02f, -2.496962668e-03f, 1.111965999e-01f, 6.107600033e-02f, + -8.970531076e-02f, -8.917081356e-02f, -9.565941058e-03f, -1.097110212e-01f, + 1.695198007e-02f, 2.515177615e-02f, 4.735442251e-02f, -1.208615396e-02f, + 1.221355423e-01f, -3.493167460e-02f, 1.234869733e-01f, 1.812914759e-01f, + -2.109144926e-01f, -1.392357051e-01f, 2.836271375e-02f, -4.750134051e-02f, + 1.245618239e-01f, -3.597467672e-03f, -1.359420121e-01f, -6.741380692e-02f, + -3.134928271e-02f, -4.886553437e-02f, 1.435171664e-01f, -1.903618453e-03f, + -2.677573822e-02f, 1.425611377e-01f, 3.459441708e-03f, -1.603801250e-01f, + -1.217743754e-01f, -1.966606081e-01f, 5.346046761e-02f, -7.008955814e-03f, + 1.212818772e-01f, -2.418529621e-04f, 6.981942803e-02f, 2.390141413e-02f, + 1.893242262e-02f, 9.322056174e-02f, -6.434544176e-02f, 7.207007706e-02f, + 1.300415397e-01f, 1.465891749e-01f, -3.824950662e-03f, -1.283808798e-01f, + 8.066683263e-02f, -1.106180716e-02f, -9.474471956e-02f, -1.168970764e-01f, + -9.549645334e-02f, -1.083855852e-01f, 1.592950150e-02f, 4.904581979e-02f, + 8.389946818e-02f, 4.274398834e-02f, -1.878186315e-02f, 7.644656301e-02f, + -1.504082829e-01f, 1.066224575e-01f, 7.227560133e-02f, 3.581304103e-02f, + -7.822281867e-02f, 5.924586952e-02f, -5.386801437e-02f, -1.505400240e-01f, + -6.003535539e-02f, 3.459751606e-02f, 5.315008108e-03f, -9.206743911e-03f, + -9.052594006e-02f, 7.201837376e-03f, 2.143257670e-02f, 9.853433073e-02f, + 1.230662614e-01f, 1.551894546e-01f, -7.226180285e-02f, -6.092439219e-02f, + 2.453126945e-02f, 3.562708944e-02f, -5.580049753e-02f, -7.083084434e-02f, + 9.157792479e-02f, 2.939210646e-02f, 5.276694521e-02f, 2.004408836e-02f, + -3.007477522e-02f, 5.362615734e-02f, -8.820126206e-02f, 2.410588227e-02f, + -7.419199497e-02f, 8.560693264e-02f, -1.282960474e-01f, 4.750437662e-02f, + -8.074796945e-02f, -1.072413847e-01f, -3.168436512e-02f, 1.149780154e-01f, + -1.274197251e-01f, 1.073803008e-02f, 2.295715176e-02f, 3.316478431e-02f, + 7.563192397e-02f, 1.222396418e-01f, -1.564893574e-01f, -4.075986333e-03f, + 5.969555676e-02f, 3.438773006e-02f, -3.731430694e-02f, 2.722420171e-02f, + 1.837375946e-02f, 1.723480970e-01f, 4.952709749e-02f, -2.986415988e-03f, + 6.055355817e-02f, 1.342319250e-01f, 2.880440839e-02f, -1.943074018e-01f, + -5.905870721e-02f, 1.737717986e-01f, 2.933546156e-02f, -1.560937520e-02f, + 5.896133184e-02f, -6.596932188e-03f, 1.758993119e-01f, 7.846261561e-02f, + -1.118814573e-01f, -3.599202959e-03f, -1.110543162e-01f, 4.323843494e-02f, + 3.444806114e-02f, 1.485574543e-01f, -9.738264605e-03f, 8.810557425e-02f, + 1.345333010e-01f, 1.636555344e-01f, -5.033747479e-02f, 6.372442096e-02f, + 9.418229014e-02f, -2.067155838e-01f, 5.972379819e-02f, -8.969344944e-02f, + 7.168118656e-02f, -1.639012992e-02f, 2.876939252e-02f, 2.620559745e-02f, + 4.835539684e-02f, -5.051648989e-02f, -3.607302532e-02f, -1.129890308e-01f, + -6.213347893e-03f, 6.428979337e-02f, -1.390428096e-01f, 1.866955757e-01f, + -9.853215516e-02f, -1.207713485e-01f, 1.431392431e-01f, -5.148994550e-02f, + -9.031045251e-03f, -5.299283564e-02f, -1.300310194e-01f, 1.154728830e-01f, + -2.469860204e-02f, 1.207175702e-01f, -1.426135451e-01f, 4.729678482e-02f, + -2.738992684e-02f, 3.865261003e-02f, -1.536850119e-03f, 1.272946037e-02f, + 1.776386611e-02f, -4.767994583e-02f, -5.528584123e-02f, -3.930315748e-02f, + -3.086825460e-02f, 8.990632743e-02f, 6.349481642e-02f, 1.126862168e-01f, + 2.329035103e-02f, -7.275122404e-02f, -2.507983148e-02f, 2.831833437e-03f, + 1.483420143e-03f, 7.607641071e-02f, 1.980370656e-02f, -3.980781883e-02f, + -3.035619110e-02f, -6.229060888e-02f, -1.416282654e-01f, 6.506751757e-03f, + -9.808355011e-03f, -3.094951808e-02f, 5.052414909e-02f, 1.254941374e-01f, + 4.313826934e-02f, -4.560882226e-03f, 1.699442416e-02f, 1.659024209e-01f, + -5.944225565e-02f, 1.237682253e-02f, 6.527862698e-02f, 2.888503484e-02f, + 1.867144369e-02f, -7.633880526e-02f, 7.608345896e-02f, 8.096870035e-03f, + 1.138910353e-01f, -6.286581606e-02f, 4.319389164e-02f, 1.131355837e-01f, + -8.447023481e-02f, 3.779935837e-02f, -1.066073310e-02f, 3.509742208e-03f, + -1.156694070e-01f, 3.636461869e-02f, -6.463437527e-02f, 6.958587095e-03f, + 5.650423467e-02f, 1.920954138e-02f, -1.786109805e-01f, -6.230820343e-02f, + 7.487180829e-02f, 6.236643344e-02f, -2.004323304e-01f, 3.186732531e-02f, + 1.177868526e-02f, -1.096854135e-01f, -1.822010875e-01f, 7.115732133e-02f, + -6.740672886e-02f, -1.437988281e-01f, 2.104116231e-02f, 4.247968271e-02f, + 1.699751988e-02f, 2.394125611e-02f, -1.521959156e-02f, -1.959522665e-01f, + -1.578712314e-01f, 1.643128879e-02f, -1.295914203e-01f, 9.785755724e-02f, + 3.180036694e-02f, 3.366832808e-02f, 2.667611092e-02f, 1.306192949e-02f, + 5.202885717e-03f, 5.979721248e-02f, -4.710415751e-02f, 4.758323729e-02f, + 7.832758129e-02f, -3.294732422e-02f, 1.438972950e-01f, -2.377836257e-01f, + -2.259957194e-01f, 2.106510289e-02f, 7.145888358e-02f, -3.977146000e-02f, + -2.491367981e-02f, -4.127448425e-02f, 3.857287765e-02f, 6.843116134e-02f, + 1.428965479e-01f, -7.164796442e-02f, -1.136582345e-01f, -1.412070096e-01f, + 1.983272284e-01f, 7.059042901e-02f, 4.073633999e-02f, 7.682788372e-02f, + 2.319700317e-03f, -6.307534873e-02f, 5.375864357e-02f, -7.598267496e-02f, + 2.005434781e-01f, -8.820009977e-02f, 3.729507327e-02f, -1.519132126e-02f, + 3.503194544e-03f, -1.260064542e-01f, -4.932804778e-02f, -9.206438810e-02f, + -1.336441189e-01f, 1.123647317e-01f, -1.197955087e-01f, -1.333631426e-01f, + 1.093202084e-01f, 6.352860481e-02f, -4.379005358e-02f, 1.998031735e-01f, + -1.469386071e-01f, 7.409865409e-02f, -1.282120794e-01f, 1.087951958e-01f, + 7.194276154e-02f, 3.752190620e-03f, 1.171776503e-01f, -2.567649074e-02f, + 1.092301086e-01f, -5.765585974e-02f, 1.069205161e-02f, 1.595755965e-01f, + -2.714235485e-01f, -7.114215195e-02f, -1.220727805e-02f, 4.662071913e-02f, + 3.298956528e-02f, -1.684194244e-02f, 1.059047431e-01f, 6.637354195e-02f, + -9.417495131e-02f, -4.621118307e-02f, -9.044906497e-02f, 1.740324348e-01f, + 3.889369965e-02f, -2.789491601e-02f, -3.029427491e-02f, -1.958585344e-02f, + 2.284807712e-02f, 1.322118491e-01f, -6.218375266e-02f, -9.875402600e-02f, + -6.883238442e-03f, 8.511170000e-02f, 1.923878677e-02f, 1.567157358e-01f, + -1.560655236e-01f, 1.456387043e-01f, 5.069938302e-02f, -2.250435390e-02f, + 8.169819415e-02f, -9.300236590e-03f, 4.279283807e-02f, 7.854674011e-02f, + -1.391500887e-02f, 1.604976654e-01f, -6.518861651e-02f, -3.114149719e-02f, + -4.659234360e-02f, -4.928847402e-02f, -7.544225454e-02f, -1.044055298e-01f, + 8.903612383e-03f, -5.232845619e-02f, 1.736563072e-02f, 4.497111216e-02f, + -3.589088470e-02f, 1.348711401e-01f, 8.129842579e-02f, 7.472623885e-02f, + -2.378597856e-02f, 1.237470359e-01f, -3.587644547e-02f, -7.866788656e-03f, + 5.096406117e-02f, -2.416439354e-02f, -5.094430223e-02f, 6.278073788e-02f, + 4.993444309e-02f, 5.525775626e-02f, -9.368505329e-02f, -1.109540015e-01f, + -8.480610698e-02f, 1.801608503e-01f, 1.823145896e-02f, -1.061887573e-02f, + -7.312481105e-02f, 1.897464395e-01f, 9.448662400e-02f, -9.277839959e-02f, + -4.760222882e-02f, 3.727141768e-02f, 1.018331796e-01f, 9.594918787e-02f, + 7.228566706e-02f, 5.894517899e-02f, -3.214750439e-02f, 3.328728676e-02f, + 8.293136489e-04f, 7.661345601e-02f, -1.849083975e-02f, -7.132168859e-02f, + 5.449449271e-02f, -2.530876175e-02f, 2.784923837e-02f, -6.151762977e-02f, + 1.346907169e-01f, -3.226712346e-02f, -7.852995396e-02f, -1.898472942e-02f, + 6.646974012e-03f, 3.121695668e-02f, 1.498106271e-01f, 1.904104836e-02f, + 1.555009782e-01f, -3.371215612e-02f, -1.267770976e-01f, -7.547829300e-02f, + 1.166209802e-01f, 2.009689994e-02f, 5.444346368e-02f, -4.743813723e-02f, + 3.766628727e-02f, 8.190609515e-02f, 1.087946445e-01f, -1.594912261e-02f, + 8.661344647e-02f, -1.250713877e-02f, -1.070004888e-02f, -1.180310845e-01f, + -2.265687585e-01f, -6.249724329e-02f, -1.211921945e-01f, 5.697597750e-03f, + -9.051286429e-02f, 7.249174267e-02f, 1.172952726e-01f, 2.979762619e-03f, + 2.104505450e-01f, 4.719448742e-03f, -8.372338861e-02f, -2.443069369e-01f, + 7.781628519e-02f, 3.547614813e-02f, -2.081149817e-02f, -5.614086241e-02f, + -8.221269399e-02f, 5.866114795e-02f, 1.157930195e-01f, 3.791031241e-02f, + 1.352847517e-01f, 1.860777885e-01f, 1.828249991e-01f, -1.015044823e-01f, + 5.764078349e-02f, 1.251454465e-02f, 1.790942997e-02f, -8.932666481e-02f, + -1.169996262e-01f, 3.007954918e-02f, -7.346201688e-02f, 3.042834401e-01f, + -8.807264268e-02f, 9.020631760e-02f, 6.075376272e-02f, 4.746370763e-02f, + -9.239916503e-02f, 5.192522425e-03f, -7.564079016e-02f, -8.536754176e-03f, + 1.819014549e-02f, 1.553285588e-02f, -4.060259461e-02f, -3.796036169e-02f, + -1.189950034e-01f, 1.092479825e-01f, 3.944908828e-02f, -2.762103453e-02f, + 1.919266209e-02f, 1.001364589e-01f, 4.123691842e-02f, 7.112898678e-02f, + 1.382702440e-01f, -6.948556006e-02f, 1.296403557e-01f, 1.157757044e-01f, + -8.178677410e-03f, 1.055536047e-02f, -6.494892389e-02f, -4.879802093e-02f, + 7.094467431e-02f, -3.543959931e-02f, 4.925686866e-02f, -7.638419420e-02f, + 2.656080201e-02f, 5.803027749e-02f, -1.076781452e-01f, 2.089885436e-02f, + 1.414361149e-01f, 3.983182833e-03f, -1.486988366e-02f, -8.161134273e-02f, + -3.250418976e-02f, -3.761966154e-02f, -4.137812182e-02f, 1.658392325e-02f, + -5.186058208e-02f, -1.989956386e-02f, -3.816431761e-02f, 6.007078290e-02f, + -1.321622282e-01f, 7.507640868e-02f, -7.587207109e-02f, 4.026530311e-02f, + 2.436747402e-02f, -1.051600575e-01f, 4.683373845e-04f, 5.942940712e-02f, + -2.446237765e-02f, -2.747057937e-02f, -1.376655102e-01f, 1.181095764e-01f, + -6.855297089e-02f, 6.456908584e-02f, 1.773977876e-01f, -9.087713063e-02f, + 2.060948312e-02f, 1.253136396e-01f, -7.519041002e-02f, -6.799782813e-02f, + -3.890962899e-02f, -5.846506730e-02f, 1.263396740e-01f, -1.441141516e-01f, + -2.310157567e-02f, 5.571727455e-02f, -1.146977674e-02f, 1.393785775e-01f, + 7.029781491e-02f, 6.446674466e-02f, 8.109170943e-02f, 7.345821708e-02f, + 6.207559630e-02f, -2.179023623e-02f, -1.366660446e-01f, -5.680212006e-02f, + -2.188860178e-01f, -4.334371909e-02f, -3.773047775e-02f, -2.064648829e-02f, + 1.266658902e-01f, 6.736779213e-02f, -2.600167878e-02f, -9.654337168e-02f, + -1.054914743e-01f, 9.052965045e-02f, -1.077011377e-01f, 3.540947661e-02f, + 1.705755442e-01f, -1.646203175e-02f, -1.523544732e-02f, 6.887785345e-02f, + -8.486574516e-03f, -1.201285347e-01f, 2.138393670e-01f, -1.729660481e-01f, + -6.423579901e-02f, 1.199463904e-01f, 1.287785545e-02f, 4.317283630e-02f, + -9.345290810e-02f, 9.459961951e-02f, -3.823716659e-03f, -1.800329238e-02f, + 5.052482709e-02f, -2.227303982e-01f, 3.333200514e-02f, 7.151371986e-02f, + 1.629978418e-02f, -6.388692558e-02f, 5.324058607e-02f, 1.196557842e-02f, + 1.282314211e-01f, -6.724286824e-02f, -1.018682029e-02f, -1.057263240e-01f, + 7.806126773e-02f, 4.972914234e-02f, -1.277331412e-01f, 1.136800367e-02f, + 8.826279640e-02f, 4.835269600e-02f, 1.128613874e-01f, -3.241929039e-02f, + -4.349827766e-02f, 6.270682067e-02f, 3.949750960e-02f, -9.907449037e-02f, + -1.614757925e-01f, -7.499890029e-02f, 8.658879995e-02f, -5.459353328e-02f, + 1.325958520e-01f, 1.199261844e-01f, 3.862259537e-02f, 2.947754785e-02f, + -1.934516802e-02f, -3.311461583e-02f, 1.535509229e-01f, 4.622793570e-02f, + -2.332415618e-02f, 9.633596241e-02f, 1.435709093e-02f, 1.301984042e-01f, + 7.498086244e-02f, 1.748394407e-02f, 2.796448767e-02f, 2.342563495e-02f, + 1.426609885e-02f, 6.520145386e-02f, 7.668068260e-02f, -1.189778224e-01f, + -6.797965616e-02f, 5.366023257e-02f, 3.125714138e-03f, -1.718295962e-01f, + 6.912177056e-02f, 1.769599319e-01f, 1.295466423e-01f, 1.153545007e-01f, + 4.705042765e-02f, 7.043020800e-03f, -4.200158641e-02f, -1.100789979e-01f, + 2.585199662e-02f, 1.426862553e-02f, -3.533188626e-02f, 8.299691230e-02f, + 9.982752800e-02f, -1.123641580e-01f, 5.166836083e-02f, -2.259906381e-02f, + -2.140829898e-02f, -4.327025265e-02f, -1.278944910e-01f, -8.081065863e-02f, + 6.189932674e-02f, 3.929913417e-02f, -1.164154895e-02f, -6.038450077e-02f, + 1.602223068e-01f, 5.200489610e-02f, -5.217413977e-02f, -1.516814530e-01f, + 3.840563074e-02f, 8.991840295e-03f, 4.231791943e-02f, 1.318155229e-01f, + 3.232949600e-02f, -6.581106037e-02f, 3.015996218e-01f, -6.885409355e-03f, + -5.604251474e-02f, -5.229920149e-02f, -1.569161415e-01f, 1.326887459e-01f, + 1.433541775e-01f, -8.684659004e-02f, -8.476124145e-03f, 3.489671648e-02f, + 1.040444300e-01f, 3.646315262e-02f, 5.543169007e-02f, 1.515396032e-02f, + 1.762927473e-01f, 6.941148639e-02f, 4.279747233e-02f, 4.507830366e-03f, + -1.484432071e-01f, -3.546725586e-02f, 3.418620676e-02f, 3.138604760e-02f, + -1.300399750e-01f, 7.039084565e-03f, -1.264662296e-01f, -2.263469622e-02f, + -1.396910660e-02f, 7.151290029e-02f, 9.278954566e-02f, 2.965503559e-02f, + -2.186529636e-01f, -4.877025634e-02f, -6.547407061e-02f, 1.464711037e-02f, + 8.012031019e-02f, 1.128241122e-01f, 3.123397380e-02f, 1.285422891e-01f, + -8.615189046e-02f, 2.915035561e-02f, -2.149114572e-02f, -8.937095106e-02f, + -2.306853980e-02f, 1.185778305e-01f, -5.421609618e-03f, -1.457751542e-01f, + -1.026630178e-01f, 1.886499077e-01f, -1.500218809e-01f, 1.231392547e-01f, + 1.596424356e-02f, -1.569536328e-02f, 3.200631961e-02f, -8.762777597e-02f, + -3.450973425e-03f, 1.229369566e-01f, 5.145413056e-02f, 7.098781317e-02f, + -6.583005935e-02f, 5.051212758e-02f, 8.761416376e-02f, -9.539258666e-03f, + 1.591116376e-02f, 9.677957743e-03f, -2.391532063e-02f, -6.988089532e-02f, + 7.566579431e-02f, -5.046536028e-02f, 4.362876713e-02f, -3.354290873e-02f, + -1.340517849e-01f, 3.529180959e-02f, -1.983823895e-04f, 7.874558121e-02f, + 2.777748369e-02f, 8.317075670e-03f, 1.612446457e-01f, 4.016216472e-02f, + -1.023557782e-01f, -1.306015402e-01f, -6.519657373e-02f, -5.142520182e-03f, + 3.197366744e-02f, -9.371804073e-03f, -5.481872708e-02f, -1.414168775e-01f, + 3.029913269e-02f, 4.727523774e-02f, 2.171288729e-01f, 3.363538161e-02f, + -1.321339011e-01f, -1.287200898e-01f, 1.810256690e-01f, -6.765972078e-02f, + -1.870921403e-01f, -1.100789458e-01f, -9.439035505e-02f, 6.837588549e-02f, + -1.061010882e-01f, -9.677162766e-02f, 6.835870445e-02f, 1.205321252e-01f, + -2.105972916e-02f, 5.967255309e-02f, -4.841323569e-02f, -5.482022837e-02f, + -4.819460213e-02f, 3.962833434e-02f, -1.230940688e-02f, 3.087116405e-02f, + -5.934581161e-02f, -1.079712361e-01f, 1.014204789e-02f, -5.937649310e-02f, + -4.353777319e-02f, -9.988155216e-02f, 9.940930456e-02f, 6.711270660e-02f, + 6.143380888e-03f, 8.917710185e-02f, -7.886371762e-02f, -7.662428916e-02f, + 9.593323804e-03f, 1.126718707e-02f, 7.459684461e-02f, -7.729782909e-02f, + 7.821058854e-03f, 1.053907946e-01f, 1.024150476e-01f, -4.488400370e-02f, + -4.310762510e-02f, 5.373647809e-02f, 1.344591975e-01f, 3.038536198e-02f, + 2.159249969e-02f, 3.315434558e-03f, -1.547446698e-01f, -6.782329828e-02f, + 1.694640145e-02f, 1.331663877e-02f, 1.554975659e-01f, 3.260543942e-02f, + 1.959016733e-02f, 2.381633967e-01f, -5.730263423e-03f, 9.602979757e-03f, + -1.139655337e-01f, 1.562339067e-01f, -6.614746153e-02f, 4.063851014e-02f, + -1.573007554e-01f, 1.188068241e-01f, -1.197328977e-02f, -1.559531987e-01f, + 1.392271072e-01f, -1.028307248e-02f, -9.263210744e-02f, -7.463074476e-02f, + -6.406545639e-02f, 8.062729985e-02f, -4.685110226e-02f, 7.294602692e-02f, + -1.184562743e-01f, 4.285632446e-02f, 9.618407488e-02f, -1.801130772e-01f, + 8.211882669e-04f, -7.954611629e-02f, -1.379884034e-01f, 9.957383573e-02f, + 3.718974441e-02f, 4.192847759e-02f, -4.760752246e-02f, -1.675558090e-02f, + -4.089913890e-02f, 1.080198139e-01f, 9.429096431e-02f, 3.080198367e-04f, + 4.112217948e-02f, 9.407953173e-02f, 1.112500057e-01f, -8.708666265e-02f, + 7.195179164e-02f, 1.162096784e-01f, -2.885857224e-01f, 6.660498679e-02f, + 5.393288657e-02f, 2.880105376e-02f, 2.187615447e-02f, -4.274640977e-02f, + 8.695368655e-03f, -5.506681651e-02f, 1.085483506e-01f, -4.311006889e-02f, + 7.031191140e-02f, 3.548310325e-02f, -5.422043800e-02f, 1.110724881e-01f, + -8.433850855e-02f, 7.019142061e-02f, 3.164518252e-02f, -2.219884843e-01f, + 1.244016737e-01f, -1.409860849e-01f, -2.885179967e-02f, -8.545390517e-02f, + -1.103880778e-01f, -2.084934339e-02f, 3.639515862e-02f, 1.667050868e-01f, + 2.673314326e-02f, 7.640285045e-02f, 1.557399519e-02f, -6.502098590e-02f, + 1.410654048e-03f, -1.704317285e-03f, -7.053182274e-02f, -9.314662963e-02f, + -1.893607154e-02f, -7.933943719e-02f, 1.536040008e-01f, -3.372302279e-02f, + -9.834618121e-02f, -5.951240286e-02f, -5.972829461e-02f, 6.622022483e-03f, + 4.027708992e-02f, 4.192672670e-02f, 8.759525418e-02f, -5.102267116e-02f, + 1.952679306e-01f, 1.447738260e-01f, 2.398914993e-01f, 7.586233318e-02f, + -4.384582397e-03f, -3.320783004e-02f, 7.169084251e-02f, -1.197089031e-01f, + -4.920949694e-03f, -2.632780466e-03f, -3.773705661e-02f, 4.184020311e-02f, + -2.410184965e-02f, -3.929766640e-02f, -8.680178970e-02f, 5.271917209e-02f, + 6.732124835e-02f, 4.610778764e-02f, -3.072880395e-02f, -2.887191251e-02f, + -4.625256732e-02f, -4.258128256e-02f, -1.920210719e-01f, 6.323261769e-04f, + 4.314677045e-02f, 1.564508379e-01f, -9.591818089e-04f, 1.490575820e-01f, + 3.331841156e-02f, 1.223825738e-01f, -4.451714829e-02f, 1.317301020e-02f, + 7.124973834e-02f, -1.233430300e-02f, 3.827768937e-02f, -8.319618553e-02f, + -2.331434004e-02f, -4.216989130e-02f, 2.859221213e-02f, 4.624764621e-02f, + 7.388487458e-02f, 5.152145401e-02f, -3.313175961e-02f, 1.788090169e-01f, + 9.127201140e-02f, -3.600483527e-03f, 5.829203501e-02f, 6.241422147e-03f, + 3.779012710e-02f, 1.448079348e-01f, 7.672692835e-02f, 1.757504046e-01f, + -1.242061108e-01f, 3.332813829e-02f, -1.281397510e-02f, -9.830316156e-02f, + 6.954836845e-02f, -7.118995488e-02f, 3.675508499e-02f, -8.350089192e-02f, + -8.327324688e-02f, -4.203655198e-02f, -2.446332127e-01f, 5.168418586e-02f, + -4.402102157e-02f, 2.281942219e-02f, -7.957047224e-02f, 2.235408174e-03f, + 8.924797177e-03f, -6.109284237e-02f, -1.405471750e-02f, 5.935609713e-02f, + -9.645058215e-02f, 9.260868281e-02f, 9.989961982e-02f, -2.021032721e-01f, + 2.234492078e-02f, -2.725364454e-02f, -7.858814299e-02f, 4.753059894e-02f, + 8.167368174e-02f, -5.824922770e-02f, -1.935049295e-01f, -1.893401742e-01f, + 8.303289860e-02f, -5.522470549e-02f, -1.223193388e-02f, 1.771540642e-01f, + 9.266797453e-02f, -1.740691252e-02f, 9.597149491e-02f, 1.133043095e-01f, + 8.027319610e-02f, -5.527212098e-02f, 1.516892016e-01f, -7.748145610e-02f, + 7.755568624e-02f, -1.952851936e-02f, -8.179359883e-02f, 2.399875410e-02f, + -8.365606889e-03f, 1.041022912e-01f, -8.792970330e-02f, 9.454012662e-02f, + 3.329312429e-02f, -4.392990470e-02f, -1.204008982e-01f, 3.022297658e-02f, + -2.674719989e-01f, -2.318178304e-02f, -5.275559053e-02f, -2.026842162e-02f, + -2.261394076e-02f, 8.255065233e-02f, 1.585462317e-02f, -6.444478035e-02f, + -2.339769006e-01f, 4.127123579e-02f, -3.349127993e-02f, 1.137567088e-01f, + 1.469290908e-02f, -9.708019346e-02f, -4.824630544e-02f, 1.297765523e-01f, + 8.380053937e-02f, -1.426673681e-01f, -2.078382112e-02f, -3.028976172e-02f, + -9.736717492e-02f, 4.670900851e-02f, 5.248557031e-02f, -7.688023895e-02f, + -1.869128793e-01f, 5.416304246e-02f, -6.453748047e-02f, -1.370412856e-01f, + 1.725067943e-02f, 7.826432586e-02f, -1.358762234e-01f, 6.868381798e-02f, + 1.103230491e-01f, -9.627607465e-02f, 2.059854008e-02f, -2.790852450e-02f, + 6.155340001e-02f, 4.023618996e-03f, 1.000077575e-01f, -1.097830087e-01f, + -8.258977532e-02f, -1.091414317e-02f, 4.329808801e-02f, 2.081734501e-02f, + -7.200820372e-03f, 1.423821319e-02f, -3.881449997e-02f, -9.847102314e-02f, + -9.591284394e-02f, 7.060740888e-02f, -1.360557415e-02f, -8.198203892e-02f, + -6.000675634e-02f, 2.564644814e-02f, 8.296658844e-02f, 1.031544581e-01f, + 9.834269434e-02f, -1.056120545e-01f, -1.004615501e-01f, -9.713042527e-02f, + -4.781826586e-02f, 1.895832270e-01f, 1.382409930e-01f, -5.238038301e-02f, + -6.154124439e-02f, -2.136625582e-03f, 1.251532137e-01f, -4.943125695e-02f, + -4.149914533e-02f, 2.721219510e-02f, 9.941695631e-02f, -4.665152635e-03f, + 8.664835989e-02f, 3.443801403e-02f, 1.147298887e-01f, 7.703587413e-02f, + -8.197827265e-03f, -5.266411975e-02f, -1.055828929e-01f, 2.938167006e-02f, + -7.944634557e-02f, -9.015434235e-02f, -9.919381887e-02f, -1.087046489e-01f, + 1.001779512e-01f, 1.421085596e-01f, 7.759000361e-02f, 2.301408537e-02f, + 3.481898904e-01f, -1.199920326e-01f, -4.286365584e-02f, 5.493032932e-02f, + 1.029919237e-01f, -2.077492420e-03f, 6.643895060e-02f, 1.181947067e-03f, + 1.222936511e-01f, -1.372287720e-01f, -2.082492411e-02f, -3.744143993e-02f, + -2.096207347e-03f, 3.721614555e-02f, 1.206526011e-01f, 6.975901872e-02f, + -1.032218039e-01f, -6.981424522e-03f, -1.081972383e-02f, -7.329443842e-02f, + 2.072821837e-03f, 1.818182319e-02f, -2.158258669e-02f, -1.592171565e-02f, + -1.675052047e-01f, 1.335097998e-01f, -4.532816261e-02f, -3.420859203e-02f, + 5.015878379e-02f, -1.073890016e-03f, -4.466624558e-02f, -1.431526393e-01f, + -7.291823626e-02f, 1.001040414e-01f, 2.904610522e-02f, 1.942241788e-01f, + 3.331006318e-02f, -1.568102986e-01f, -4.461875185e-02f, 1.809329167e-02f, + -5.180814490e-02f, -8.606320620e-02f, 4.942834005e-02f, -6.910832971e-02f, + 5.782126263e-02f, -2.050979249e-02f, 4.399580136e-02f, 6.865695864e-02f, + -2.848214470e-02f, 1.593196392e-02f, 3.997651860e-02f, -8.145643026e-02f, + 5.254694447e-02f, -5.592894554e-02f, 9.125787020e-02f, 8.167445660e-02f, + -1.357524395e-01f, 1.955140829e-01f, -2.237531729e-02f, -1.406705678e-01f, + -1.220246851e-01f, 8.041515201e-02f, -1.494400389e-02f, -1.796275228e-01f, + -1.111537218e-01f, 3.631415218e-02f, 1.248347461e-01f, 2.869485691e-02f, + -1.754018068e-01f, 4.538993165e-02f, -2.368514240e-02f, 5.903804675e-02f, + 1.921793073e-01f, 4.026061296e-02f, -8.386339992e-02f, 3.435475379e-02f, + 1.026072167e-02f, -5.015457515e-03f, 8.498452604e-03f, -2.454045601e-02f, + -3.185381740e-02f, -3.725793585e-02f, 5.037491769e-02f, 1.899791695e-02f, + -1.421039999e-01f, 6.636966765e-02f, -5.256918073e-02f, 1.232630163e-01f, + -4.029703513e-02f, -7.861801237e-02f, 8.024601266e-03f, -1.178434864e-01f, + -1.043569446e-01f, -1.833615452e-02f, 3.279892355e-02f, 4.402136430e-03f, + -1.619077027e-01f, 3.191531077e-02f, -1.003881171e-01f, 2.023312300e-01f, + -8.091286570e-02f, 4.770755023e-02f, -6.993342191e-02f, 8.215337992e-02f, + -6.668763235e-03f, 6.251283735e-02f, -7.177095395e-03f, 7.473425567e-02f, + 1.251528040e-02f, 1.044173464e-01f, 5.810540542e-02f, 1.302930154e-02f, + -3.563616797e-02f, 1.961877756e-02f, -1.691362113e-01f, -8.301565796e-02f, + -5.284234649e-04f, -8.883078396e-02f, -4.260579497e-02f, 4.530756548e-02f, + -8.103623986e-02f, 4.158278555e-02f, -1.115116999e-01f, -1.665554009e-02f, + -2.928997576e-02f, 3.030934930e-02f, -5.148911104e-02f, 1.093536690e-01f, + 1.526148617e-01f, 3.487182409e-02f, -3.208409622e-02f, 3.253357019e-03f, + -1.834883820e-03f, -9.373489022e-02f, 1.821443788e-03f, 6.956514716e-02f, + 1.701321006e-01f, 1.284527183e-01f, 1.148684695e-01f, -5.320895091e-02f, + 6.998250633e-02f, 2.259734273e-02f, 7.989329286e-03f, 3.332053870e-02f, + -4.603195935e-02f, -2.808331978e-03f, 2.163358405e-02f, 5.428750068e-02f, + 2.188802138e-02f, -7.787109166e-02f, 1.950384825e-01f, -5.257293582e-02f, + 4.546088725e-02f, -2.825629711e-02f, -5.906891450e-02f, 1.136657074e-01f, + 1.396215260e-01f, -2.892685309e-02f, -1.626752689e-02f, 2.040868402e-01f, + -1.282452838e-03f, -6.732450426e-02f, 9.507282823e-02f, 8.032015711e-02f, + 1.146775782e-01f, 1.155435368e-01f, -1.711243987e-01f, -8.682858944e-02f, + 5.540257785e-03f, -8.297869004e-03f, 9.713339061e-02f, -3.263042122e-02f, + 3.521994874e-02f, -5.108738784e-03f, 1.294622198e-02f, -2.597777843e-01f, + 1.548243463e-01f, 5.002296064e-03f, 1.932883821e-02f, -1.593269110e-01f, + 1.106112078e-01f, 3.773865849e-02f, 8.009857684e-02f, -4.460875690e-02f, + -4.462838173e-02f, -4.495258257e-02f, 4.217457771e-02f, 4.205043986e-02f, + -1.452819556e-01f, 1.389153600e-01f, 2.189366706e-02f, 9.899350256e-02f, + 2.880687453e-02f, 4.354652390e-02f, -2.995236777e-02f, 8.247753233e-02f, + -5.459851399e-02f, 1.124803498e-01f, 6.759051234e-02f, 6.242150441e-02f, + -9.521297365e-02f, -5.712573230e-02f, 1.253231317e-01f, -8.147518337e-02f, + -1.440301389e-01f, -2.667072788e-02f, 1.539999694e-01f, -7.923670113e-02f, + -2.664923668e-01f, 3.413660824e-02f, -1.525017023e-01f, 3.378809988e-02f, + 2.349733934e-02f, 1.682659611e-02f, -1.780559309e-02f, -7.512746006e-02f, + -3.251086920e-02f, -4.731320590e-02f, 9.058056027e-02f, 7.261257619e-02f, + -6.169843953e-03f, -1.623832583e-01f, -9.635220468e-02f, 4.210907221e-02f, + 7.303890586e-02f, -9.110263735e-02f, 2.390925586e-02f, -9.772409499e-02f, + -6.755259633e-02f, -1.132328343e-02f, -6.517988443e-02f, -2.817075886e-02f, + 6.125129759e-02f, 1.641370356e-01f, 1.949058287e-02f, 3.230864555e-02f, + 1.170902103e-01f, 3.380932659e-02f, -1.087174937e-02f, 9.458856285e-02f, + -4.183224868e-03f, -2.138426527e-02f, -3.876979277e-02f, 9.815031290e-02f, + 7.467173785e-02f, 3.483361378e-02f, 4.089365900e-02f, 2.215609103e-01f, + -1.006448641e-01f, -1.242859941e-02f, 1.613990404e-02f, -3.937807679e-02f, + -7.589484006e-02f, 6.342255324e-02f, -2.083135396e-02f, -1.410573255e-03f, + -7.290364802e-02f, 1.060494035e-01f, 1.741049588e-01f, 5.463229492e-02f, + 1.187313348e-02f, -1.132369265e-01f, 4.501348734e-02f, 4.228970781e-02f, + -9.368789941e-02f, -5.453942716e-02f, 1.322825253e-01f, 1.623823941e-01f, + 1.688073128e-01f, 1.448100954e-01f, -1.713629067e-01f, -1.210283712e-01f, + -1.688440591e-01f, -1.917368732e-02f, 9.486310184e-02f, -6.246886402e-02f, + 1.580105275e-01f, -1.081430092e-01f, 9.640953690e-02f, 4.839500040e-02f, + -4.482871667e-02f, 1.025770679e-01f, 7.299281191e-03f, 1.777613908e-01f, + 4.339488596e-02f, -6.284336746e-02f, 1.503491402e-01f, 1.222606450e-01f, + -4.302047193e-02f, -2.683584951e-02f, -5.419031531e-02f, 2.896170132e-02f, + -6.526832283e-02f, -9.102554061e-03f, -1.804884970e-01f, -1.643128134e-02f, + 5.821209028e-02f, 5.951674655e-02f, -1.551082283e-01f, 1.471493975e-03f, + 2.553118393e-02f, 1.207084283e-01f, 6.368406117e-02f, 1.238480210e-01f, + 4.611229151e-02f, -9.931517392e-02f, -3.726030514e-02f, 2.421863936e-02f, + 4.877385125e-02f, 2.322247811e-02f, -3.328230977e-02f, -1.830620468e-01f, + -1.770045459e-01f, 1.102235019e-01f, -5.001243204e-02f, 7.404644787e-02f, + -8.875483274e-02f, -9.182957560e-02f, 3.899208456e-02f, -1.279223263e-01f, + 4.759195819e-02f, -2.184993774e-02f, -3.028061939e-03f, 3.068124875e-02f, + -1.884240471e-02f, -2.136842534e-02f, 2.611588314e-02f, 2.193566784e-02f, + -6.416760385e-02f, -8.296390879e-04f, -7.112137973e-02f, 8.582569659e-02f, + -4.393074289e-02f, 2.682111971e-02f, -1.125501003e-02f, -9.900902212e-02f, + 7.551530004e-02f, 1.163507253e-02f, 7.428577542e-02f, 1.679040194e-01f, + -4.626094550e-02f, 1.560822278e-01f, 1.125888750e-01f, -6.909035891e-02f, + 1.521024946e-02f, 2.070983313e-02f, -5.966077745e-02f, -8.568987250e-02f, + 6.695066392e-02f, -9.596501477e-03f, 6.839951873e-02f, -6.142149493e-02f, + -9.562472999e-02f, -8.559351787e-03f, -1.096402481e-01f, -6.937980652e-02f, + -8.649316616e-03f, 1.524176262e-02f, 9.273614734e-02f, -7.207274437e-03f, + -6.946656853e-03f, -1.515872180e-01f, 5.244679749e-02f, 8.623992652e-02f, + -1.516172141e-01f, 7.691571862e-02f, 4.516601935e-02f, -4.859627411e-02f, + -2.704818361e-02f, -1.196350753e-01f, -1.241692081e-01f, 2.306112647e-01f, + 1.896802336e-03f, -2.214650810e-02f, 7.901613414e-02f, -1.023904793e-02f, + 2.644936182e-02f, 3.737901896e-02f, -7.272555679e-02f, 8.841792494e-02f, + 8.259098232e-02f, 1.140975133e-01f, 4.776858538e-02f, 5.290494487e-02f, + 5.923076067e-03f, 5.139733106e-02f, 7.391235977e-02f, -3.197421506e-02f, + -1.132886037e-01f, -4.505438555e-04f, 1.065772474e-01f, -1.242071539e-01f, + -2.482040972e-02f, -1.854216307e-01f, -8.462277055e-02f, 4.091917723e-02f, + -2.212088257e-01f, 7.786312141e-03f, -1.344331950e-01f, 2.629041113e-02f, + 4.444195330e-02f, 1.433738880e-02f, 1.037824899e-01f, -5.014457181e-02f, + -3.549527749e-02f, -9.746945649e-02f, 8.401008695e-02f, -9.222347289e-02f, + -1.111381873e-01f, -4.506622627e-02f, 1.136286184e-02f, -3.140487894e-02f, + 7.711390406e-02f, -3.950963169e-02f, 9.484610707e-02f, -1.112902984e-01f, + -7.038179319e-03f, 2.016894221e-01f, 1.089362800e-01f, -1.029081941e-01f, + 8.349974453e-02f, 1.740542352e-01f, -5.129263923e-02f, -1.849162579e-01f, + 1.182550099e-03f, -1.195295677e-01f, 1.827319115e-01f, -1.067027450e-01f, + -8.554366976e-02f, 2.588710934e-02f, 2.851903997e-02f, 3.308990970e-02f, + -2.020578599e-03f, -1.164958850e-01f, -2.648439817e-02f, -4.549899697e-02f, + 7.171835750e-03f, 1.650689356e-02f, -1.262569278e-01f, 4.017444793e-03f, + -9.541968256e-02f, -6.359373033e-02f, 8.275668323e-02f, -5.241527781e-02f, + 9.996073693e-02f, -9.817093611e-02f, 6.295652688e-02f, 4.372562841e-02f, + -8.536560461e-03f, 9.133955091e-02f, 5.736318417e-03f, 1.369890124e-01f, + -2.008316293e-02f, 2.794989198e-02f, -7.867240161e-02f, -2.265147492e-02f, + -1.639653146e-01f, -5.294275470e-03f, -6.856923550e-02f, 5.843944475e-02f, + 2.064849436e-02f, -5.964212492e-02f, -5.949788168e-02f, -7.484678645e-03f, + -1.947200298e-02f, 1.025372297e-01f, -1.939078607e-02f, -9.802184999e-02f, + 1.502550989e-01f, 1.142746732e-01f, -3.295312449e-02f, 1.095452756e-01f, + -5.993038788e-02f, -1.266169548e-01f, 1.257327199e-01f, -6.423888728e-03f, + 1.386675090e-01f, -1.384148933e-02f, 4.972100630e-02f, -9.487216175e-02f, + 1.638371497e-02f, 2.934219874e-02f, 2.269568481e-02f, 1.261220081e-03f, + -3.768089786e-02f, -4.334085062e-02f, 9.427838773e-02f, 2.477851510e-02f, + -1.863512248e-01f, 1.563125104e-02f, 7.653150707e-02f, 3.345703334e-02f, + 1.190416738e-01f, -2.432399988e-01f, -5.130819604e-02f, -7.072260231e-02f, + 1.082673222e-01f, -7.588592172e-02f, -3.296029055e-03f, 4.599582031e-02f, + 1.095244661e-01f, -7.139847428e-02f, -1.078929231e-01f, -5.565081537e-02f, + -1.502093673e-01f, 2.516156994e-02f, -1.190762892e-01f, 3.949097171e-02f, + 1.005533114e-01f, -1.467361115e-02f, -1.726497896e-02f, -1.551726907e-01f, + 1.341352910e-01f, 8.231710643e-02f, -2.192636952e-03f, 1.253426634e-02f, + 3.851760551e-02f, 6.295707077e-02f, -2.868247032e-02f, 1.257888377e-01f, + -1.111553516e-03f, -1.116287634e-01f, -2.027143538e-02f, 1.978034154e-02f, + 1.096377596e-01f, -7.751961797e-02f, -3.452129662e-02f, 1.593564600e-01f, + 3.154684976e-02f, -1.106018499e-01f, 1.289057359e-02f, 3.664561315e-03f, + 9.720599651e-02f, -4.190356657e-02f, 9.497951716e-02f, 1.730679423e-01f, + -1.594477147e-01f, -1.087165698e-01f, -6.064248458e-02f, -5.812463351e-03f, + 2.003583312e-01f, -2.500217967e-02f, -1.341076642e-01f, 3.468560986e-03f, + -7.832522690e-02f, 9.289708734e-02f, -9.110004455e-02f, -2.280469090e-01f, + -5.679279938e-02f, 4.053457454e-02f, 1.725918613e-02f, 7.429081202e-02f, + 3.194395453e-02f, -1.698456556e-01f, -3.297948092e-02f, 6.851691753e-02f, + 4.735079780e-02f, -8.229541034e-02f, 4.122217000e-02f, 6.701208651e-02f, + -5.388091877e-02f, 7.742074784e-03f, -6.226580590e-03f, -1.425763965e-01f, + 7.545478642e-02f, -6.689588726e-02f, -1.868245751e-01f, 1.150095277e-02f, + 4.566934332e-02f, -6.306302547e-02f, -1.154786795e-01f, 1.884421334e-02f, + -4.453337565e-02f, 2.974781580e-02f, -3.714512661e-02f, 8.217582107e-02f, + 7.120267302e-02f, 9.735896252e-03f, -5.709798262e-02f, -1.265924424e-01f, + 4.078046978e-02f, 1.378238499e-01f, 2.046950459e-01f, 1.266017258e-01f, + -1.267147809e-01f, 6.474749744e-02f, -9.431121871e-03f, 1.054990105e-02f, + 3.622444719e-02f, -1.098400634e-02f, -9.844978899e-02f, 8.954731375e-02f, + -5.542523041e-02f, 1.354422122e-01f, 9.963749349e-02f, -6.059216708e-02f, + -1.378927827e-01f, 2.629919723e-02f, 3.731927276e-02f, 4.320224002e-02f, + 4.724084213e-02f, 3.862218559e-02f, -9.422806650e-02f, 1.144613326e-01f, + -8.014751226e-02f, -4.183403403e-02f, 2.100924402e-02f, 3.760522231e-02f, + 8.783917129e-02f, -4.676463827e-02f, 7.919346541e-02f, -7.436572015e-02f, + 1.075818092e-01f, 5.067200586e-02f, -5.117652565e-02f, 8.992721140e-02f, + -1.890418977e-01f, -1.375827007e-02f, -4.639247060e-02f, 2.860102430e-02f, + -7.653336972e-02f, 5.005067959e-02f, -1.155925565e-03f, 8.588189632e-02f, + 7.969771326e-02f, 4.510672297e-03f, -1.154235527e-01f, -2.128912508e-02f, + 3.014498204e-02f, -1.424919963e-01f, 1.874703616e-01f, -7.843169570e-02f, + 1.070183050e-02f, -1.955329478e-01f, 2.880593203e-02f, -4.271214455e-02f, + -4.255407490e-03f, -2.148667276e-01f, -7.059736550e-02f, 3.876364976e-02f, + -5.436078832e-02f, -7.829397917e-02f, 2.628532611e-02f, 1.563391089e-01f, + -1.233908907e-01f, 8.352085948e-02f, 3.033338487e-02f, -1.305585653e-01f, + -7.094989717e-02f, 1.124890223e-01f, -1.629770175e-02f, -5.238921195e-02f, + -3.569208086e-02f, 1.842068434e-01f, 1.163100265e-02f, 1.145098358e-02f, + -9.703218192e-02f, -5.293368548e-02f, 6.228887290e-02f, -3.445471823e-02f, + -1.380870044e-01f, -9.536894411e-02f, 9.853841364e-02f, -7.303217053e-02f, + 2.385069244e-02f, 1.851180941e-02f, -1.163594704e-02f, -7.670131326e-02f, + 4.720539227e-02f, -1.316263229e-01f, 7.437535562e-03f, 1.759663038e-02f, + -1.130925342e-01f, -7.316040248e-02f, -5.945701897e-02f, -5.491732154e-03f, + 1.453337446e-02f, 5.042428151e-02f, -1.492238976e-02f, 7.721727341e-02f, + 1.302333474e-01f, -7.605927438e-02f, -1.973498799e-02f, -1.062628925e-01f, + 1.026913449e-01f, -1.375058293e-01f, 7.065957040e-02f, 4.994482175e-02f, + -1.373606473e-01f, -6.284818798e-02f, -1.090307683e-01f, -4.196938872e-02f, + -3.526934609e-02f, 7.414018363e-02f, -1.940886080e-01f, 1.011510193e-01f, + -1.712505370e-01f, -1.443411596e-02f, -4.803154618e-02f, 3.338119015e-02f, + 1.254592743e-02f, 1.764540970e-01f, -1.172151864e-01f, 8.344715834e-02f, + -7.249093801e-02f, -1.085274592e-01f, 5.171461403e-02f, 1.265590191e-01f, + 3.820079565e-02f, 4.400420561e-02f, -4.933601245e-02f, 3.467812762e-02f, + -1.226614639e-01f, 6.410788000e-02f, -6.916813087e-03f, -1.022475809e-01f, + -8.186671883e-03f, -7.399267703e-02f, 9.425306320e-02f, 4.509740695e-02f, + -4.944817722e-02f, -1.296089292e-01f, 1.534098834e-01f, -8.439424634e-02f, + -4.304609075e-02f, -7.750800252e-02f, 4.608369246e-02f, -4.062428325e-02f, + -7.368921489e-02f, 1.915428974e-02f, 2.216143347e-02f, 2.517667040e-02f, + -1.366377473e-01f, -1.317552477e-01f, 8.614188433e-02f, 1.126179248e-01f, + -5.818891525e-02f, 6.883800030e-02f, -3.444440290e-02f, 8.456501365e-02f, + 3.254391253e-02f, -5.146538839e-02f, -1.074349731e-01f, 1.798570603e-01f, + 1.431994140e-01f, -1.799553484e-01f, 1.355640739e-01f, -2.663232014e-02f, + -6.222251430e-02f, -1.556517333e-01f, 5.745954067e-02f, 3.123619407e-02f, + -7.652243227e-02f, -3.490662202e-02f, -2.330938354e-02f, 3.409177065e-02f, + -1.118174642e-01f, 9.891634434e-02f, -6.400004774e-02f, -3.867024556e-02f, + -1.364760101e-02f, 7.563769072e-02f, 2.684758976e-02f, -1.618358493e-01f, + -2.328242362e-02f, -9.625741094e-02f, -1.382675469e-01f, -7.812315226e-02f, + -9.543272667e-03f, 9.996208362e-03f, -1.866746247e-01f, 1.337360442e-01f, + 6.580511481e-02f, 8.540490270e-02f, 2.312884293e-02f, -6.012237072e-02f, + 3.577683866e-02f, -5.368383601e-02f, 4.937405512e-02f, 5.515396222e-02f, + -3.253316972e-03f, -1.439944059e-01f, -9.480141103e-02f, -1.144029796e-01f, + -1.955152899e-01f, 1.189321354e-01f, -2.592296526e-02f, -3.438418359e-02f, + 2.044365108e-01f, -2.379268408e-02f, -1.147990972e-01f, -5.446977913e-02f, + 5.273343250e-02f, -5.410375074e-02f, 5.680934712e-02f, -2.605351992e-02f, + -8.571783081e-03f, 1.865698211e-02f, -1.206288040e-01f, 7.114627864e-03f, + -5.018430948e-02f, 2.014598399e-01f, 1.869895682e-02f, 8.094461262e-02f, + 4.686039686e-02f, 1.565307938e-02f, 1.852500588e-01f, -1.233822107e-02f, + 3.505235165e-02f, 8.939195424e-02f, -6.631008536e-02f, 3.578237444e-02f, + 1.466784179e-01f, -7.426293939e-02f, -6.195819005e-02f, -6.263642758e-02f, + -1.104752496e-01f, -7.736726850e-02f, -4.098831862e-02f, 1.945583336e-02f, + -6.880647689e-02f, 8.490167558e-02f, 6.166522577e-02f, 3.392285109e-02f, + -5.785703659e-02f, 8.191753179e-02f, -9.467988461e-02f, 1.151931137e-01f, + -2.763982490e-02f, 4.850254580e-02f, 1.400468498e-01f, 1.613483578e-01f, + -7.878702134e-02f, 6.656572223e-02f, 3.284746408e-02f, 1.207497716e-01f, + 4.821887985e-02f, 1.139941812e-02f, 6.470071524e-02f, -4.052542523e-02f, + -8.702526800e-03f, -4.297737498e-03f, -8.659288287e-02f, -1.084862556e-02f, + 8.964363486e-02f, -9.523928910e-02f, -2.071509510e-01f, -1.166510358e-01f, + -5.311003327e-02f, -8.481262624e-02f, 7.597823441e-02f, -1.269662101e-02f, + -3.653639928e-02f, 1.824618876e-01f, 4.797803238e-02f, 4.038276151e-02f, + 3.301020712e-02f, -3.980121762e-02f, 3.897236194e-03f, 9.791022539e-02f, + -8.203173429e-02f, 1.357674133e-02f, -1.811449649e-03f, -2.353337035e-02f, + -1.926663704e-02f, 1.173846200e-01f, -6.302943826e-02f, -2.395583242e-01f, + 9.690539539e-02f, -1.532894820e-01f, 5.485415086e-02f, 8.682805113e-03f, + -2.148550190e-02f, 1.636505127e-01f, -7.251512259e-02f, -9.114878625e-02f, + 1.359725744e-01f, -1.102875452e-02f, 2.749029733e-02f, -1.045123860e-01f, + -1.154404059e-01f, -5.003372207e-02f, -7.438498735e-02f, -3.647261485e-02f, + -5.127428472e-02f, 6.732387841e-02f, 1.887099072e-02f, 1.223980933e-01f, + -1.105485037e-01f, 1.498310734e-02f, 5.624177679e-02f, 1.344747096e-01f, + 9.837425314e-03f, -6.675060093e-02f, 9.387797117e-02f, -3.190927580e-02f, + -2.466890812e-01f, -2.329994142e-01f, 6.419754773e-02f, -1.526371092e-01f, + -1.875779778e-02f, -2.994374000e-02f, 3.998640925e-02f, -8.801865391e-03f, + 9.957570583e-02f, -4.407359660e-02f, -4.253154248e-02f, 9.974208474e-02f, + 8.324378729e-02f, -1.623788625e-01f, 3.538480029e-02f, -3.763332590e-02f, + -2.729103714e-02f, -1.026564185e-02f, -1.756707579e-02f, 6.553143729e-03f, + -4.681076854e-02f, -6.377064437e-02f, -3.919871151e-02f, -5.289005861e-02f, + 9.061459452e-02f, 1.344080716e-01f, -1.343869865e-01f, -1.158749461e-01f, + 6.529252231e-02f, 4.763991386e-02f, -2.807445265e-02f, -5.271486193e-02f, + -2.359411865e-02f, -1.311873049e-01f, -3.825520352e-02f, -3.990776464e-02f, + 1.288380940e-02f, -1.157147586e-01f, -7.215750962e-02f, -1.969281733e-01f, + 9.664970450e-03f, -8.068051189e-02f, 2.765528485e-02f, -1.044691429e-01f, + -7.789037377e-02f, -5.538737029e-02f, -7.633325458e-02f, 1.486615688e-01f, + -1.267690361e-01f, -5.580442771e-02f, 5.076839030e-02f, -4.917990789e-02f, + 1.453208476e-01f, -5.576835200e-02f, 4.668563604e-02f, 1.111477986e-01f, + 7.445939630e-02f, -8.933974430e-03f, -1.043138057e-01f, -1.249942780e-01f, + 5.066709220e-02f, -1.252373215e-02f, -1.742465422e-03f, 3.539021686e-02f, + -4.883108288e-02f, -1.365695298e-01f, 5.147457495e-02f, -3.766258061e-02f, + -1.030399725e-01f, -1.817120984e-02f, 6.977468729e-02f, 2.431417629e-02f, + -1.355776638e-01f, -4.166588932e-02f, 2.558665350e-02f, 4.015146568e-02f, + -5.210577510e-03f, 1.854016185e-01f, 8.210663497e-02f, -1.043780595e-01f, + 8.900851756e-02f, -5.314181559e-03f, 7.509877533e-02f, 4.435625300e-02f, + 1.141585293e-03f, 3.605718911e-02f, -4.024867341e-02f, 3.660883754e-02f, + -1.501212716e-01f, 3.762555495e-02f, -8.467156440e-02f, 1.970326006e-01f, + 8.928940445e-02f, -1.524000615e-01f, 5.211269483e-02f, -7.961332053e-02f, + -1.246941984e-01f, -1.202663109e-01f, 5.694383755e-02f, -6.807818264e-02f, + 5.754029378e-02f, -5.184274539e-02f, 9.585526772e-03f, -3.885964677e-02f, + 7.353097945e-02f, 1.569755077e-01f, -1.645304859e-01f, -1.020895988e-01f, + 5.747394264e-02f, 2.853469178e-02f, 5.627805833e-03f, -5.611798540e-02f, + -9.576902539e-02f, -1.327141821e-01f, -1.831210777e-02f, 1.056996733e-01f, + -5.233531818e-02f, 1.291131321e-02f, 1.421920955e-01f, 4.682818428e-02f, + -1.127225682e-01f, -9.466116317e-03f, -1.224485338e-01f, -1.022489965e-01f, + -4.256776720e-02f, -3.849605471e-02f, -2.303011715e-02f, 1.048383117e-01f, + -4.991935566e-02f, -8.649794012e-02f, -7.135103643e-02f, 4.758236557e-02f, + -1.018777713e-01f, -1.242665425e-01f, -5.832552537e-02f, 1.784961298e-02f, + 2.417186275e-02f, -1.098178923e-01f, -4.405224323e-02f, -4.832256585e-02f, + -9.970089793e-02f, -1.923957653e-02f, 4.111989215e-02f, 2.012437768e-02f, + -5.155008659e-02f, -1.182831228e-01f, 3.731387435e-03f, 6.361521780e-02f, + 2.677975036e-02f, -3.587838635e-02f, -6.936078519e-02f, 1.046427339e-01f, + -1.150249764e-01f, 7.901155204e-02f, -8.284381032e-02f, -7.170356810e-02f, + -1.271891743e-01f, -6.352877617e-02f, 3.919057082e-03f, -1.685044765e-01f, + 5.415644124e-02f, -1.306987926e-02f, -6.922221277e-03f, 1.190094426e-01f, + -2.088630199e-01f, 1.576774567e-01f, -1.187179908e-01f, -2.286814898e-02f, + -2.336202562e-02f, 1.161952093e-01f, -1.967451721e-01f, -1.240275949e-01f, + -1.247480139e-01f, -1.754789986e-02f, 3.573480621e-02f, 1.561991312e-02f, + 1.073825806e-01f, -7.017663121e-02f, -1.719852723e-02f, 5.743438005e-02f, + 6.093013287e-02f, 4.247315973e-02f, 1.980686188e-02f, -2.300034650e-02f, + 3.495160118e-02f, 5.019630119e-02f, -3.102010116e-02f, 1.415118128e-01f, + 2.259776443e-01f, -1.382859200e-01f, -5.716585740e-02f, 1.270054728e-01f, + -8.621308953e-02f, 1.307430118e-01f, 1.134941876e-01f, 1.026255041e-01f, + -3.236298263e-02f, -1.324803829e-01f, 4.860585555e-02f, 8.434872329e-02f, + 5.761006102e-02f, 1.664084643e-01f, -7.830016315e-02f, -1.487101614e-01f, + 4.692059010e-02f, -1.309196651e-01f, 1.202523112e-01f, -5.209385976e-02f, + 2.276267484e-02f, -4.692419246e-02f, 7.537048659e-04f, 4.566869512e-02f, + -1.136953160e-01f, 2.609694749e-02f, 9.618885070e-02f, -1.139904484e-01f, + -5.334240198e-02f, 9.924375266e-02f, -4.192351550e-02f, -1.342518181e-01f, + -3.499179706e-02f, -1.398576200e-01f, -1.511856820e-02f, 5.505586788e-02f, + 1.608158350e-01f, -1.683707833e-01f, 5.872554705e-02f, -5.491777137e-02f, + 4.402080923e-02f, -4.247955233e-02f, -1.003918201e-01f, 9.355814755e-02f, + -1.134608611e-01f, 6.703381985e-02f, -4.186473414e-02f, 2.366112079e-03f, + -5.996855348e-02f, 4.825155064e-02f, 1.156278141e-02f, 3.579746187e-02f, + 1.248166859e-01f, 1.208849996e-02f, 7.665658742e-02f, -8.207152784e-02f, + 1.206718013e-01f, -7.559813559e-02f, 3.433711827e-02f, 1.202944145e-01f, + -1.298905462e-01f, -5.117245018e-02f, 3.295990452e-02f, 1.181067619e-02f, + -3.680342808e-02f, -1.326352209e-01f, -7.057084888e-02f, -1.123630330e-01f, + -1.841910928e-02f, -5.407265946e-02f, -9.788480587e-03f, 3.955567256e-02f, + 3.378754482e-02f, 3.023060039e-02f, 7.617405802e-02f, -7.332979888e-02f, + 3.499151394e-02f, -8.209394664e-02f, -1.808375269e-01f, -1.909787059e-01f, + -6.370598823e-02f, 1.369002163e-01f, -7.202195004e-03f, -9.712424129e-03f, + -8.803188801e-02f, 1.729506254e-02f, -7.344452292e-02f, 2.271073461e-01f, + 1.619974268e-03f, 1.178998202e-01f, 4.691309482e-02f, -8.108900487e-02f, + 1.814415306e-02f, 1.525886077e-02f, 1.094100848e-01f, 2.031079493e-02f, + 8.148075640e-02f, 4.497437552e-02f, 4.125925526e-02f, 1.060841307e-01f, + -8.542060852e-02f, -1.153938845e-01f, -3.834066913e-02f, -1.839923300e-02f, + 1.443638839e-02f, -3.700927272e-02f, 2.241674066e-02f, -1.353490055e-01f, + -1.801637746e-02f, 4.683650285e-02f, -1.552558988e-01f, -9.045887738e-02f, + -1.066286936e-01f, 1.413497329e-01f, -1.208998356e-02f, -1.613072902e-01f, + 2.896361751e-03f, -7.045356184e-02f, -4.118093848e-02f, -1.093158945e-01f, + -5.235460773e-02f, -3.716619685e-02f, -8.906459808e-02f, -6.463974714e-02f, + -1.036149636e-02f, 1.131447256e-01f, 5.558655411e-02f, -7.707625162e-03f, + 7.301400416e-03f, -1.109001786e-01f, -1.571457833e-01f, 1.317370404e-02f, + 1.227135584e-01f, 1.020112932e-01f, 6.498996168e-02f, 1.986142434e-02f, + 1.209855080e-03f, 1.726675034e-01f, 1.450406462e-01f, -8.683823049e-02f, + 5.294146016e-02f, -1.100071818e-01f, 6.443034112e-02f, -3.161409870e-02f, + -2.525083534e-02f, 2.112665586e-02f, -8.317105472e-02f, 9.136081487e-02f, + 1.205314994e-01f, -2.191145904e-02f, 2.407618426e-02f, 1.107867993e-02f, + 5.199878290e-02f, 1.761876196e-01f, -7.015698403e-02f, -6.746894121e-02f, + 3.650477901e-02f, -2.428431064e-01f, -1.529218070e-02f, -1.609155722e-02f, + -1.019325107e-02f, -1.818927228e-01f, 1.508503258e-01f, -4.597744346e-02f, + -7.459503412e-02f, 8.333567530e-02f, -9.482544661e-02f, -2.169503644e-02f, + 7.052334398e-02f, -4.246254452e-03f, 5.518925190e-02f, -7.570800930e-02f, + 2.576919459e-02f, 9.931655601e-03f, -1.402945817e-01f, -2.349056676e-02f, + -1.390887704e-02f, 9.000579268e-02f, 2.504265634e-03f, 1.993377507e-01f, + 1.091366038e-01f, 7.721717656e-02f, 8.534917980e-02f, -1.723766923e-01f, + 4.597724974e-02f, -2.285632677e-02f, 5.650679767e-02f, -1.093633994e-01f, + 3.358969092e-02f, 4.548084736e-02f, -1.073006690e-01f, -6.968884170e-02f, + -1.058959141e-01f, -6.592458487e-02f, 9.394838661e-02f, -1.063013226e-01f, + -6.516259164e-02f, 5.513796583e-02f, 7.428167155e-04f, -1.320331991e-01f, + -6.220718101e-02f, -9.189722687e-02f, -2.319855802e-02f, -1.223233417e-01f, + 1.079110354e-01f, -5.704281479e-02f, 1.328058243e-01f, -1.351043880e-01f, + 2.483894378e-01f, 3.904697299e-02f, -6.382519752e-02f, 1.031216457e-01f, + -6.787952781e-02f, -1.286914498e-01f, 5.478781834e-02f, 1.271395534e-01f, + -3.511858406e-03f, 5.953139439e-02f, -4.753234982e-02f, 9.426132590e-02f, + -6.599585712e-02f, 4.763861187e-03f, -2.011674829e-02f, 1.144513860e-01f, + -4.561552033e-02f, -5.981622636e-02f, 2.618812490e-03f, 3.560054302e-02f, + 3.549823910e-02f, -8.810163476e-03f, -1.307760477e-01f, 2.821867540e-02f, + 8.483765274e-02f, 4.096486664e-04f, 1.689287275e-01f, -1.012704149e-02f, + 6.684884429e-02f, -2.687717089e-03f, -1.780364662e-02f, 5.319671333e-02f, + -5.692519993e-02f, 9.295897186e-02f, 2.489979565e-02f, -1.250892645e-03f, + -1.801026314e-01f, 1.669055969e-02f, 3.124318458e-02f, 6.633278728e-02f, + 1.453297436e-01f, 9.627724439e-02f, -1.078963727e-01f, -3.051182139e-04f, + -1.908316649e-02f, 6.381661445e-02f, -6.523764227e-03f, 5.170424655e-02f, + 9.532855824e-03f, 3.924409673e-02f, 9.376648813e-02f, 2.132119611e-02f, + 6.224825047e-03f, -1.189363971e-01f, 9.055417031e-02f, -1.043952722e-02f, + -4.764697701e-02f, -9.805680066e-02f, 2.171406150e-01f, -1.917508245e-01f, + 4.477293789e-02f, 8.091606945e-02f, -6.126492843e-02f, -2.141189948e-02f, + 1.940442026e-01f, 5.428260192e-02f, -4.348632880e-03f, 3.150908044e-03f, + -1.342751831e-01f, 1.044020206e-01f, 2.428213321e-02f, 1.730008423e-02f, + 1.393764913e-01f, -2.314457148e-01f, 2.520023845e-02f, 1.309268624e-01f, + 2.038635127e-02f, -1.334112138e-01f, 1.205174103e-01f, -9.677612036e-02f, + -4.744752869e-02f, 7.463540137e-02f, -2.240463533e-02f, -2.027997561e-02f, + 1.227554213e-02f, 2.121680789e-02f, 3.727035969e-02f, 8.695751429e-02f, + -5.553455278e-02f, -6.710920483e-02f, 1.099155284e-02f, -6.658453494e-02f, + 2.448194474e-02f, 1.106442660e-01f, 7.316633314e-02f, -8.266122639e-02f, + -3.245387599e-02f, -1.195448413e-01f, 1.833832264e-01f, 3.176730871e-02f, + 1.067609042e-01f, -1.498985197e-02f, -3.651963919e-02f, 1.705019735e-02f, + 1.336882412e-01f, -1.097284630e-01f, -5.081815273e-02f, 1.358985007e-01f, + -3.429573029e-02f, 1.390804201e-01f, -4.223794118e-02f, -5.931448936e-02f, + 2.146033198e-02f, -3.269538656e-02f, -4.694177210e-02f, 1.195626780e-01f, + -2.034050226e-02f, 1.470469870e-02f, -3.812362254e-02f, -5.092275888e-02f, + -2.160206251e-02f, -3.083871678e-02f, -1.604000665e-02f, -4.358400032e-02f, + 7.647649851e-03f, -4.060918093e-02f, -7.127147168e-02f, -2.554710805e-01f, + -5.876117572e-02f, 1.896544360e-02f, 5.565485358e-02f, 8.697059005e-03f, + -3.826561570e-02f, -1.064687446e-01f, -3.736209869e-02f, 1.084207743e-01f, + 7.722017914e-02f, 7.594114542e-02f, -1.271636784e-02f, 5.717816949e-02f, + -4.303490371e-02f, 4.035081365e-04f, -9.678123891e-02f, 1.240825001e-02f, + -1.063261181e-01f, 9.423378110e-02f, 6.446915865e-02f, -1.572057605e-02f, + -1.344316006e-01f, 6.838562340e-02f, 1.764738262e-01f, 3.947360069e-02f, + 1.200354192e-02f, -2.726163482e-03f, -6.316670030e-02f, 4.408659413e-02f, + 1.468886435e-01f, -1.321974210e-02f, -1.582681434e-03f, 1.972886920e-01f, + 6.920181215e-02f, 8.559440821e-02f, 6.073388085e-02f, 4.866926000e-02f, + 1.313495487e-01f, 4.246735200e-02f, 6.594435778e-03f, 6.470681727e-02f, + -6.987974048e-02f, -5.350538064e-03f, 5.697793886e-02f, -4.476073384e-02f, + -7.931224536e-04f, 5.010579899e-02f, 2.496649884e-02f, -5.930485204e-02f, + -2.606959455e-02f, -1.804091781e-02f, 8.336895704e-02f, 8.954775520e-03f, + 6.599808484e-02f, -9.512487054e-02f, -9.715276957e-02f, -3.514771909e-02f, + -1.056951657e-01f, 3.310371190e-02f, -6.394793093e-02f, -1.631249785e-01f, + -2.082456602e-03f, -1.486126035e-01f, -9.620486945e-02f, -2.984050661e-02f, + -5.814462528e-02f, 2.886580676e-02f, 9.608235210e-02f, -1.814757586e-01f, + 7.017847151e-02f, -3.302364051e-02f, 5.414711311e-02f, -1.389889270e-01f, + -9.524443746e-02f, 9.310620278e-02f, -4.632629082e-02f, 1.584973186e-02f, + 2.817201614e-02f, -3.188828751e-02f, -1.527224630e-01f, 8.758103102e-02f, + -2.261123210e-01f, 1.533176191e-02f, -1.423930675e-01f, -1.462087333e-01f, + 7.297984511e-02f, 6.924402900e-03f, 7.543765754e-02f, -2.655602805e-02f, + -3.858334199e-02f, -4.658360034e-02f, 2.311774790e-01f, 1.349318624e-01f, + -3.224472702e-02f, -4.427461699e-02f, 7.709920406e-02f, -8.013194054e-02f, + 5.465740804e-03f, -1.308617145e-01f, 7.471463829e-02f, 7.552661747e-02f, + -1.309676915e-01f, -1.460152119e-01f, 1.038930193e-01f, 1.224126071e-01f, + -2.368875593e-02f, -1.821507066e-01f, 5.316883698e-02f, -3.384245560e-02f, + -1.191358268e-02f, -1.307685077e-01f, 4.442704469e-02f, -2.390437573e-01f, + -2.228954434e-02f, 6.415350735e-02f, -2.999535203e-02f, -1.153292507e-01f, + -1.280750185e-01f, -3.611006960e-02f, 6.327138096e-02f, -7.532440126e-02f, + 1.154414564e-01f, 1.348665683e-03f, 1.523866802e-01f, 1.638215594e-02f, + 2.342116833e-02f, 1.482207607e-02f, 1.877804473e-02f, -3.577539697e-02f, + 4.245307297e-02f, -3.147429600e-02f, 1.675269902e-01f, 8.078967780e-02f, + 1.032012142e-02f, 8.295608312e-02f, 4.342320934e-02f, -4.760510847e-02f, + 1.067087203e-01f, -2.932263538e-02f, 3.414617851e-02f, 9.177103639e-03f, + 4.501893185e-03f, 2.761311270e-02f, 1.954516917e-01f, -1.885602251e-02f, + 5.038492382e-02f, 1.058535501e-01f, 1.635969430e-01f, -8.095785975e-02f, + 1.246004999e-01f, -2.299904265e-02f, -2.066223882e-02f, -1.667136550e-01f, + 2.603176236e-01f, 4.596758261e-02f, -8.207449317e-02f, -1.074915379e-01f, + -1.089783832e-01f, 2.106940188e-02f, -1.051289663e-01f, -2.480188943e-02f, + -3.288944811e-02f, -1.906631887e-01f, 1.737983078e-01f, -1.340930164e-01f, + 6.421127170e-02f, 9.595408291e-02f, -2.479204349e-02f, 5.314259976e-02f, + -1.229381561e-01f, 3.392962739e-02f, 3.819918633e-02f, -1.381751522e-02f, + -8.564925194e-02f, -3.222958744e-02f, -1.672033817e-01f, 2.861840092e-02f, + 2.701204503e-03f, -8.028674871e-02f, 4.804616421e-02f, 9.959530830e-02f, + 1.491391193e-02f, 1.187124625e-01f, 6.989137828e-02f, -1.286447942e-01f, + 1.043430716e-01f, -6.404792424e-03f, -3.298074752e-02f, -8.114247024e-02f, + 5.310878623e-03f, 8.965481818e-02f, 9.304580092e-02f, -1.461381018e-01f, + 1.313296407e-01f, 1.256251782e-01f, 2.754111029e-02f, 7.543211430e-02f, + 3.328743950e-02f, 6.185168400e-03f, -5.193678662e-02f, -3.485674411e-02f, + -5.711019784e-02f, 3.491282091e-02f, -2.975897864e-02f, 7.798062265e-02f, + -5.577417091e-02f, 1.482348293e-01f, -3.932849318e-02f, -1.635548472e-01f, + -9.470074624e-02f, -1.391662005e-02f, 2.076820657e-02f, -7.759924978e-02f, + -7.391846180e-02f, 1.507228464e-01f, 1.029830426e-01f, -5.682540685e-02f, + -8.766327798e-02f, -6.290307641e-02f, -5.800427496e-02f, 1.246700957e-01f, + -1.338548586e-02f, 1.483979821e-02f, 8.256941289e-02f, 1.809550077e-01f, + 4.683070630e-02f, 6.418172270e-02f, 8.722586185e-02f, 6.174662709e-02f, + 1.899505034e-02f, -1.371591091e-01f, -1.706656069e-02f, 3.873399273e-02f, + -1.781344265e-01f, -8.583596349e-02f, -8.389003575e-02f, 1.056837514e-01f, + 1.303654630e-02f, -3.462024324e-04f, -1.198507380e-02f, -8.566264808e-02f, + -2.816637792e-02f, -7.508172840e-02f, 9.351304732e-03f, -2.926195972e-02f, + 4.761784151e-02f, -6.208548322e-02f, -1.648007147e-02f, -3.620195016e-02f, + 8.384031802e-02f, -4.289598763e-02f, -2.283456037e-03f, -6.543439627e-02f, + 6.236956269e-02f, -6.662439555e-02f, 1.537696421e-01f, 2.004903741e-02f, + 6.948818266e-02f, 9.045583196e-03f, -7.645250857e-02f, 7.633539848e-03f, + 4.771513492e-02f, 9.652377106e-03f, -9.937100112e-02f, 9.017474204e-02f, + -1.613018215e-01f, -3.758563474e-02f, 4.281800240e-02f, -4.190114513e-02f, + 1.774379760e-01f, -7.743218541e-02f, 5.339882523e-02f, -1.653875969e-02f, + -8.155576140e-02f, -1.596550345e-01f, 3.704437986e-03f, -1.361822989e-02f, + 1.108306125e-01f, 9.162873775e-02f, 1.805219352e-01f, -2.065252960e-01f, + -5.441701505e-04f, 1.081331149e-01f, -4.540602118e-02f, 1.058058068e-01f, + -9.239725769e-02f, -2.645769855e-03f, -1.722312272e-01f, 3.368592262e-02f, + 4.765429720e-02f, 3.750431165e-02f, 1.690564454e-01f, 1.482702345e-01f, + 6.890954077e-02f, -1.271465421e-01f, 5.653542280e-02f, 8.164279163e-02f, + 9.206630290e-02f, 3.093879111e-02f, 7.940292358e-03f, 8.005996794e-02f, + -1.941848546e-01f, 5.314622447e-02f, -1.688175797e-01f, 1.273960024e-01f, + -1.116399765e-01f, -5.276533309e-03f, 7.215747237e-02f, 2.255148441e-02f, + -1.815385818e-01f, -2.997158840e-02f, 1.215599664e-02f, -6.100762635e-02f, + -4.921484366e-02f, 1.691793203e-01f, -4.607421160e-02f, -1.150507480e-01f, + 2.431236207e-02f, -9.253196418e-02f, 6.913325936e-02f, 8.185394108e-02f, + -7.300823182e-02f, -7.249130309e-02f, -1.325228065e-02f, 6.039482728e-02f, + 9.270688146e-02f, 3.489319608e-02f, -7.328740507e-02f, 1.610050201e-01f, + 3.631937504e-02f, -5.332091078e-02f, -8.559995145e-02f, -1.201449800e-02f, + -5.534139648e-02f, 5.410835892e-02f, -1.049733385e-01f, 6.322098523e-02f, + -9.665346146e-02f, -7.310282439e-02f, -7.772034407e-02f, 8.856899105e-03f, + 2.444622107e-02f, -3.956611827e-02f, -1.704834029e-02f, 2.701550722e-01f, + 6.093213335e-02f, -1.777661890e-01f, 3.520809859e-02f, 5.251438171e-02f, + -1.095858142e-01f, 4.711659625e-02f, -1.285444349e-01f, -6.132835895e-02f, + 1.334209591e-01f, 3.297500685e-02f, -1.792018116e-01f, 1.064738072e-02f, + 7.216318697e-02f, 4.285351932e-02f, 2.915861271e-02f, 8.310037665e-03f, + 5.904030800e-02f, 1.694693789e-02f, -4.411815107e-02f, -5.506357923e-02f, + 8.286216110e-02f, 2.410992607e-02f, -1.729999296e-02f, 3.273227811e-02f, + -1.591591351e-02f, 5.739835650e-02f, 1.968492870e-04f, -9.249143302e-02f, + -1.482978836e-02f, 7.349331677e-02f, 1.536661573e-02f, 1.662346721e-01f, + -1.358097792e-01f, 1.907625943e-01f, 4.771149531e-02f, -1.257090550e-02f, + 1.430547833e-01f, -1.569950432e-01f, 1.680509932e-02f, 6.170823425e-02f, + 1.682872474e-01f, 9.362132102e-02f, 1.487658173e-01f, -1.055471897e-01f, + 6.105436757e-02f, 8.910231292e-02f, -5.856194720e-02f, -4.975118116e-02f, + -1.154165938e-01f, 1.386538241e-02f, -3.827026486e-02f, 2.794702910e-02f, + 1.809266955e-01f, -8.882691711e-02f, -1.366233826e-01f, 1.284882985e-02f, + 8.537193388e-02f, 6.427902728e-02f, 8.142388612e-02f, 4.374943674e-02f, + -1.941734925e-02f, -8.229436725e-02f, 5.664195493e-02f, 1.191649586e-02f, + -1.184962317e-01f, 4.452948272e-02f, 6.539245695e-02f, -4.998610914e-02f, + 3.768320754e-02f, -4.271391779e-03f, 4.074930400e-02f, 5.942734331e-02f, + -4.499843344e-03f, 9.079084545e-02f, 9.867615253e-02f, -2.631356195e-02f, + 2.170092314e-01f, 1.330059916e-01f, 7.938917726e-02f, -1.123812273e-01f, + 2.555841114e-03f, -1.921264082e-01f, -4.417193681e-02f, 1.401081234e-01f, + -5.363425985e-02f, 2.072048001e-02f, -3.117298335e-02f, 2.917812020e-02f, + 1.107370183e-01f, 2.993307635e-02f, 1.107191965e-01f, -7.147374004e-02f, + -8.907898882e-05f, 7.786206156e-02f, -1.783581823e-02f, -1.174166519e-02f, + -2.918964252e-03f, -2.787128650e-02f, 2.621367387e-02f, 7.278921455e-02f, + 6.738131493e-02f, -2.284443751e-02f, 5.809676647e-02f, -1.620257944e-01f, + 1.478421539e-01f, -7.478722185e-02f, -1.036558067e-03f, -8.531714231e-02f, + 1.931408979e-02f, -9.349512309e-02f, 4.544282705e-02f, 2.156560682e-02f, + 5.921336263e-02f, -6.248585135e-02f, -7.178128511e-02f, -8.725801110e-02f, + -7.136825472e-02f, -3.975298256e-02f, -7.005226612e-02f, -5.070738867e-02f, + -6.951664388e-02f, 1.483027190e-01f, -3.791363537e-02f, 2.488300018e-02f, + 3.654700518e-02f, -3.425862268e-02f, -1.351870149e-01f, -7.652490586e-02f, + 9.221138060e-02f, -3.484559804e-02f, -1.195423976e-01f, 2.267685486e-03f, + 1.023330763e-01f, 7.233628631e-02f, -4.726434872e-02f, 1.095300242e-01f, + -2.830214240e-02f, -2.431961298e-01f, -3.601546865e-03f, -3.658409044e-02f, + 8.622377366e-02f, -2.571488917e-01f, -2.925896272e-02f, -2.096818946e-02f, + 1.008849125e-02f, -8.511669189e-02f, 9.052620083e-02f, -1.362916976e-01f, + 1.725430251e-03f, 3.437308222e-02f, -9.879592806e-02f, 9.468071163e-02f, + 1.827838719e-01f, -8.766739070e-02f, -6.281124800e-02f, 7.770096511e-02f, + -4.917601123e-02f, -6.081810594e-02f, -7.642676681e-02f, 1.034817174e-01f, + -1.117260158e-01f, -4.529080167e-02f, -1.044838782e-02f, 1.605048217e-02f, + -7.919699699e-02f, -8.278698474e-02f, 2.127990685e-02f, -4.423950333e-03f, + 2.376586758e-02f, 1.560264826e-01f, 1.498511992e-02f, 1.366834193e-01f, + 7.909939438e-02f, 6.134530157e-02f, 2.389081940e-02f, -1.024200618e-01f, + 3.952812031e-02f, 3.739216924e-02f, -9.825196862e-02f, 1.120002046e-01f, + -4.027434811e-02f, 1.262092441e-01f, -3.632351756e-03f, -2.500092238e-02f, + 3.829212487e-02f, -9.796600044e-02f, 5.313874781e-02f, 1.560540795e-01f, + 8.006376028e-02f, 5.210290477e-02f, -2.186017344e-03f, -1.236822903e-01f, + 2.373136766e-02f, -7.600817829e-02f, 2.589344233e-02f, 3.776816186e-03f, + -2.015639655e-02f, -3.358947858e-02f, 5.647718161e-02f, -3.241586685e-02f, + 4.760272428e-02f, 4.868788272e-02f, 8.035141975e-02f, -9.479330480e-02f, + -4.226128012e-02f, 1.254972816e-01f, -8.524255455e-02f, 6.252898276e-02f, + -2.183807455e-02f, 3.253065422e-02f, -6.659780443e-02f, 4.167523980e-02f, + 8.034089208e-02f, 1.440278590e-01f, 1.955261379e-01f, 1.426164620e-02f, + -1.286423653e-01f, -1.040358096e-01f, 2.529198676e-02f, 7.582528889e-02f, + -1.221216843e-02f, 2.374303713e-02f, 1.176945716e-01f, -4.211940244e-02f, + 1.883856952e-01f, -1.388642937e-01f, -6.733873393e-03f, -4.345803335e-02f, + 2.736793086e-02f, -1.941281557e-01f, -1.840109192e-02f, -2.670439705e-02f, + -6.961024553e-02f, 1.372665465e-01f, -4.216709733e-02f, 6.274345517e-02f, + 4.147092625e-02f, -4.849946499e-02f, 9.604235739e-02f, 8.295988292e-02f, + 1.066394150e-01f, 5.769716576e-02f, -5.427199230e-02f, -1.320085078e-01f, + -4.487001896e-02f, -1.051073000e-01f, -3.224683106e-01f, 7.381726801e-02f, + 2.370016836e-02f, 6.494428217e-02f, -3.556758910e-02f, 8.768199384e-02f, + 5.130368471e-02f, -1.563960686e-02f, 5.478159711e-02f, 1.186162457e-01f, + -3.516595438e-02f, 3.355459869e-02f, -2.386510670e-01f, -3.964059800e-02f, + -1.185677797e-01f, 2.439923398e-02f, 9.692549706e-02f, -2.322356403e-02f, + 1.345508397e-01f, 6.533882022e-02f, 3.366148099e-02f, -8.896712214e-02f, + -9.423542768e-02f, -1.671467349e-02f, -3.907872736e-02f, 7.793364674e-02f, + 1.175025329e-01f, 5.650707707e-02f, 2.236557752e-02f, 9.100628644e-02f, + -2.046298236e-01f, -4.555848986e-02f, -3.743134812e-02f, 1.434848993e-03f, + 2.996339649e-02f, -3.190267831e-02f, 3.330034763e-02f, 7.269366831e-02f, + 1.014427170e-01f, -8.446764201e-02f, 9.948171675e-02f, -1.009423882e-01f, + -1.228336841e-01f, 5.713494495e-03f, -3.421200812e-02f, -1.661918163e-01f, + -6.927821785e-02f, -1.944413036e-01f, -3.041564859e-02f, -9.698171914e-02f, + 1.323675364e-01f, -3.656418994e-02f, 6.087827496e-03f, 3.233470395e-02f, + 6.867235899e-02f, -1.214327887e-01f, -9.550502151e-02f, -1.789784580e-01f, + 2.613322809e-02f, -9.725715965e-03f, 8.212974668e-02f, -1.006409749e-01f, + 4.806422442e-02f, -9.491543472e-02f, 4.372398555e-02f, -4.134680703e-02f, + 1.718815565e-01f, 3.574697301e-02f, 2.863476984e-02f, 1.189916879e-01f, + 1.787340790e-01f, 6.507917494e-02f, 9.645597637e-02f, 1.456219852e-01f, + -9.192032367e-02f, -5.704680085e-02f, 8.537326008e-02f, 7.693544030e-02f, + 2.396985656e-03f, 1.413960196e-02f, -5.551446229e-02f, -2.117382735e-02f, + -8.801126480e-02f, -1.171635091e-01f, -1.132025421e-01f, -2.496426366e-02f, + -1.146404967e-01f, 1.009046584e-01f, 4.596421123e-02f, 1.871733181e-02f, + 4.817070439e-02f, -4.902451485e-02f, 5.337011814e-02f, -1.575726271e-01f, + -1.422212124e-01f, 7.088532299e-02f, -7.071293425e-03f, 8.040140569e-02f, + -2.614033408e-02f, -2.177027613e-01f, -7.919180207e-03f, -3.020253219e-02f, + 7.670596242e-02f, -5.293659866e-02f, -7.022017241e-02f, -1.103655249e-01f, + 1.426514983e-01f, -1.807470620e-02f, 4.965594038e-02f, 1.994897798e-02f, + -8.154082298e-02f, -2.433287911e-02f, -5.769459158e-02f, 1.262572855e-01f, + 2.143840678e-02f, -1.836636290e-02f, 6.967118382e-02f, -2.152910233e-01f, + -2.793877618e-03f, 9.770392627e-02f, -1.663045399e-02f, -7.523591816e-02f, + 2.167833038e-02f, 8.511509001e-02f, 3.408533707e-02f, -4.290686548e-02f, + 1.477442533e-01f, 8.471176773e-02f, 1.160733625e-01f, -1.449203938e-01f, + 1.228606608e-02f, 3.552044183e-02f, -2.086428925e-03f, 5.445763096e-02f, + -2.537775226e-02f, 3.467125073e-02f, -3.227809444e-02f, 8.418493718e-02f, + 6.342997402e-02f, -9.171605855e-02f, -1.493378133e-01f, 6.053492427e-02f, + 8.784814179e-02f, 5.031075794e-03f, -1.469644904e-01f, 1.118985657e-02f, + 3.496216238e-02f, -1.039547995e-01f, -8.350117505e-02f, 1.427229941e-01f, + -4.005489126e-02f, 1.746997796e-02f, 8.105518669e-02f, -2.194738947e-02f, + -1.393309385e-01f, 1.443123221e-01f, -9.707225487e-03f, 3.451230004e-02f, + -1.140646189e-01f, -1.305792332e-01f, 2.932859957e-02f, -9.265470505e-02f, + 1.025654674e-01f, -5.045636371e-02f, 3.636836773e-03f, -1.096785516e-01f, + -1.056034267e-01f, 3.050859459e-02f, -3.781489283e-02f, 4.596726224e-02f, + -5.451013334e-03f, -8.918543160e-02f, -1.699861325e-02f, -7.541250437e-02f, + -7.029166073e-02f, 9.538157843e-03f, -2.769370005e-02f, 1.187907010e-01f, + -4.492531298e-04f, 3.983603418e-02f, 6.593170762e-02f, 2.509883977e-02f, + 1.323933005e-01f, -1.234875694e-01f, 9.222232550e-02f, -1.487151235e-01f, + -9.916471690e-02f, -6.012893282e-03f, 4.955096170e-02f, -8.624359965e-02f, + 1.468155812e-02f, -1.161348820e-02f, 1.783293039e-01f, 4.400940612e-02f, + 6.959623098e-02f, 1.687399484e-02f, 8.553762920e-03f, -4.354390875e-02f, + -5.869244412e-02f, -3.034902923e-02f, 6.796800345e-02f, 9.445703030e-02f, + 7.479766756e-02f, 3.744435962e-03f, -5.340754613e-02f, 5.485928804e-02f, + 2.279879712e-02f, -7.260569371e-03f, 8.726917952e-02f, 1.887103319e-01f, + -2.829361334e-02f, 5.853810534e-02f, -1.083561853e-01f, 1.154059097e-01f, + 6.991635263e-02f, 6.879005581e-02f, 4.624081776e-02f, 5.195666850e-02f, + -1.695604436e-02f, 4.524422064e-02f, -1.349269971e-02f, 9.815571457e-02f, + -1.706589609e-01f, 1.021138579e-02f, -2.220738214e-03f, 1.624728180e-02f, + 1.069924682e-01f, 7.306221128e-02f, -2.031135261e-01f, 1.279212981e-01f, + -1.760143042e-01f, -5.641676113e-02f, 1.936756633e-02f, -4.620856792e-02f, + 2.211273089e-02f, -1.567022353e-01f, 5.384265259e-02f, -2.418606728e-02f, + 6.385279447e-02f, -7.190959901e-02f, -9.305559099e-02f, 9.070944041e-02f, + -6.318995357e-02f, 8.868209086e-03f, -1.503051817e-01f, -6.367000192e-02f, + -3.274401277e-02f, -2.360681072e-02f, -1.575068831e-01f, 4.970178008e-02f, + -1.984647959e-01f, 3.502520546e-02f, -1.660809815e-01f, -3.926877305e-02f, + -3.809102252e-02f, 3.027853742e-02f, -6.235436071e-03f, -4.264892545e-03f, + 1.034571137e-02f, -1.044525653e-01f, -1.079456285e-01f, -1.535130385e-02f, + 1.602872610e-01f, 2.174895108e-01f, -1.633583196e-02f, -1.730482578e-01f, + -3.559902683e-02f, 9.337791055e-02f, -4.110481963e-02f, -8.123430610e-02f, + -1.184373125e-01f, 1.440867484e-01f, -7.054919004e-02f, -8.740084246e-03f, + -1.535562128e-01f, -2.629207633e-02f, 1.038000435e-01f, 2.021950483e-01f, + -7.401175797e-03f, 6.311855465e-02f, -4.144495726e-02f, 5.291549116e-02f, + 1.050929725e-01f, 6.003700942e-02f, 2.835378610e-02f, 2.186114527e-02f, + 8.692815900e-02f, 8.184532821e-02f, -1.944702268e-01f, -4.076307639e-02f, + 6.972130388e-02f, 1.828823797e-02f, -5.478039384e-02f, 4.582948983e-02f, + -4.440187942e-03f, 7.980895042e-02f, -6.605371833e-02f, -1.472107917e-01f, + 8.660594374e-02f, -9.847996384e-02f, 2.283546701e-02f, -1.396901160e-02f, + -1.623211652e-01f, -7.472835947e-03f, 6.894236058e-02f, 1.159157231e-02f, + -4.651099071e-02f, 9.024432302e-02f, -3.341599181e-02f, 6.573867053e-02f, + 3.415078297e-02f, 1.554203331e-01f, -2.888001502e-02f, 1.500415653e-01f, + 5.050209537e-02f, 5.334410444e-02f, 2.372812480e-02f, -3.239097539e-03f, + 1.136671305e-01f, 1.160238832e-01f, -5.054004863e-02f, 1.555698272e-02f, + 2.471044660e-02f, -5.779611319e-02f, 6.867361814e-02f, -1.209828779e-01f, + -3.852896392e-02f, -4.815986007e-02f, 1.367553025e-01f, 1.423623040e-02f, + -8.230362833e-02f, 6.148428842e-02f, 9.943346493e-03f, -9.184148163e-02f, + -9.226028621e-02f, -5.111883953e-02f, 1.613515168e-01f, 7.923192531e-02f, + -7.664966583e-02f, -9.099928290e-02f, -3.555616364e-02f, -1.199486330e-01f, + 3.827812150e-02f, -1.149820387e-01f, 1.440216154e-01f, -2.919789776e-02f, + 1.205935851e-01f, -1.102199852e-01f, 7.609183341e-02f, -3.769790521e-03f, + -5.149868131e-02f, -2.040154673e-02f, -1.364805177e-02f, -4.245176166e-02f, + -1.201689839e-01f, 1.172343194e-01f, -6.245290115e-02f, -7.591733336e-02f, + -7.761344314e-02f, -3.219622746e-02f, 6.899821758e-02f, -1.291100234e-01f, + 1.587772667e-01f, -7.015732676e-02f, 1.690539904e-02f, -1.533164829e-01f, + 8.154339157e-03f, -1.684795134e-02f, 1.496204454e-02f, 9.492286295e-02f, + -2.512850799e-02f, 1.183972135e-01f, 1.040585712e-01f, 1.522189528e-01f, + -2.836366557e-02f, -9.665265679e-02f, 2.160379142e-01f, -1.468187571e-02f, + -5.793447793e-02f, -6.182432547e-02f, 1.692456156e-01f, -1.268444657e-01f, + 1.442587227e-01f, 3.576557338e-02f, 4.835040122e-02f, -1.878483146e-01f, + -1.513003022e-03f, -1.103677750e-01f, 2.259011194e-02f, 1.023522094e-01f, + 1.925005205e-02f, 1.006361246e-01f, -6.876618415e-02f, -1.306586117e-01f, + 1.678934991e-01f, 2.167905495e-02f, 2.309445292e-02f, 1.309786886e-01f, + -5.274651945e-02f, 2.811989514e-03f, -6.325232238e-02f, -1.815134883e-01f, + 6.350410637e-03f, -1.924757063e-01f, 6.110996008e-02f, -9.470894188e-02f, + 1.226889994e-02f, 5.797985196e-02f, -4.554419219e-02f, -4.097721726e-02f, + -7.133871317e-02f, -1.450219899e-01f, 7.288096100e-02f, 2.957850322e-02f, + -3.594018146e-02f, -2.597362734e-02f, -2.244657464e-02f, 1.256546080e-01f, + 6.978467852e-02f, 2.703558654e-02f, 9.431238472e-02f, -9.033470601e-02f, + 3.230017796e-02f, 2.761230767e-01f, 1.047142199e-03f, 1.345204934e-02f, + -6.039367616e-02f, -6.130858790e-03f, 2.873920370e-03f, -1.300215721e-01f, + 1.740962416e-01f, -5.957091227e-03f, 7.208399475e-02f, -9.477381408e-02f, + -6.313338876e-02f, 2.916769125e-02f, 6.669296324e-02f, -2.105338871e-01f, + 7.805086672e-02f, 8.496695012e-02f, 2.103368193e-02f, -2.172960341e-01f, + 5.764856562e-02f, 5.495950952e-02f, -2.825451270e-02f, 1.458146260e-03f, + -2.419024892e-02f, 3.851876780e-02f, 5.930713937e-02f, -7.821142673e-02f, + -1.274019852e-02f, -1.134367660e-02f, -1.233635396e-01f, -1.176050678e-01f, + 1.306760013e-01f, -1.817878895e-02f, 4.858647473e-03f, -2.187531814e-02f, + 7.980097830e-02f, 8.826714754e-02f, 8.741401136e-02f, 1.105305925e-01f, + -2.311671525e-01f, 1.362760663e-01f, -3.369386867e-02f, -2.882952429e-02f, + -7.754189521e-02f, -4.135188460e-02f, 1.221189182e-02f, -4.432850704e-02f, + -6.637283415e-02f, -1.153491214e-01f, -4.985751584e-03f, 1.258513238e-02f, + -1.387891080e-02f, 1.682914793e-01f, 2.901383908e-03f, -8.400788158e-02f, + -2.586766332e-02f, 1.929450966e-02f, 2.595415153e-02f, -7.858856022e-02f, + 4.736827314e-02f, 1.843528822e-02f, 3.039431060e-03f, -8.138272911e-02f, + 1.752224714e-01f, -1.433334053e-01f, 1.167082414e-02f, 2.896106243e-02f, + -1.140149161e-01f, 1.405862439e-02f, 9.355012327e-02f, -1.089571044e-01f, + 1.411793195e-02f, -6.235717982e-02f, 1.297634989e-01f, -5.193851888e-02f, + -1.432431638e-01f, -1.311601698e-01f, 5.126854032e-02f, 7.552793622e-02f, + -3.572477028e-02f, -2.772238664e-02f, 1.785025448e-01f, -7.333903760e-02f, + -8.598733693e-02f, 2.548722923e-02f, 7.780812681e-02f, -3.762286529e-02f, + -1.028707474e-01f, -2.895354666e-02f, -1.049809083e-01f, 9.055251256e-03f, + 3.988449462e-04f, 5.136582255e-02f, 5.598419532e-02f, 1.295029372e-01f, + -3.277539834e-02f, -2.534244955e-02f, 1.659204066e-01f, -7.079537213e-02f, + -3.260526806e-02f, 3.941329941e-02f, -6.637186743e-03f, 7.158277929e-02f, + 9.307964146e-02f, 5.438932031e-02f, -1.537757963e-01f, 4.576525837e-02f, + -8.767189831e-02f, -3.424802423e-02f, -1.172764748e-01f, -8.549588732e-03f, + -4.390670732e-02f, 7.954372466e-02f, -2.918756567e-03f, 2.274737358e-01f, + 1.117992774e-01f, -3.509306535e-02f, 5.928267911e-02f, -4.146984220e-02f, + -6.384680048e-03f, -2.436330169e-02f, -1.514679492e-01f, -7.371230423e-02f, + 4.718124494e-02f, 5.469064415e-02f, -1.388654113e-01f, -9.508065134e-02f, + 7.890423760e-03f, -5.349311978e-02f, 3.757541999e-02f, -1.099475473e-01f, + 8.200357109e-02f, -1.295864955e-02f, 6.747498363e-02f, 1.842794269e-01f, + -5.510716140e-02f, -5.481038615e-02f, 3.353890032e-02f, 4.028632864e-02f, + -9.583819658e-02f, 1.272575706e-01f, 4.697284102e-02f, -1.118440330e-01f, + 1.388889086e-02f, -1.399809122e-02f, -2.537052929e-01f, 6.493739202e-04f, + -8.738020808e-02f, 7.374008745e-02f, 4.195346311e-02f, -9.586743265e-02f, + 1.179333553e-01f, -7.728500757e-03f, -5.765450001e-02f, -7.124750316e-02f, + 1.733099520e-01f, -1.009045094e-01f, -8.587958664e-02f, -1.007318590e-02f, + -1.391119696e-02f, 6.782317907e-02f, 8.079310507e-02f, 1.023597419e-01f, + -6.146914884e-02f, 1.432883888e-01f, 1.045354530e-01f, 1.228549331e-01f, + 1.931283325e-01f, -2.093853503e-01f, 3.455037251e-02f, -2.313495986e-02f, + 4.003608227e-02f, 1.083123405e-02f, 4.579301551e-02f, 3.537595645e-02f, + -4.754352570e-02f, 5.380611494e-02f, 3.367430717e-02f, 9.436383098e-02f, + -1.042101383e-01f, 1.108852252e-01f, -3.770773858e-02f, -1.853531003e-01f, + -3.550240770e-02f, -1.013794355e-02f, -9.679582715e-02f, -8.466656506e-02f, + 7.526684552e-02f, -4.234289809e-04f, -5.374268442e-02f, -1.280720159e-02f, + -1.149111837e-01f, -2.648323402e-02f, -4.550296441e-02f, 2.026956063e-03f, + -1.784384809e-02f, -4.303620011e-02f, -6.649062503e-03f, -4.939541221e-02f, + 9.985888749e-02f, -2.985293418e-02f, 1.326456964e-01f, -2.554246783e-02f, + 2.260294184e-02f, 4.589805380e-02f, -4.381153733e-02f, 3.239987046e-02f, + -9.074257314e-02f, 1.304925680e-01f, 2.039933205e-02f, 4.787519947e-02f, + 1.102719735e-02f, 1.881591789e-02f, 1.712174416e-01f, 4.358916357e-02f, + -8.766654134e-02f, -6.414967030e-02f, -8.158802241e-02f, -1.706387848e-01f, + -3.477220982e-02f, 4.633574560e-02f, 1.589878350e-01f, -1.196897104e-01f, + 7.898853719e-02f, -1.648355871e-01f, 1.817969978e-01f, -1.070731208e-01f, + -1.480658650e-01f, 9.608506225e-03f, 3.022437356e-02f, -2.611129731e-02f, + 9.319528937e-02f, -3.768396378e-02f, 5.970641598e-02f, -9.103917331e-02f, + 8.537196368e-02f, 1.402626783e-01f, 1.230136231e-01f, 4.785490409e-02f, + 4.789321125e-02f, -1.220986024e-01f, 8.348540962e-02f, -2.591028251e-02f, + 4.986555129e-02f, 1.390861273e-01f, 5.887055025e-02f, 3.253015224e-03f, + -5.852465704e-02f, 2.151771635e-02f, -6.630612910e-02f, 6.518506259e-02f, + -5.004017055e-02f, -2.065410614e-01f, 3.667816147e-02f, 1.233207956e-01f, + 3.351810202e-02f, -3.088769736e-03f, 6.327862293e-02f, -5.882523488e-03f, + 2.507662214e-02f, -1.721319184e-02f, -6.656844914e-02f, 3.934759181e-03f, + 6.441510469e-02f, -3.809636831e-02f, -1.798994243e-01f, 3.210618347e-02f, + -6.037000567e-02f, 8.480200917e-02f, 6.006222591e-02f, -7.621160150e-02f, + 6.043068133e-03f, 1.782498062e-01f, 7.424408197e-02f, -8.070001006e-02f, + 7.957950234e-02f, 1.628125459e-01f, 1.021696404e-01f, -3.950007260e-02f, + 9.120251983e-02f, -6.435798109e-02f, 1.134863123e-01f, -2.321132459e-03f, + -1.552456319e-01f, 1.169177294e-01f, 3.182755085e-03f, 9.393436462e-02f, + 7.668594271e-02f, -1.507004946e-01f, -4.963031784e-02f, 1.376008522e-02f, + -1.382569373e-01f, -7.807884365e-02f, 5.727007985e-02f, -4.441532120e-02f, + -1.241285261e-02f, -1.431036890e-01f, -3.658617660e-02f, 2.530926764e-01f, + -2.376666665e-02f, -5.820458010e-02f, 1.171354055e-01f, 1.387980878e-01f, + 6.745301187e-02f, -7.916706055e-02f, -7.537234575e-02f, -8.319102973e-02f, + -1.947507262e-02f, -3.564067930e-02f, -5.903595313e-02f, -3.328767791e-02f, + -1.577949971e-01f, -1.429575868e-02f, -4.102513660e-03f, -7.046032697e-02f, + 4.914061353e-02f, -5.157284811e-02f, -1.953130588e-02f, 6.969529390e-02f, + -5.143444054e-03f, -2.798379213e-02f, 1.118109375e-01f, 2.480133437e-02f, + 1.701919734e-01f, 7.999432087e-02f, 7.660425454e-02f, 1.536942124e-01f, + 5.211570486e-02f, 1.494397670e-01f, 5.234919116e-02f, -5.690688267e-03f, + -3.532709181e-02f, -5.004040897e-02f, 7.467253506e-02f, -7.668722421e-02f, + -1.637161821e-01f, 1.454796642e-01f, -4.465124384e-02f, -6.682062894e-02f, + 3.489950299e-02f, -7.551871240e-02f, 7.858348638e-02f, 5.494035408e-02f, + -8.882039040e-02f, -3.672611713e-02f, -1.025948301e-01f, 2.151196077e-02f, + 7.018500566e-02f, 6.877365708e-02f, 1.014214475e-02f, 1.691005542e-03f, + -4.458989576e-02f, 2.168831229e-02f, -1.125348732e-01f, 6.748757511e-02f, + -1.461512893e-01f, -3.529221937e-02f, 1.304626763e-01f, 3.833554313e-02f, + -9.630431980e-02f, 1.134906411e-01f, 1.034294292e-01f, -1.409598887e-01f, + 1.952090301e-02f, 5.891018361e-02f, 1.959662512e-02f, -1.460694820e-01f, + -2.742367983e-02f, 9.581039101e-02f, 2.641764842e-02f, -2.477635443e-02f, + -4.373971373e-02f, -7.770459354e-02f, 4.691434652e-02f, 1.458408087e-01f, + 9.884987958e-03f, -1.507843286e-01f, -1.555954963e-01f, 4.495521635e-02f, + -2.021348476e-02f, 7.045514882e-02f, -5.976938829e-02f, -2.637994476e-02f, + 1.097819954e-02f, -1.854470670e-01f, -1.475681961e-01f, -7.724159397e-03f, + -7.724516839e-02f, 6.347212940e-02f, -3.330913931e-02f, 7.268264890e-02f, + -1.051397249e-01f, -9.581529349e-02f, 1.277710795e-01f, -2.869072743e-02f, + -2.623365726e-03f, -9.721542150e-02f, -2.056458034e-02f, -1.091873273e-01f, + -1.724306121e-02f, -7.752556354e-02f, 1.018375158e-01f, -1.023091152e-01f, + -1.658404060e-02f, 9.994621575e-02f, 1.089420393e-01f, 2.364338189e-02f, + 5.959563330e-02f, -1.891922392e-02f, 5.053977668e-02f, 1.332202554e-01f, + -1.266189069e-01f, 1.857250035e-01f, -2.495482415e-01f, -1.136458293e-01f, + -1.116870716e-02f, 5.460089073e-02f, -3.785747290e-02f, -1.369074080e-02f, + 1.435972005e-01f, -1.472618729e-01f, -1.007907391e-01f, -3.972866386e-02f, + 2.150136977e-01f, 1.663372070e-01f, 8.542683907e-03f, 1.001437455e-01f, + -1.455259174e-01f, 7.288125902e-02f, 1.345829964e-01f, -8.761310577e-02f, + 6.002783310e-03f, 1.907492429e-02f, 6.605382264e-02f, 8.061690256e-03f, + -3.950671107e-02f, -3.150844015e-03f, 4.379893467e-02f, 3.639185568e-03f, + -1.055357307e-01f, -3.146594018e-02f, -1.652462222e-02f, -6.303713471e-02f, + -9.610248357e-02f, -1.091717258e-01f, -1.810712814e-01f, 1.377549861e-02f, + -2.728083730e-02f, -6.658834219e-02f, 6.255302578e-02f, -4.016433284e-02f, + 1.237529051e-02f, 8.766286075e-02f, -2.194502763e-02f, 5.157450587e-02f, + -1.531200409e-01f, 7.004610449e-02f, 1.775702089e-02f, 7.167575508e-02f, + -4.963202029e-02f, -1.109145582e-01f, 1.093759835e-01f, 1.409528404e-01f, + -8.809123188e-02f, 8.208231628e-02f, -2.667918056e-02f, 7.058353722e-02f, + 7.558498532e-02f, 7.706132531e-02f, -3.409061953e-02f, -2.900574915e-02f, + 5.818607658e-02f, 7.302170992e-02f, -1.205777749e-01f, -1.409841701e-02f, + -1.234479994e-01f, 1.159027871e-02f, 1.415952742e-01f, -1.655393466e-02f, + -6.464432925e-02f, 1.460685395e-02f, 9.588386863e-02f, 5.053050118e-04f, + 8.080147207e-02f, 6.406851858e-02f, -1.254070997e-01f, -8.039218932e-02f, + 9.203612059e-02f, 3.099678829e-02f, 9.695772827e-02f, -1.206479818e-01f, + -7.200816274e-02f, -1.153906733e-01f, -5.549443886e-02f, -6.989388168e-02f, + 2.527945116e-02f, -6.009030342e-02f, 6.570527703e-02f, -1.978744194e-02f, + 1.025949791e-01f, -1.048865095e-01f, -2.358313277e-02f, -9.630326182e-02f, + -1.291636825e-01f, 1.211639270e-01f, 5.109950900e-02f, 9.566311538e-02f, + 5.081553757e-02f, -1.490088645e-02f, 9.917369485e-02f, 5.754935741e-02f, + -9.763700888e-03f, 2.608142793e-02f, -5.352391675e-02f, -7.882504910e-02f, + 3.885858133e-02f, 1.234872360e-02f, -7.660847902e-02f, -2.139041200e-03f, + -7.912755758e-02f, 1.431167219e-02f, -1.168920845e-01f, 8.713071793e-02f, + 6.057669595e-02f, -8.690914512e-02f, 1.159456298e-01f, -3.030200303e-02f, + -1.013520360e-01f, 6.781973690e-02f, 1.719852164e-02f, 1.075429916e-01f, + 7.393049449e-02f, 3.987446055e-02f, 6.852159649e-02f, -6.062001735e-02f, + 7.815891504e-02f, 4.366226122e-02f, 2.285903506e-02f, 2.542069554e-01f, + -1.380028203e-02f, -8.738719672e-02f, 1.984062977e-02f, 1.117590517e-01f, + 6.411706656e-02f, 1.095713302e-01f, 1.150503308e-01f, -4.744907469e-02f, + 4.418641329e-02f, -1.207365189e-02f, 4.591096938e-02f, -1.623937786e-01f, + -4.989400133e-02f, 5.955504999e-02f, -2.031620294e-01f, -5.763644353e-02f, + 8.990553766e-02f, -4.658068717e-02f, 8.314619958e-02f, -1.268181205e-01f, + -1.017047092e-01f, 9.396172315e-02f, 1.432373971e-01f, -4.640583694e-02f, + 1.159663964e-02f, 6.607464701e-02f, 1.171798166e-02f, 8.348862082e-02f, + 1.652319171e-02f, 1.395624131e-01f, 8.663443476e-02f, -1.256173104e-01f, + 7.244007289e-02f, 4.095119238e-02f, 1.609038748e-02f, -9.789066762e-02f, + -5.767181888e-02f, 3.228255734e-02f, -4.859290645e-02f, 2.446915023e-02f, + -3.273529233e-03f, -1.029611658e-02f, -1.240726933e-01f, 5.829051882e-02f, + -9.127456695e-02f, 2.006948739e-02f, -2.417480797e-01f, 1.050040051e-01f, + 1.525440457e-04f, -4.575080425e-02f, -5.828026682e-02f, -2.818065323e-02f, + -7.135618478e-02f, 6.042205170e-02f, 5.663329363e-02f, -1.718023568e-01f, + -1.596311629e-01f, -1.462641507e-01f, 5.465006083e-02f, 9.259199351e-02f, + -1.569843143e-01f, -3.057317063e-02f, -1.270307451e-01f, 2.662512474e-02f, + 6.941393763e-02f, -7.080484927e-02f, 4.878418148e-02f, -4.793226719e-02f, + 4.683422297e-02f, 2.646806184e-03f, 4.625038803e-02f, 5.191149563e-02f, + 1.000351459e-01f, 8.394643664e-02f, -9.224663675e-02f, 1.338942945e-01f, + 8.038838208e-02f, 1.554798800e-03f, 3.533208370e-02f, 9.036178887e-02f, + 1.714522718e-03f, -4.913083836e-02f, 8.068881929e-02f, 3.279706463e-02f, + 1.182540059e-01f, -2.121440694e-02f, 2.514131367e-01f, 4.421032965e-02f, + 1.484320313e-01f, 1.349082589e-01f, 1.147201061e-01f, -1.257482078e-02f, + 1.775621772e-01f, -3.176822513e-02f, -1.434534043e-02f, 9.028362483e-02f, + -8.981288970e-02f, 4.299667850e-02f, 4.997939616e-02f, 1.713122765e-04f, + -6.925823539e-02f, 8.943728358e-02f, -1.485948116e-01f, -3.325994313e-02f, + -1.085868254e-01f, -6.848096848e-02f, 1.976230741e-02f, -1.617197134e-02f, + 1.156889796e-01f, 5.625179037e-02f, 8.418300748e-02f, 1.877781563e-02f, + -2.942284383e-02f, 4.765622318e-02f, 1.289892104e-02f, 5.925160646e-02f, + -1.328375190e-01f, 8.624506742e-02f, 2.785794251e-02f, -2.529920340e-01f, + 8.556152880e-02f, -8.590819687e-02f, 7.602018304e-03f, -3.091862425e-02f, + -7.639451325e-02f, 2.057776600e-02f, -9.351879358e-02f, -7.166640460e-02f, + 3.781310841e-02f, 1.423808038e-01f, -8.573834598e-02f, 6.880503893e-02f, + -1.280094087e-01f, 3.887095675e-02f, 9.401886910e-02f, -5.937418342e-02f, + 3.766947612e-02f, 1.119226441e-01f, 1.586720943e-01f, -6.523287296e-02f, + 1.028379146e-02f, -8.571069688e-02f, -2.566918135e-01f, 1.786181331e-02f, + -1.538139731e-01f, 2.241128869e-02f, -1.985417455e-01f, -3.892196110e-03f, + 2.083064914e-01f, 2.209401317e-02f, 3.119461238e-02f, -5.452592298e-02f, + -1.767531224e-02f, -8.470520377e-02f, -7.385877892e-03f, 2.369675040e-01f, + 1.037625043e-04f, 1.900695264e-01f, -4.776545987e-02f, -3.791847080e-02f, + -3.056622855e-02f, -1.138377935e-02f, 1.190531533e-02f, 8.012831211e-02f, + -1.834322810e-01f, 1.992727071e-02f, -9.743852913e-02f, -1.199129894e-01f, + -8.082658052e-02f, -3.210112336e-04f, -3.920333087e-02f, 9.299125522e-02f, + -1.490633637e-01f, -1.077272519e-01f, 3.310732171e-02f, -1.833567582e-02f, + 5.679374188e-02f, 5.703465268e-02f, 1.523217708e-01f, 5.760047957e-02f, + -1.375981048e-02f, 1.147538703e-02f, 8.039510995e-02f, -5.834660307e-02f, + 1.201510727e-01f, -2.940482693e-03f, 1.017858088e-01f, -5.296694487e-02f, + 7.873728871e-03f, 5.112917628e-03f, 7.184362411e-02f, -1.039088964e-01f, + -3.693063557e-02f, 9.766162187e-02f, 3.238070756e-02f, 3.651841730e-02f, + -6.366206706e-02f, 4.341755062e-02f, 3.253902122e-02f, 7.286037505e-02f, + -2.738127857e-02f, 2.968052216e-02f, 6.626935303e-02f, -1.049045324e-01f, + -1.393110007e-01f, -1.689719260e-01f, 1.492833812e-02f, -1.395139247e-01f, + -2.757625282e-02f, 1.320643723e-01f, 7.737583667e-02f, 9.126722813e-02f, + -1.096314006e-02f, 7.461945713e-02f, 8.960834891e-02f, 6.782370154e-03f, + 4.398097470e-02f, 9.600748122e-02f, -7.173029333e-02f, 1.444483991e-03f, + 5.989360437e-02f, -7.941690274e-03f, -2.793146484e-02f, -1.613536477e-02f, + 1.167897508e-01f, -4.056569561e-02f, -4.056219041e-05f, 5.367684737e-02f, + 1.278048158e-01f, -9.810056537e-02f, -5.705403164e-03f, 7.247542031e-03f, + -3.279537708e-02f, 8.204507083e-02f, -7.689644117e-03f, -3.924374655e-02f, + -1.323903650e-01f, 1.078883931e-01f, 1.289605051e-01f, -3.167314082e-02f, + -1.207464281e-02f, 9.127245843e-02f, 6.540761888e-02f, -6.693201512e-02f, + -9.213171899e-02f, -1.488184556e-02f, -8.933644742e-03f, 1.367758512e-01f, + 6.107891724e-02f, -1.665927283e-02f, -4.467436671e-02f, 7.334828377e-02f, + 2.561194636e-02f, 1.226571202e-01f, 3.597388417e-02f, 3.304174542e-02f, + -4.251122475e-02f, 1.182873696e-01f, -2.247824222e-01f, 1.329824030e-01f, + 4.519043118e-02f, 1.790561527e-01f, -5.795085337e-03f, 6.567398668e-04f, + 6.126837432e-02f, -7.582665235e-02f, -1.870240085e-02f, 2.568354644e-02f, + -1.496037841e-01f, -5.668937415e-02f, 2.468415648e-01f, -1.050006896e-01f, + -4.135252163e-02f, -1.772452146e-02f, -4.573902860e-02f, 2.268732712e-02f, + 1.388246715e-01f, -9.559866041e-02f, 2.032198161e-01f, -2.943115868e-02f, + -1.685366593e-02f, -6.053972989e-02f, -4.466870427e-02f, -5.472623557e-02f, + -5.512176454e-02f, 1.554689556e-01f, -1.082093418e-01f, 1.230816729e-02f, + 6.666622311e-02f, -1.373755187e-01f, 1.409122497e-01f, 2.348469794e-01f, + -9.294203669e-02f, -1.008456722e-01f, 1.335989982e-01f, 6.497491896e-02f, + 3.969416022e-02f, -1.597400606e-01f, 5.090049282e-02f, 6.709004939e-02f, + -1.881934702e-02f, 2.132489532e-02f, 9.253112972e-02f, -4.402913898e-02f, + 1.265612710e-02f, 1.287273690e-02f, -1.251746863e-01f, 4.992869869e-02f, + 9.327726066e-02f, 1.352334619e-01f, -6.868674606e-02f, 5.031032488e-02f, + -1.810256205e-02f, -1.345006377e-02f, 5.858409405e-02f, -3.823629022e-02f, + -1.171075925e-01f, -9.509322792e-02f, 7.405832410e-02f, 5.329914019e-02f, + 6.966295093e-02f, 1.561546978e-02f, 4.050767049e-02f, 9.484528005e-02f, + 1.034646034e-01f, -2.144775726e-02f, -1.709959842e-02f, 4.111440852e-02f, + 5.058632046e-02f, 3.587704152e-02f, 9.709172696e-02f, -5.674344301e-02f, + 1.089926139e-01f, -1.383239478e-01f, -5.877937004e-02f, 7.935735583e-02f, + -9.488470852e-02f, -4.550745338e-02f, -2.830694057e-02f, 4.368224740e-02f, + -1.736439648e-03f, -1.124054864e-01f, 7.042095065e-02f, 4.692729935e-02f, + -1.058817804e-01f, -1.250133216e-01f, -5.086921528e-02f, 5.396251753e-02f, + 1.774546206e-01f, -8.741706610e-02f, -1.028961036e-02f, -1.036652401e-01f, + -2.567840274e-03f, 3.935091197e-02f, 1.059485748e-01f, -1.841735393e-01f, + -1.460565720e-02f, -1.346705705e-01f, -4.821176827e-02f, 1.582443267e-01f, + -3.755416349e-02f, -5.315503106e-03f, 8.707185835e-02f, 8.174896240e-02f, + 4.282421619e-02f, 9.920131415e-02f, -1.600501314e-02f, 9.620513767e-03f, + -5.134499818e-02f, 1.356175691e-01f, 4.702616856e-02f, 5.729445443e-02f, + -8.398709446e-02f, 8.603813499e-02f, 3.091135062e-02f, -2.830725536e-02f, + 8.178127557e-02f, -9.348478168e-02f, 1.465277076e-01f, 1.105930191e-02f, + 1.070119515e-01f, 7.846831344e-03f, -1.619962305e-01f, 9.127561934e-03f, + 7.299468666e-02f, 1.642418951e-01f, 1.879208907e-02f, 8.509920537e-02f, + 1.982285678e-01f, 1.168626249e-01f, 6.926850230e-02f, -3.766210377e-02f, + 1.428244356e-02f, 5.633096397e-02f, -3.413624689e-02f, 1.353464276e-01f, + 1.206309441e-02f, 8.608359843e-02f, 1.655656286e-02f, 1.828709990e-01f, + -4.457508773e-02f, -1.549293287e-02f, 5.653965846e-02f, 1.173347458e-01f, + -1.046694964e-01f, -8.067759871e-02f, -2.289314009e-02f, 3.446696326e-02f, + 7.736385614e-02f, -6.450823694e-02f, -6.111089140e-02f, -3.369969502e-02f, + 1.669046432e-01f, -1.115106326e-02f, 4.296162724e-02f, 8.002717979e-03f, + 4.390228540e-02f, -8.469356224e-03f, -9.551451355e-02f, -1.660310477e-01f, + -4.104984552e-02f, 1.986999623e-02f, 2.058450691e-02f, 1.211980954e-01f, + 2.089457959e-02f, -2.420236766e-01f, 6.415948272e-02f, 1.940928982e-03f, + 4.198523983e-02f, -4.661262780e-02f, 2.767601795e-02f, 1.028083190e-01f, + -4.621526226e-02f, 4.076077044e-02f, 8.068586141e-02f, -6.463063508e-02f, + -1.927528828e-01f, -7.166226953e-02f, 1.561671197e-01f, 2.815351635e-02f, + 2.238398045e-02f, 1.943185553e-02f, -1.913100928e-01f, 9.123439342e-02f, + 1.519233733e-01f, 8.401689678e-02f, -4.819579050e-02f, 8.242272586e-02f, + 2.577135526e-02f, -1.023921743e-01f, 9.172386676e-02f, 7.826077938e-02f, + -4.305510316e-03f, 5.043198168e-02f, 7.327176630e-02f, -1.558057964e-02f, + 3.577485308e-02f, -1.616084874e-01f, 1.965040863e-01f, 1.622032560e-02f, + 1.061883662e-02f, -6.168166175e-02f, -1.701148227e-02f, 1.786539257e-01f, + 5.998736620e-02f, 1.891726442e-02f, -6.517292932e-03f, 3.061919101e-02f, + 7.862479240e-02f, -5.142000504e-03f, 1.235477850e-01f, -1.645266414e-01f, + 5.329912901e-02f, -5.963419750e-02f, -9.836515784e-02f, 8.821131289e-02f, + 2.197036892e-02f, 6.244975608e-03f, 4.858297762e-03f, -1.887355372e-02f, + 1.294247210e-01f, 2.346772850e-01f, 2.494824380e-01f, -4.985311627e-02f, + -1.110451743e-01f, 1.364202588e-03f, 1.551715583e-01f, 2.351956218e-01f, + 6.675495952e-02f, -1.919444092e-02f, -1.438044757e-01f, -4.063918442e-02f, + -1.265125126e-01f, -1.045951024e-01f, 7.922781259e-02f, -1.005325988e-01f, + -1.678052247e-01f, -8.951050043e-02f, -4.052785411e-02f, 5.713420734e-02f, + -9.468633682e-02f, 1.694164355e-03f, -1.115574222e-02f, 1.647106558e-02f, + -3.047557548e-02f, -2.109475806e-02f, 7.046625018e-02f, 9.601449966e-02f, + 1.451918185e-01f, -1.409806162e-01f, 4.507451132e-02f, 5.538472533e-02f, + 4.080898315e-02f, -6.942418963e-02f, 7.952529937e-02f, 6.138893589e-02f, + -1.300200913e-02f, 6.181957200e-02f, -1.234096661e-01f, 3.202543035e-02f, + -9.816828184e-03f, -9.152564220e-03f, 1.219522506e-01f, -8.811144158e-03f, + 4.180286452e-02f, 6.865270436e-02f, -1.326829791e-01f, -9.783188999e-02f, + -1.538471412e-02f, 7.793119550e-02f, 2.907458460e-03f, -1.146740317e-01f, + 6.458314508e-02f, -9.368187189e-02f, 5.877404660e-02f, -3.146636114e-02f, + -5.220411718e-02f, -1.686962880e-02f, 2.309850603e-02f, -5.846805125e-02f, + 1.798311807e-02f, -7.959275693e-02f, -5.646494031e-02f, -2.872688882e-02f, + -5.270508304e-02f, 6.985511631e-02f, -4.917685688e-02f, 1.154315844e-01f, + 4.604899138e-02f, -2.117404044e-01f, 1.981147565e-02f, 1.221078634e-01f, + -1.104096845e-01f, -4.376590252e-02f, -4.930686206e-02f, 2.324318327e-02f, + 2.487936988e-02f, -5.433267727e-02f, 9.812919796e-02f, 1.948188618e-02f, + 8.389053494e-02f, 1.575687081e-01f, -3.233771399e-02f, 3.809060901e-02f, + -4.627847299e-02f, -3.525502980e-02f, -6.004833058e-02f, 6.023170054e-02f, + -4.252248630e-02f, -7.217728533e-03f, 1.169021800e-02f, -6.041594967e-02f, + -8.201304078e-02f, 1.329523325e-01f, 1.071931049e-02f, 2.934746817e-02f, + -9.476102144e-02f, 7.665847987e-02f, -4.314456135e-03f, -1.767469570e-02f, + -1.141953021e-01f, -9.262151271e-02f, -5.509155989e-02f, 6.043668836e-02f, + -6.180898100e-02f, 7.698363066e-02f, -1.911957934e-02f, 4.255304113e-02f, + -1.549960077e-01f, 8.912711404e-03f, 1.059406903e-02f, -1.699795760e-02f, + 3.293330595e-02f, -1.584998071e-01f, 5.229055136e-02f, 4.112988338e-02f, + -1.833878160e-01f, 6.622401625e-02f, 8.386382461e-02f, -1.967092007e-01f, + -2.645779401e-02f, -8.636527695e-03f, 1.117041931e-01f, 1.354616284e-01f, + -6.101076957e-03f, -9.806533158e-02f, -1.449361145e-01f, 1.458816417e-02f, + -4.516235366e-02f, -3.672533110e-02f, 1.163857207e-01f, -3.287528455e-02f, + -2.726762369e-02f, -1.663847864e-01f, 9.250666946e-02f, 1.304610372e-01f, + 2.196004242e-01f, 1.045744643e-01f, -9.682171047e-03f, -9.324140847e-04f, + 2.447867952e-02f, 1.275161188e-02f, 1.070125774e-01f, 4.136442021e-02f, + 1.009594947e-01f, -5.868652090e-02f, 1.013090909e-01f, 2.862186171e-02f, + -3.559439257e-02f, -7.689815015e-02f, -3.533444926e-02f, 7.870838046e-02f, + 7.722190022e-02f, 1.268101186e-01f, 5.172167718e-02f, 1.198216714e-02f, + -1.372522861e-01f, 4.411228746e-02f, 7.211755216e-02f, -7.564045489e-02f, + -1.294187903e-01f, 3.818808869e-02f, 3.166261688e-02f, 5.586919188e-02f, + -1.805906184e-02f, 2.876434848e-02f, 1.785317510e-01f, -5.664343759e-02f, + -1.080731302e-01f, 9.551082551e-02f, -2.142477222e-02f, -3.968577832e-03f, + -2.173013613e-02f, 5.781643465e-02f, 4.503392056e-02f, 9.048399329e-02f, + -2.555887215e-02f, -9.095364064e-02f, -1.163688526e-01f, 1.991699636e-01f, + -1.134888828e-01f, -3.463332728e-02f, 2.618896402e-02f, -7.288363297e-03f, + -2.034744993e-02f, 4.527739063e-02f, 6.519941147e-03f, 1.069188118e-01f, + -2.019212581e-02f, -7.842960954e-02f, 8.791726828e-02f, -5.298242718e-02f, + -3.224488348e-02f, 1.243089214e-01f, 1.261874884e-01f, 4.156754538e-02f, + 1.113720834e-01f, 2.487278078e-03f, -1.157924756e-01f, 9.912245721e-02f, + 5.401791632e-02f, 3.971050680e-02f, 1.319421828e-01f, -1.537513584e-01f, + -2.357969619e-02f, -1.443511099e-01f, 1.566304825e-02f, -9.586106986e-03f, + -3.886759281e-02f, -8.178944141e-02f, 1.137439460e-01f, 1.041827649e-01f, + -5.662612990e-02f, -1.397299469e-01f, -7.494829595e-02f, -7.683897763e-02f, + -3.708901256e-02f, 1.329456270e-01f, 1.487131268e-01f, -7.107499242e-02f, + -1.408972889e-01f, 9.450856596e-02f, 1.233814657e-02f, -1.509493738e-01f, + 1.476474702e-01f, 4.755532369e-02f, 8.439255506e-02f, -1.113903299e-01f, + 4.629936814e-02f, 9.387315810e-02f, -9.119971842e-02f, 5.014793202e-02f, + 1.681624539e-02f, 5.267723277e-02f, -1.750396043e-01f, -2.127231658e-01f, + 1.833252795e-02f, -1.143673956e-01f, 1.055910736e-01f, -2.490729652e-02f, + 1.500556618e-02f, -3.881186945e-03f, -9.432541579e-02f, 7.936081290e-02f, + 5.100321770e-02f, -1.601612866e-01f, 1.067416836e-02f, -9.322712570e-02f, + 1.133094057e-01f, -4.617951810e-02f, 8.099053986e-03f, 5.281541497e-02f, + -7.861164212e-02f, -8.724574745e-02f, -4.459712282e-02f, -1.297749300e-02f, + -9.424663335e-02f, 7.934629172e-02f, -1.055085137e-01f, -1.224882603e-01f, + -4.939341545e-02f, 1.685736179e-01f, -2.660160325e-02f, -5.743815750e-02f, + 3.668926656e-02f, 5.220194906e-02f, 4.409004468e-03f, 1.000480950e-01f, + 2.458755486e-02f, -7.451710105e-02f, -3.009453043e-02f, 1.119037047e-01f, + -1.945983060e-02f, 2.332630381e-02f, 4.211575538e-02f, -8.582123369e-02f, + -8.282939345e-02f, 7.959040254e-02f, 1.344366930e-02f, 9.498886019e-02f, + -1.057191119e-01f, 1.549188048e-02f, 1.206110045e-01f, -1.854690462e-01f, + -1.445789784e-01f, 1.281414330e-01f, 7.195466012e-02f, -2.094113827e-01f, + 9.323906898e-02f, -1.460925788e-01f, -1.933096536e-02f, 2.035970837e-01f, + 1.292766035e-01f, 8.352554403e-03f, 3.484706208e-02f, -1.079997867e-01f, + -8.912479877e-02f, -6.875512004e-02f, 1.388697140e-02f, 3.834085655e-04f, + 7.692027837e-03f, 7.805754244e-02f, -8.933668584e-02f, 1.852094755e-02f, + -6.257878244e-02f, -1.881847717e-02f, 8.567928523e-02f, 1.458250219e-03f, + 7.882898301e-02f, 3.497277200e-02f, 2.117803693e-01f, 1.538612694e-01f, + 5.353389308e-02f, 8.065376431e-02f, 2.119538374e-02f, 6.594561506e-03f, + 1.067215353e-01f, -6.695502251e-02f, -4.506651312e-02f, -5.137276277e-02f, + 7.324994542e-03f, -8.798561245e-02f, -1.207894739e-02f, 1.879621646e-03f, + -4.202077538e-02f, -7.555927336e-02f, 1.220450252e-01f, -9.832796641e-03f, + -3.486638889e-02f, -4.827959836e-02f, 7.273285836e-02f, 1.325102001e-01f, + 2.973394934e-03f, -7.109962404e-02f, -1.409914196e-01f, -7.048696280e-02f, + 6.511101872e-02f, 3.853227198e-02f, 1.383635551e-01f, -3.644629940e-02f, + 3.576492891e-02f, 6.359209772e-03f, -1.576418579e-01f, 6.686236244e-03f, + -1.016890407e-01f, 1.869963855e-02f, 3.581777215e-02f, 1.204787195e-01f, + 4.320617765e-02f, -8.123970032e-02f, 5.372248963e-02f, 4.579967633e-02f, + -2.673590183e-02f, 2.286457084e-02f, 8.257623017e-02f, 1.128556356e-01f, + 6.190522760e-02f, 7.462963462e-02f, -1.035736352e-01f, -1.906784251e-02f, + 2.362084202e-02f, 7.024850696e-02f, 2.864196151e-02f, 1.315477397e-02f, + 2.600910328e-02f, 3.734759614e-02f, 1.632796526e-01f, -3.075991012e-02f, + 6.865616143e-02f, -1.238101199e-01f, -1.018723994e-01f, 1.290702447e-02f, + -2.841093540e-01f, 8.511436731e-02f, -1.143084466e-01f, -7.256872207e-02f, + 1.196035147e-01f, -9.145293385e-02f, -2.958111651e-02f, -9.738574177e-02f, + -6.355446577e-02f, 1.668187417e-02f, 1.250037253e-01f, -1.332107633e-01f, + -1.163168997e-01f, -5.395788699e-02f, 2.173437737e-02f, -2.407191321e-02f, + -6.129155681e-02f, 9.060588479e-02f, 9.168343246e-02f, -1.774833649e-01f, + -1.242982447e-01f, -5.050248653e-02f, 1.117422245e-03f, -3.880901262e-02f, + -1.459114701e-01f, 1.562719978e-02f, 2.417758480e-02f, -1.599475592e-01f, + -4.298694432e-02f, -1.037492156e-01f, 9.420888126e-02f, -8.253332227e-02f, + 3.938932344e-02f, -1.283780336e-01f, 5.967345834e-02f, 4.603506997e-02f, + 4.204639792e-02f, -1.123268679e-01f, 2.250179835e-02f, 2.713092975e-02f, + 7.615926675e-03f, 2.607635558e-01f, 1.760656685e-01f, 6.124286354e-02f, + -8.114848286e-03f, -1.648867689e-02f, 1.266140938e-01f, 4.772214743e-04f, + 8.212563396e-02f, 6.747119129e-02f, 6.737272255e-03f, 1.120836213e-01f, + -6.523139030e-02f, 4.158756696e-03f, 9.077788889e-02f, -2.075765468e-02f, + 2.999601699e-02f, 4.339605570e-02f, 1.217691526e-01f, 1.769506373e-02f, + 2.115659416e-01f, 3.497984633e-02f, 3.010838106e-02f, 1.860880107e-02f, + -4.277997091e-02f, 7.055290043e-02f, -4.791347310e-03f, -2.727204859e-01f, + 3.769050539e-02f, 2.296654508e-02f, -1.064891964e-01f, 3.383684158e-02f, + -1.101656351e-03f, 7.263395935e-02f, -3.737205639e-02f, -4.987783032e-04f, + 8.990631998e-02f, -3.254696727e-02f, -1.062647551e-01f, 5.643263832e-02f, + -1.010763273e-01f, 2.345605195e-02f, -1.554720402e-01f, -1.653404683e-01f, + -1.863593757e-01f, 2.286761068e-03f, 2.073322237e-02f, 5.833610520e-02f, + 6.768108904e-02f, -3.893240541e-02f, -1.143384632e-02f, -3.039190918e-02f, + 2.199274674e-02f, 6.328955293e-02f, -2.458449639e-02f, 5.266976357e-02f, + -2.086588144e-01f, -1.798487157e-01f, -4.911712930e-02f, 1.123682130e-02f, + 5.300534889e-02f, 1.487056315e-01f, 1.519786753e-02f, -4.085988179e-02f, + -6.791951507e-02f, 2.854291350e-02f, -6.513553113e-02f, -1.235812716e-02f, + -2.757879160e-02f, 3.982095420e-02f, 4.734425992e-02f, 2.170083821e-01f, + -9.273934364e-02f, -1.227494981e-02f, 7.944112271e-02f, 2.102572471e-02f, + -4.540703446e-02f, -1.377620846e-01f, 5.711938441e-02f, -7.311876863e-02f, + -3.428905085e-02f, 3.437349573e-02f, 7.802549005e-02f, -2.848220430e-02f, + 9.453853965e-02f, 4.466657713e-02f, -1.962644905e-01f, -3.847366944e-02f, + 1.180791948e-02f, -4.814083874e-02f, -7.691933215e-02f, -9.734380245e-02f, + -2.799585089e-02f, -6.021112576e-02f, 2.110326849e-02f, -9.367838502e-02f, + 9.091603756e-02f, -7.425653934e-02f, 4.018762335e-02f, 1.176417321e-01f, + -4.747733846e-02f, -1.623871326e-01f, 6.479564309e-02f, -8.770655841e-02f, + 1.445656270e-01f, -1.071501672e-01f, 7.891791873e-03f, 1.670425199e-02f, + -2.341658995e-02f, -3.208478540e-02f, 3.037227876e-02f, 7.693139836e-03f, + 1.188982651e-01f, 1.429630816e-01f, -1.806566678e-02f, -2.350022830e-02f, + 1.068446189e-01f, -1.597884744e-01f, 2.471957356e-02f, -5.176485330e-02f, + 1.045079622e-02f, -8.101328276e-03f, 3.054206818e-02f, -9.646764398e-02f, + 6.414574385e-02f, -1.092996970e-01f, -9.840305895e-02f, 3.469784558e-02f, + 8.511772007e-02f, -2.865612693e-02f, 1.325246226e-02f, 2.875607694e-03f, + -6.514597684e-02f, 3.518315777e-02f, 1.268497556e-01f, -1.769440807e-02f, + 1.831210777e-02f, 5.519600213e-02f, -5.958551541e-02f, -1.867368817e-01f, + 1.225117296e-01f, -2.189411782e-02f, -1.998776793e-01f, 5.366161838e-02f, + 7.892883569e-02f, -1.858327389e-01f, -1.764087193e-02f, -5.726664141e-02f, + -3.779007867e-02f, -2.451006696e-02f, 3.048616834e-02f, 7.002574950e-02f, + 5.509835109e-02f, -8.662164211e-02f, 8.791107684e-02f, 3.757603001e-03f, + -4.686611146e-02f, -1.093488932e-01f, -5.045047402e-02f, -1.558045149e-01f, + -2.301346883e-02f, 1.185152382e-01f, -2.944926731e-02f, 1.824659295e-02f, + -4.073371366e-02f, -1.463501807e-02f, -9.932050109e-02f, -1.247807220e-02f, + 6.185172498e-02f, -4.108595848e-02f, -4.316024948e-03f, 6.457719952e-02f, + -4.485727474e-02f, -3.325998085e-03f, -8.257138729e-02f, -1.517122984e-01f, + 1.133409739e-01f, 5.974110961e-02f, -1.494523045e-02f, -8.314824104e-02f, + 3.141663596e-02f, 7.430963963e-02f, 2.036860771e-02f, -1.952546239e-01f, + 1.453260425e-02f, -3.802906349e-02f, -3.980038315e-02f, -1.376143540e-03f, + -1.686507165e-01f, -1.640372165e-02f, 6.838742644e-02f, -1.887407601e-01f, + -1.871769689e-02f, -1.075871587e-01f, 1.328957528e-01f, -3.534893738e-03f, + 1.288719773e-01f, 1.802343279e-01f, 4.163574055e-02f, 1.671494395e-01f, + 6.185452454e-03f, 7.488871366e-02f, 1.057548523e-01f, -7.915402949e-02f, + 6.798233837e-02f, 1.440740079e-01f, -3.925650381e-03f, 3.283774853e-02f, + -2.800193243e-02f, -1.108210720e-02f, 1.067229956e-01f, -1.064578518e-01f, + 2.451548874e-01f, -7.075442374e-02f, 6.823049486e-02f, 4.006049037e-02f, + 8.506503887e-03f, 1.236566454e-01f, 6.747996062e-02f, -9.510883689e-02f, + 1.156555116e-01f, 3.230059519e-02f, 1.234196201e-01f, -1.725443006e-01f, + -8.709242195e-02f, 5.900545046e-02f, 2.449843101e-02f, 7.969773561e-02f, + 8.388905972e-02f, -1.025571078e-01f, -1.378909051e-01f, 8.218120784e-02f, + 6.731291115e-02f, 5.220939592e-02f, -6.305367500e-02f, -5.745428056e-02f, + -1.217460912e-02f, -1.640171558e-01f, -8.396266401e-02f, 6.970170885e-02f, + 5.384706333e-02f, -4.612172488e-03f, -1.289063543e-01f, -4.797095805e-02f, + 4.306574911e-02f, -5.615840852e-02f, -4.135981575e-02f, 4.918120801e-02f, + -9.205467254e-02f, -2.505543642e-02f, -4.485579953e-02f, -8.694210649e-02f, + -2.277227640e-01f, -5.115058273e-03f, 4.521802068e-02f, 2.185599692e-02f, + 2.842542715e-02f, -4.509799927e-02f, 7.710786909e-02f, 9.883165359e-02f, + 1.304386407e-01f, 1.182884276e-01f, 1.111163795e-01f, -7.223606808e-04f, + -4.396728054e-02f, 8.616814017e-02f, -9.838644415e-02f, -7.391867787e-02f, + 1.853099838e-02f, 1.072869264e-02f, 2.649583668e-02f, -1.537121236e-01f, + -3.522342443e-02f, 1.043222025e-01f, -6.319130212e-02f, 6.760851294e-02f, + 8.574548177e-03f, -4.397869483e-02f, -1.144742295e-01f, -2.404144034e-02f, + -1.458376199e-01f, 1.264372319e-01f, 1.716460586e-01f, 8.509831876e-02f, + 5.254801735e-02f, -1.036794856e-01f, 9.580755979e-02f, 1.177363656e-02f, + -3.137351945e-02f, -1.235950440e-01f, 4.823690280e-02f, 4.223474488e-02f, + 2.469256055e-03f, -9.954014793e-03f, -2.537191287e-02f, 1.373200864e-01f, + -1.799914986e-02f, -9.014722705e-02f, -4.204002395e-02f, 1.973318011e-01f, + -1.105547249e-01f, -1.869510263e-01f, -2.529742895e-03f, 3.510740772e-02f, + 3.357215598e-02f, -8.264505863e-02f, 1.523833275e-01f, 5.404938012e-02f, + 1.070934981e-01f, -1.685241461e-01f, 2.640248463e-02f, 1.389116496e-01f, + -3.441970423e-02f, 9.359933436e-03f, 1.135089695e-01f, 7.245746255e-02f, + -1.489430219e-01f, -2.026587492e-03f, 8.318727463e-02f, -1.735737175e-01f, + -1.262041740e-02f, -4.111465067e-02f, -5.122878775e-02f, -1.962491684e-02f, + 8.042603731e-02f, 8.031895012e-02f, -7.596366107e-02f, -1.387735456e-01f, + -1.185343601e-02f, 3.675405635e-03f, -5.827718973e-02f, 6.197890267e-02f, + 4.975767061e-02f, -1.206888705e-01f, 1.199680716e-01f, 6.475627422e-02f, + 8.951342106e-02f, -3.987202945e-04f, 1.489722431e-01f, 6.726527959e-02f, + 6.292860210e-02f, 1.590225995e-01f, -5.211874098e-02f, -8.501982689e-02f, + 8.373966813e-02f, 1.809087954e-02f, -1.132566854e-01f, 1.203983836e-02f, + -6.202765927e-02f, -8.358982950e-02f, -6.203144044e-02f, -1.688797325e-01f, + -6.073208526e-02f, -3.684846684e-02f, -9.826093912e-02f, -8.154140413e-02f, + 1.135984063e-01f, -2.024009675e-01f, 6.177465245e-02f, 4.712580144e-02f, + 1.254731268e-01f, 5.269398913e-02f, 7.476797327e-03f, -5.754530057e-02f, + 4.985871259e-03f, -2.306250110e-02f, -4.057637975e-02f, -2.917026728e-02f, + -1.680001318e-01f, -1.678023604e-03f, 3.620902449e-02f, 3.307040781e-02f, + 1.293155402e-01f, 2.005489916e-01f, -3.652607789e-03f, 1.042571217e-01f, + -9.249331057e-02f, 5.427753925e-02f, -1.434158720e-02f, 5.397473276e-02f, + 1.051295400e-01f, -6.498590577e-03f, -9.205977619e-02f, -7.537022978e-02f, + 1.420179754e-01f, -3.596022353e-02f, 3.254330158e-02f, -2.184594795e-02f, + 1.042980030e-01f, -9.015706182e-02f, 4.921345506e-03f, -1.220242083e-01f, + 1.108432561e-02f, -8.953754604e-02f, 9.406109154e-02f, -5.765060708e-02f, + 1.775860637e-01f, -1.918569393e-02f, 3.566546366e-02f, 1.112841591e-01f, + 1.288564652e-01f, 1.764163077e-01f, -1.384500973e-02f, 6.818344351e-03f, + -2.317333370e-01f, 3.941547126e-02f, -1.728329509e-01f, 7.625891268e-02f, + 6.204487011e-02f, -1.069074944e-01f, -7.699254435e-03f, 4.670992494e-03f, + 1.876350492e-01f, -9.607478045e-03f, 1.421311349e-01f, 1.678497642e-01f, + 1.811949536e-02f, -9.313315153e-02f, 7.967252284e-02f, -6.788786501e-02f, + -6.484013516e-03f, -5.591686070e-02f, -5.574547127e-02f, -5.170473829e-02f, + 1.927330159e-02f, 1.947681606e-02f, -1.206859276e-01f, 5.838184152e-03f, + -6.217939779e-02f, 5.588707700e-02f, -1.062856056e-02f, -7.035221159e-02f, + 5.453065038e-02f, 1.608381122e-01f, 3.731828555e-02f, -1.022420377e-01f, + 1.584888846e-01f, 6.896861643e-02f, -7.105287910e-02f, -2.996380813e-02f, + -2.862443961e-02f, 1.675882004e-02f, -1.024695635e-01f, -4.286068678e-02f, + -2.209215052e-02f, 1.222298741e-01f, 1.069164090e-02f, -4.300063103e-02f, + -7.790791988e-02f, -4.165837169e-02f, -2.185184741e-03f, 1.092711911e-01f, + -1.271769851e-01f, 1.176954899e-02f, 2.108248174e-01f, 3.576871753e-02f, + 5.753534660e-02f, -3.597294167e-02f, -2.487330511e-02f, -2.676244825e-03f, + -1.560615450e-01f, 1.322029531e-02f, 1.557319332e-02f, 2.291661501e-02f, + -7.252340764e-02f, 7.884191722e-02f, 8.589871228e-02f, 1.664764434e-01f, + -8.840170503e-02f, 1.590741426e-02f, -2.744010277e-02f, -1.737535149e-01f, + 4.058879334e-03f, -6.632981449e-02f, 2.261029184e-02f, -2.674929565e-03f, + 1.822193712e-02f, 1.062106565e-01f, -1.375129540e-02f, -5.129604787e-02f, + -4.763111100e-02f, -1.515843421e-01f, 9.910871834e-02f, -1.050224435e-02f, + -2.005488425e-02f, -7.122152299e-02f, 1.151299011e-02f, 1.291388571e-01f, + -5.587515235e-02f, 3.488430521e-03f, -6.734926254e-02f, 6.407216936e-02f, + 1.310922354e-01f, -1.875213720e-02f, 1.542198807e-01f, -3.863490745e-02f, + 4.195726290e-02f, 2.687684027e-03f, -6.769778579e-02f, -7.349175960e-02f, + 1.032008305e-01f, 5.968865007e-02f, 2.178779617e-02f, -1.086841002e-01f, + -2.641822211e-02f, -8.951693773e-02f, 1.577338874e-01f, 5.313010141e-02f, + -5.385218561e-02f, -4.421780631e-02f, 8.603923023e-02f, -2.178448141e-01f, + -4.283661768e-02f, -2.808690630e-02f, 1.307071149e-01f, 1.291210949e-01f, + 2.457967773e-02f, 2.296161838e-02f, -2.961046807e-02f, -8.294860832e-03f, + 5.335568637e-02f, 8.231602609e-02f, -2.863739990e-02f, -9.725771844e-02f, + -1.158562377e-01f, 2.465673089e-01f, -6.427457090e-03f, -2.984037856e-03f, + 2.048185654e-02f, 6.131864712e-02f, 1.802101135e-01f, -8.225358278e-02f, + -1.506129559e-02f, -4.606916010e-02f, 2.444194444e-02f, -4.535569623e-02f, + 3.720677644e-02f, 1.278453134e-02f, 6.693640351e-02f, -1.739460677e-01f, + -8.586505055e-02f, -9.255997092e-02f, 1.114335656e-02f, 3.952107206e-02f, + 2.287772596e-01f, -1.366340369e-02f, -1.755716056e-01f, -2.024510875e-02f, + -8.700172603e-02f, -1.873580217e-01f, -7.675449550e-02f, -3.728441149e-02f, + -3.168759868e-02f, -3.824149445e-02f, 8.807168342e-04f, 1.901684888e-02f, + 4.179567099e-02f, -5.250799656e-02f, 2.453708462e-02f, -9.551125765e-02f, + 1.106932834e-01f, 5.178238451e-02f, -1.159829125e-01f, 9.212888777e-02f, + -8.802171797e-02f, -5.782135949e-02f, -2.647067653e-03f, -4.458383471e-02f, + 8.090768009e-02f, -3.399747610e-02f, 1.015921775e-02f, -7.808593661e-02f, + 5.767866969e-04f, -1.476954073e-01f, 2.050473168e-02f, -7.547609508e-02f, + 1.082838178e-01f, 9.407139570e-02f, 4.806447402e-02f, 1.182255074e-01f, + -2.130606323e-01f, 2.115249038e-01f, 7.433191687e-02f, -1.125507504e-01f, + -5.592766404e-02f, -6.992506236e-02f, -5.570034962e-03f, -2.683535684e-03f, + -7.877703756e-02f, 3.049463034e-02f, -7.368149608e-02f, -1.602656674e-03f, + -5.088599771e-02f, -8.727793396e-02f, -1.262599826e-01f, -6.579091400e-02f, + -2.777888067e-02f, 9.862399101e-02f, 4.209047928e-02f, -1.445416659e-01f, + 2.301803557e-03f, -5.183806270e-02f, -1.273029745e-01f, -1.900028810e-02f, + 1.207357123e-01f, 1.003221497e-01f, 2.638225071e-02f, 1.079291105e-01f, + -6.224109791e-03f, 1.886307262e-02f, -1.257330775e-01f, -9.650440514e-02f, + 5.305870622e-02f, -7.725270092e-02f, 1.153612733e-01f, -1.232835501e-01f, + 8.812225610e-02f, 1.055508405e-01f, 2.405163832e-02f, -9.641976655e-02f, + -2.050322108e-02f, 3.475731239e-03f, 1.079971939e-01f, -6.189252436e-02f, + -8.831900358e-02f, 7.284428924e-03f, -1.425787657e-01f, 3.563426435e-02f, + -2.521440014e-02f, -9.043305181e-03f, 1.761137694e-01f, 3.871713579e-02f, + -7.628601789e-02f, -6.038459763e-02f, -8.920629323e-02f, 7.921929657e-02f, + -1.197430119e-01f, -2.830590010e-01f, 2.149794251e-02f, 4.609014466e-02f, + 1.536286715e-02f, -1.036464050e-01f, -5.041233730e-03f, 9.962689131e-02f, + 1.145669725e-03f, 2.001130953e-02f, -2.083847225e-01f, 4.382047430e-02f, + 5.994806997e-03f, -7.135648280e-02f, -2.019238472e-02f, 5.230674520e-02f, + -1.371558160e-01f, -1.290652454e-01f, -3.934779018e-02f, 1.551808566e-01f, + 1.114784256e-01f, 3.082235903e-02f, 4.684339464e-02f, -9.456007928e-02f, + -6.002895534e-02f, -1.339731961e-01f, -6.108512357e-02f, -1.666913778e-01f, + 1.330967806e-02f, -2.648483030e-02f, 7.517638057e-02f, 7.416874170e-02f, + 1.284989156e-02f, 1.574789435e-01f, 4.951905832e-02f, 2.512504533e-02f, + 1.272463500e-01f, -8.232132532e-03f, -7.744441926e-02f, 1.934258491e-01f, + 4.721478000e-02f, 8.510895073e-02f, 5.182315037e-02f, -1.198656708e-01f, + -2.127514966e-02f, 4.894566536e-02f, -3.106702119e-02f, 1.034006178e-01f, + 3.669705242e-02f, 9.678580612e-02f, 2.556307428e-02f, -1.448300760e-02f, + -9.063987434e-02f, 2.729335241e-02f, 3.568372130e-02f, -2.416983619e-02f, + -2.610924654e-02f, 6.838309020e-02f, 1.377426982e-01f, -1.065966040e-01f, + 7.312567532e-02f, -2.266182005e-02f, -1.161887776e-02f, -2.855086001e-03f, + 1.312732697e-02f, 1.315447837e-01f, 3.038210049e-02f, -3.832579404e-02f, + 1.157876663e-02f, -6.679914892e-02f, -2.389218211e-01f, -3.788792342e-02f, + 8.659186959e-02f, 8.750337362e-02f, -5.960262939e-02f, -7.859685272e-02f, + -8.586151153e-02f, 1.575915813e-01f, 2.423476614e-02f, 1.246442366e-02f, + -1.551063638e-02f, 8.413608186e-03f, -6.062242389e-02f, -3.355160728e-02f, + -1.736952215e-01f, 3.495654557e-03f, 7.057023793e-02f, -1.257544607e-01f, + 4.601056129e-02f, -1.743973978e-02f, -1.407108153e-03f, -6.379550695e-02f, + 7.052164525e-02f, 3.356343834e-03f, 4.727007821e-03f, 7.414659113e-02f, + -2.607322298e-02f, -1.405680180e-01f, -1.625428051e-01f, 5.195534974e-02f, + 1.292273253e-01f, 5.897704884e-02f, -1.686661988e-01f, 6.306318194e-02f, + 1.296135224e-02f, 4.063440487e-02f, -4.131489620e-02f, -8.260945231e-02f, + 1.273108870e-01f, 2.081436217e-01f, -9.013967216e-02f, 6.394002587e-02f, + 1.804792434e-01f, -1.548064053e-01f, 6.041480228e-02f, 8.859009482e-03f, + 8.440442383e-02f, 1.037282199e-01f, 1.020835042e-01f, -8.571232110e-02f, + -5.966810137e-02f, 5.278257281e-02f, -1.073712669e-02f, -1.414839625e-01f, + -1.094127167e-02f, -2.868261561e-02f, 3.178953007e-02f, 4.447695240e-02f, + 6.833476573e-02f, -7.436084747e-02f, -2.176880091e-02f, 4.187476635e-02f, + 1.711705886e-02f, -7.092768699e-02f, 1.476371735e-01f, -1.962778121e-01f, + -1.756430417e-01f, -1.016473398e-01f, 1.580546349e-01f, 1.809001900e-02f, + -1.994029619e-02f, 2.956266887e-02f, 2.017010003e-02f, 1.686874926e-01f, + 1.013847217e-01f, -4.150203988e-02f, -4.249082133e-02f, 4.587845504e-02f, + 9.078998864e-02f, -2.842055261e-02f, 1.181594282e-01f, -1.099213399e-02f, + -2.926832736e-01f, -2.099568956e-02f, 8.309841901e-02f, 1.347593381e-03f, + -1.209973171e-02f, 9.906553477e-02f, 1.062173117e-02f, 2.975888923e-02f, + -5.881295656e-04f, 2.974536270e-02f, -6.866837293e-02f, 9.416076541e-02f, + 9.343174845e-02f, -2.005726844e-02f, 6.233851984e-02f, 7.990212180e-03f, + 1.090371236e-01f, -5.460861605e-03f, -7.047710568e-02f, 1.464312971e-01f, + -1.516774646e-03f, 2.613266371e-02f, -8.446194232e-02f, -5.466256663e-02f, + 9.212600440e-02f, 4.325916246e-02f, 9.909280390e-02f, 1.714679748e-01f, + -3.247311339e-02f, 5.121630616e-03f, 8.003599197e-02f, 2.486034334e-01f, + 5.516877770e-02f, 5.682987347e-02f, -7.780385762e-02f, -1.549250484e-01f, + -4.980876669e-02f, 1.127706934e-02f, 5.206425115e-02f, -5.431142449e-02f, + -4.035222158e-02f, -8.059946448e-02f, -3.619640321e-02f, -5.297611654e-02f, + -7.122831047e-02f, 6.806491874e-03f, -9.422083944e-02f, -6.053376570e-02f, + 5.116786063e-02f, -5.445720255e-02f, 1.452692598e-02f, -1.062384620e-01f, + -1.542821527e-01f, -1.239055097e-01f, -6.605374813e-02f, 1.630183458e-01f, + 2.205227762e-01f, -7.894235104e-02f, -5.509738624e-02f, -2.677238360e-02f, + -1.317271590e-02f, -5.970407277e-02f, -4.640027508e-02f, 2.366247959e-02f, + 8.155745268e-02f, -1.141204033e-03f, 1.033034697e-01f, -3.265136108e-02f, + -3.263771161e-02f, -7.839463651e-02f, 3.092540614e-02f, 4.472004622e-02f, + -1.091314200e-02f, -1.329897996e-02f, 7.799864560e-02f, -6.789381057e-02f, + -2.043717913e-02f, 5.664583668e-02f, 8.349891007e-02f, -3.774948418e-02f, + 2.476181835e-02f, 2.142690867e-02f, -3.207859769e-02f, 9.655071795e-02f, + 8.348948509e-02f, 8.893682063e-02f, 5.871365219e-02f, 1.056885868e-01f, + 7.595826685e-02f, 2.570655756e-02f, -5.061285198e-02f, 2.262589708e-02f, + 8.081762493e-02f, 1.635202765e-01f, -2.868381701e-02f, 4.001685232e-02f, + -1.288580243e-02f, -9.082113206e-02f, 4.074539244e-02f, -1.147020757e-01f, + 7.139879465e-02f, -1.000446677e-01f, -1.504277810e-02f, -1.230946779e-01f, + 5.046813563e-02f, 1.039123759e-01f, 1.741432995e-01f, -1.113108993e-01f, + 8.979890496e-03f, -4.815415666e-02f, -1.116668433e-01f, -8.454478532e-02f, + -1.125407219e-01f, -9.438941628e-02f, -5.859396770e-04f, -4.222386330e-02f, + 1.853295714e-01f, 5.914049223e-02f, -1.101202592e-01f, -4.626178369e-02f, + -4.155210033e-02f, -7.447785139e-02f, -5.621693283e-02f, -3.459659219e-02f, + 1.837585121e-02f, 1.095353998e-02f, 1.330601424e-02f, -1.631463319e-01f, + 1.717119664e-01f, 4.064268619e-02f, 2.778069116e-02f, -4.134547431e-03f, + 7.571882755e-02f, 1.461637467e-01f, -1.535368711e-02f, 6.830086559e-02f, + 6.412084401e-02f, 1.506459564e-01f, 1.091575548e-01f, 1.098356545e-01f, + -5.233090371e-02f, 4.486304522e-02f, -3.259696439e-02f, -1.052798107e-01f, + 1.294923294e-02f, -1.322397888e-01f, 4.154666886e-02f, 3.306858242e-02f, + -1.667302847e-01f, -1.869566143e-01f, -1.294546574e-01f, -2.124688402e-02f, + 5.360543728e-02f, 3.852501512e-02f, 1.615275443e-01f, -1.716924608e-01f, + -1.623816192e-01f, -7.363134064e-04f, 5.384768173e-02f, -9.323829412e-02f, + 1.561400741e-01f, 1.733858883e-01f, -8.791879751e-03f, 7.173060905e-03f, + 2.775055543e-02f, -3.938909993e-02f, 7.333219051e-02f, -9.197477996e-02f, + 2.143368125e-02f, 1.142202541e-01f, -9.627342224e-02f, -1.317055225e-01f, + 1.900932342e-01f, -1.064174101e-01f, -1.082706638e-02f, 3.847439960e-02f, + 5.016768724e-02f, -1.319204718e-01f, -4.725240916e-02f, 1.364689879e-02f, + 2.858562954e-02f, 5.567250773e-03f, -6.577865034e-02f, 2.603061683e-02f, + -7.411570847e-02f, 1.621052856e-03f, 9.255322814e-02f, 4.659628496e-02f, + 8.383512497e-03f, -4.742212221e-02f, 3.882861510e-02f, 1.755871251e-02f, + -1.698163450e-01f, -1.025998779e-02f, 7.579768449e-02f, -6.718955189e-02f, + 2.004292905e-01f, 8.822336793e-03f, 5.785236135e-04f, -1.759822965e-01f, + -4.078189377e-03f, -2.856414393e-02f, 3.594953194e-02f, 3.306778520e-02f, + -5.087907985e-02f, 1.550907828e-02f, -6.662198156e-02f, 9.180357307e-02f, + 6.132695079e-02f, -8.235093951e-02f, 3.489222005e-02f, -2.143233549e-03f, + -5.216947943e-02f, 4.222261161e-02f, 1.417739838e-01f, -7.809346914e-02f, + 2.706681378e-02f, -3.807521984e-02f, 1.269865781e-01f, -5.403303728e-02f, + 5.228988081e-02f, -6.404080242e-02f, 3.394287825e-02f, 1.325960010e-01f, + -6.398044527e-02f, 3.400501981e-02f, -4.290531203e-02f, 1.896338612e-01f, + -1.191950068e-01f, 6.671165675e-02f, -5.349491909e-02f, -6.405239552e-02f, + 7.769647241e-02f, -2.993896417e-02f, 1.284982562e-01f, 4.826858640e-02f, + 7.284490493e-06f, 2.859038673e-02f, -5.896472186e-02f, -2.527840063e-02f, + -1.880678684e-01f, -8.339431137e-02f, -1.245183349e-01f, -3.183642030e-02f, + -4.442562163e-02f, 2.592384443e-02f, 2.653625607e-02f, 3.098249994e-02f, + 3.389534308e-03f, -6.971974671e-02f, 1.394648701e-01f, -8.255058527e-02f, + -2.506923303e-02f, -1.389583107e-02f, 7.800602913e-02f, 2.866776474e-02f, + -3.117436729e-02f, -1.868361048e-02f, 7.667104900e-02f, -3.730988503e-02f, + -5.661635101e-02f, -3.155382350e-02f, 5.076467618e-02f, -8.900164813e-02f, + -2.099057585e-01f, -1.210510358e-02f, 2.054691464e-01f, -5.629071966e-02f, + 5.038801581e-02f, 1.982850768e-02f, -1.381958276e-01f, 6.628738344e-02f, + -1.825296320e-02f, 5.780913052e-04f, -1.633086205e-01f, -2.333880216e-02f, + 1.554821879e-01f, -1.362152118e-02f, 6.948073395e-03f, -1.918535531e-01f, + 4.574542120e-02f, 2.484721318e-02f, 1.442078799e-01f, -2.316445298e-02f, + -8.308758261e-04f, -1.361337304e-01f, -8.755560219e-02f, -2.797187679e-02f, + 1.528013796e-01f, -2.759878933e-01f, 1.814550348e-02f, -1.335791498e-01f, + 3.220952675e-02f, -6.955697387e-02f, 1.302151359e-03f, 1.096932739e-01f, + -5.129287019e-02f, -1.226977557e-01f, -1.221733987e-01f, -1.238120124e-01f, + -2.365205251e-02f, -4.411073774e-02f, 1.034073234e-01f, 5.269927904e-02f, + -2.485698275e-02f, -1.939394474e-01f, -8.009828627e-02f, 4.865321890e-02f, + 9.596024454e-02f, -1.217148080e-01f, 1.264140606e-01f, 5.003986135e-02f, + -2.747580037e-02f, 3.997590020e-02f, 3.259142488e-02f, -1.088424698e-01f, + -1.124405302e-03f, -7.470569760e-02f, 2.075111717e-01f, 1.132311150e-01f, + 4.136133566e-02f, 4.355413839e-03f, 1.354837138e-02f, -5.157851800e-02f, + -4.564728588e-02f, -5.167215690e-02f, 2.436002716e-02f, -4.415141791e-02f, + -5.384455994e-02f, 7.602821290e-02f, -6.480906159e-02f, -1.020971388e-01f, + -7.149634883e-03f, -2.490814775e-02f, -1.546691656e-01f, 6.861192733e-02f, + 7.042735070e-02f, -1.329471171e-01f, 2.471973374e-02f, -1.396549791e-01f, + -1.189655811e-01f, -2.304974012e-02f, 1.724504121e-02f, -1.378430799e-02f, + -1.345156580e-01f, 1.064956635e-01f, 8.861456811e-02f, 7.362084091e-02f, + -7.202129066e-02f, -7.185968757e-02f, -4.876054078e-02f, -7.831207663e-02f, + -3.027702682e-02f, 1.672701836e-01f, -3.427142277e-02f, -1.356179416e-01f, + -4.490722343e-02f, -1.593114436e-01f, -7.422978431e-02f, -3.270254936e-03f, + 1.023224592e-01f, -6.457352638e-02f, -2.607419193e-01f, 2.471222356e-02f, + 1.604374498e-02f, -5.756900832e-02f, -9.920690209e-03f, 1.387059223e-02f, + 9.812509269e-02f, -3.588771820e-02f, 3.938080743e-02f, 1.347353309e-01f, + 3.636595979e-02f, 1.162209809e-01f, 1.138090715e-01f, -8.741644025e-02f, + -2.608823217e-02f, 9.533073008e-02f, -7.704078406e-02f, -4.399750009e-02f, + 2.066091634e-02f, -2.179349028e-02f, -3.235735372e-02f, 1.408220083e-01f, + 8.100952208e-02f, -9.275309741e-02f, 5.737849697e-02f, -4.753125086e-02f, + -1.662170980e-03f, 4.711693525e-02f, -1.289421618e-01f, 9.086211026e-02f, + -3.450519219e-02f, -3.105866909e-02f, 2.871094644e-01f, 8.178932220e-02f, + 8.258147538e-02f, 1.059810370e-01f, 7.377564907e-02f, -1.144656613e-01f, + 3.086313978e-02f, 6.923726201e-02f, 2.550574951e-02f, 2.190122306e-01f, + -2.607005276e-02f, 5.283524096e-02f, 4.835112393e-02f, 2.524055727e-02f, + -2.717728727e-02f, 1.405811161e-01f, 8.993862197e-03f, -3.435056284e-02f, + 2.582669072e-02f, 6.262878329e-02f, 8.355490118e-02f, 9.023719281e-02f, + -7.802009117e-03f, 1.502022892e-02f, 5.202479288e-02f, 2.069836773e-04f, + -4.577942193e-02f, 3.992459178e-02f, -7.402995229e-02f, -5.195466336e-03f, + -1.193309873e-01f, -3.793196287e-03f, -3.280271310e-03f, 8.095317334e-02f, + 1.819015145e-01f, 8.566540480e-02f, 1.702626944e-01f, -5.409504846e-02f, + 1.012609154e-01f, -9.001673758e-02f, -7.508600503e-02f, 5.634442717e-02f, + -1.564728469e-01f, -1.630267501e-01f, 4.187765718e-02f, 1.079691350e-01f, + -2.177028544e-02f, 1.188437194e-01f, -3.170304373e-02f, -3.119981661e-02f, + 8.493233472e-02f, 1.963110408e-03f, 4.272899404e-02f, -2.973626601e-03f, + -1.349562109e-01f, -5.553593487e-02f, -6.152821332e-02f, -1.341642886e-01f, + 7.223047316e-03f, 9.904375672e-02f, -6.615939736e-02f, 9.814395569e-03f, + 2.766508237e-02f, -9.559281915e-02f, 6.578607112e-02f, -2.697123215e-02f, + 4.217116535e-02f, 7.064551860e-02f, -1.615975797e-01f, 2.652135491e-02f, + -7.888709754e-02f, 1.794595085e-02f, -1.223237738e-01f, 4.403679445e-02f, + 2.685058489e-02f, 1.704865992e-01f, 2.223766968e-02f, 1.474511176e-01f, + -7.288559526e-02f, 7.095144689e-02f, 1.222073659e-01f, 1.220812649e-02f, + -1.651390642e-02f, 2.202737145e-02f, -1.760207862e-01f, 2.766327746e-02f, + 4.155780002e-02f, -2.125173062e-02f, -8.292762190e-02f, 4.540300928e-03f, + -7.182530127e-03f, -9.762480110e-02f, -3.169471631e-03f, 4.976629466e-02f, + -1.051305234e-01f, 9.396774322e-02f, 4.424523562e-02f, 1.032675430e-01f, + 1.031586304e-01f, 7.384692878e-02f, -1.177821308e-01f, -5.834511295e-02f, + 3.032128885e-02f, 5.827945471e-02f, 4.331748467e-03f, 1.217694208e-02f, + 1.577750966e-02f, -3.441529581e-03f, 1.059828233e-02f, -5.594921857e-02f, + 4.552852362e-02f, -5.548080429e-02f, 3.236653283e-02f, 9.196910076e-03f, + -4.117407650e-02f, 1.600287110e-01f, 7.289580256e-02f, -1.014461517e-01f, + -5.964700878e-02f, -1.096273437e-01f, -3.927149996e-02f, 1.990688443e-01f, + -1.991865225e-02f, 1.116052195e-01f, 4.106213897e-02f, -1.224268228e-01f, + -1.158252545e-02f, -5.900729448e-02f, 7.300239801e-02f, -8.632534742e-02f, + -3.390225768e-02f, 1.160761416e-01f, 1.929536313e-01f, 4.495363310e-02f, + -2.648904361e-02f, -1.471624970e-01f, 7.147988677e-02f, 3.893652186e-02f, + 6.525565684e-02f, 2.292766422e-02f, -4.096951336e-02f, 1.303684115e-01f, + -1.133483648e-01f, 1.217106357e-01f, 1.328906566e-01f, 1.667049341e-02f, + 1.061677933e-01f, -1.471052915e-01f, 6.438375264e-02f, 4.947506264e-02f, + 4.427284747e-02f, 6.450100988e-02f, 7.953462750e-02f, 4.625179619e-02f, + -1.701174676e-02f, 1.051514447e-01f, -2.350535057e-02f, 3.949660808e-03f, + -8.556451648e-02f, -8.835334331e-02f, -5.984091014e-02f, 8.242288232e-02f, + -1.276678890e-01f, 1.602799743e-01f, 5.478158221e-02f, -5.902396515e-02f, + -1.188940257e-01f, -9.349551797e-02f, 1.159504801e-01f, 1.093714125e-02f, + 1.313566864e-01f, 1.571892202e-01f, 1.667224616e-01f, 4.409389943e-02f, + 2.123716474e-02f, 3.197009489e-02f, 2.130468376e-03f, 5.963748693e-02f, + -1.960348934e-01f, -1.968779601e-02f, 3.241799399e-02f, -1.610270292e-01f, + 1.324145589e-02f, -8.623052388e-03f, 3.132020310e-02f, -7.492688298e-02f, + -5.577845499e-02f, -1.033838186e-02f, 2.888039500e-02f, 7.248455286e-02f, + -1.481945813e-01f, 7.495709509e-02f, 8.703804761e-02f, 1.300699115e-01f, + 6.426074356e-02f, 2.097794861e-01f, 2.756201476e-02f, 1.781183630e-01f, + -1.071959734e-01f, -3.777272254e-02f, 2.076444030e-02f, -6.940118223e-02f, + 1.311518997e-01f, -2.759714238e-02f, -1.843498200e-01f, 3.157430515e-02f, + -1.396805346e-01f, -7.023657858e-02f, 1.252273470e-01f, 6.733411551e-02f, + 1.892275661e-01f, -1.270808578e-01f, 5.610756204e-02f, 9.213858098e-02f, + 8.218814433e-02f, 1.677082479e-02f, 9.353220463e-02f, 1.152580604e-01f, + 1.529173646e-02f, 1.558321863e-01f, 5.534462631e-02f, 1.951696873e-01f, + -1.058080643e-01f, 1.418108791e-01f, 5.304847658e-02f, 1.041353717e-01f, + 4.548324645e-02f, 1.602901965e-01f, 1.056383625e-01f, -1.703448780e-02f, + 8.324596100e-03f, -1.353128701e-01f, 8.475313894e-03f, -6.601252407e-02f, + 1.397977583e-02f, -5.339860916e-02f, -1.574404538e-01f, 3.972944990e-02f, + 2.274009585e-02f, 9.817916155e-02f, -1.612762921e-02f, -4.018419981e-02f, + 1.015299559e-01f, 4.264631774e-03f, 2.837100998e-02f, -7.393786311e-02f, + 3.447066993e-02f, -1.178413481e-01f, -3.718630970e-02f, 1.175669655e-01f, + -7.038456947e-02f, -1.143417973e-02f, 2.178146690e-02f, 1.504948288e-01f, + -2.151067406e-01f, -3.547714651e-02f, -1.684373245e-02f, 3.898276016e-02f, + 1.001950651e-01f, -7.349027321e-03f, 1.119403839e-01f, -6.598203629e-02f, + -1.888237298e-01f, -4.385680333e-02f, 3.141154349e-02f, 9.229108691e-02f, + -2.656811103e-02f, 2.698833123e-02f, -7.386122644e-02f, -1.726500690e-02f, + -3.132284619e-03f, -1.017260849e-01f, -2.813648805e-02f, 4.902525991e-02f, + -1.441447735e-01f, 7.815957069e-02f, 4.068587348e-02f, 6.935852021e-02f, + -5.908402428e-02f, 7.841574028e-03f, -5.953545868e-02f, -1.344941258e-01f, + -1.024105120e-02f, 1.122114528e-02f, -3.026431426e-03f, 2.955010161e-03f, + 8.703500964e-03f, 1.288182884e-01f, 9.721278399e-02f, -1.077960730e-01f, + 6.722412258e-02f, -1.056688372e-02f, 2.348388173e-02f, -1.766787609e-03f, + -6.125847250e-02f, -3.659248352e-03f, -1.050199419e-01f, -4.754967242e-02f, + -1.149124578e-01f, -1.042283233e-02f, 7.916158438e-02f, 1.544440165e-02f, + -1.932846308e-01f, -3.311842307e-02f, 6.169041246e-02f, 2.073170803e-02f, + -1.745375223e-03f, -3.543070343e-04f, -2.061361074e-02f, 2.958171442e-02f, + -1.453213692e-01f, -1.977137625e-01f, -1.719848216e-01f, 1.431075782e-01f, + -2.591691352e-02f, 4.804430529e-02f, 8.009389788e-02f, -2.614040859e-03f, + -4.237511009e-02f, 2.801711112e-02f, 5.849189311e-02f, 7.571512368e-03f, + 1.232212633e-01f, -6.771451980e-02f, -8.909252286e-02f, 1.491065472e-01f, + -1.004581824e-01f, 1.024966389e-01f, -2.578403242e-02f, -1.494716387e-02f, + 9.000159055e-02f, -6.633031368e-02f, -4.673772678e-02f, -2.527083457e-02f, + 4.451373219e-02f, -1.469389070e-02f, -1.276194304e-01f, -1.047135368e-01f, + 5.789456517e-02f, -7.287259400e-02f, -1.044927463e-01f, -1.015333533e-01f, + 6.856403500e-02f, 1.001011804e-01f, -6.840130687e-02f, 1.967852749e-02f, + 1.296016872e-01f, -1.056260988e-01f, -1.456735432e-01f, 1.139268093e-02f, + -3.662599996e-02f, -5.098615587e-02f, 8.174752444e-02f, 8.200012892e-02f, + 2.784325555e-02f, -2.521388419e-02f, -7.012231648e-02f, -5.071324483e-02f, + -7.401966304e-02f, -9.452084452e-02f, 1.360537112e-01f, 2.809526213e-02f, + -1.095897108e-01f, 7.348340750e-02f, 2.187960781e-02f, -4.584895074e-02f, + 1.123239771e-01f, 8.169133961e-02f, -1.327072680e-01f, -1.060669497e-01f, + -6.039474905e-02f, -3.806243092e-02f, -1.565297949e-03f, 5.622610077e-02f, + 4.656527936e-02f, -6.110917404e-02f, 3.322927281e-02f, -1.459785998e-01f, + 1.002722532e-01f, -1.664977223e-01f, -7.867879234e-03f, 4.096973315e-02f, + -9.028876573e-02f, 4.738921672e-02f, 1.083141118e-01f, 3.466404602e-02f, + -8.882584982e-03f, -1.262725443e-01f, 6.623908132e-02f, 1.566562504e-01f, + 6.983572990e-02f, 3.411035985e-03f, -9.732217528e-03f, -8.510068804e-02f, + -1.985793412e-01f, -3.079930320e-02f, 1.224631909e-02f, -8.303388953e-02f, + -9.820540249e-02f, -1.423714161e-01f, 2.935338616e-01f, 6.318615377e-02f, + 4.901025817e-02f, 1.134050786e-01f, -8.614785969e-02f, 1.900012605e-02f, + 1.936724409e-02f, -7.083779573e-02f, 1.086707972e-02f, 4.283691198e-02f, + -3.497201577e-02f, -5.809958093e-03f, 1.018045768e-01f, 1.781626232e-02f, + 6.648320705e-02f, 1.118192002e-01f, -3.095070645e-02f, 1.104649305e-01f, + -1.413972117e-02f, -3.136937320e-02f, 2.865460142e-02f, 1.703333706e-01f, + 1.048450693e-01f, 1.378479302e-01f, 1.087214351e-01f, 1.364499703e-02f, + -1.952516101e-02f, 1.938817054e-01f, 6.120051071e-02f, 1.343817078e-02f, + -8.141126484e-02f, 4.106878862e-02f, -1.520278156e-01f, -7.227018476e-02f, + 7.892596722e-02f, -9.361016750e-02f, -1.346360613e-02f, -5.801450834e-02f, + -7.217092812e-02f, 8.547466248e-02f, 8.436136879e-03f, -1.264034510e-01f, + -1.771246493e-01f, -2.607061528e-02f, 1.814914346e-01f, 1.462689787e-02f, + -1.261614561e-01f, 3.717448935e-02f, 1.358706504e-01f, -3.456471488e-02f, + 4.798548296e-02f, -6.008410081e-02f, -4.183091223e-02f, 4.067544639e-02f, + 1.483734250e-01f, -7.664322108e-02f, -7.000693679e-02f, -1.364426166e-01f, + 2.998320386e-02f, -9.178408980e-02f, -9.854948521e-02f, -9.008251131e-02f, + -5.678822473e-02f, -2.605302446e-02f, -1.465761196e-02f, 8.559362032e-03f, + 8.900240809e-02f, 2.721506916e-02f, -3.747623786e-02f, 2.225210518e-02f, + 6.151036546e-02f, 4.761722684e-02f, 9.563764930e-02f, 5.931191519e-02f, + -1.208805013e-02f, 9.025167674e-02f, 9.698623419e-02f, 4.950363189e-02f, + 1.822706312e-02f, -5.831035227e-02f, -1.104162708e-01f, -2.382237650e-02f, + -2.455518954e-02f, -9.193600714e-02f, -4.760638997e-02f, 1.122608781e-02f, + -1.171908155e-01f, -7.738756249e-04f, 4.738820344e-02f, 3.777932376e-02f, + 4.619769752e-02f, -3.423701972e-02f, -1.476477981e-01f, -8.342522383e-02f, + -8.591048419e-02f, -5.652973428e-02f, 1.348348707e-02f, 2.551176352e-03f, + 5.488338321e-02f, 9.278026968e-02f, -3.314681584e-03f, -1.803301722e-01f, + 1.224420816e-01f, -5.628789589e-02f, -9.898892045e-02f, -1.275995523e-01f, + 4.380899668e-02f, 1.042784229e-01f, -1.078737155e-01f, -1.139759123e-01f, + -3.571577743e-02f, 7.406337559e-02f, 1.584980935e-01f, -1.396795809e-01f, + -2.109467238e-01f, -1.423402578e-01f, 3.562904894e-02f, 4.749726504e-03f, + -7.427835464e-02f, -1.068816800e-02f, 2.911543101e-02f, 8.857421577e-02f, + -1.178235784e-01f, -7.730859518e-02f, 2.710732445e-02f, -1.487378329e-01f, + -6.418302655e-02f, -8.098288439e-03f, -2.815596201e-02f, -3.838704154e-02f, + 1.093740463e-01f, -2.785845287e-02f, 2.833772451e-02f, 7.673562318e-02f, + -7.062152028e-02f, -8.330817521e-02f, 1.083718464e-01f, -8.752242476e-02f, + -1.464949101e-01f, -6.659172475e-03f, 6.729035825e-02f, 2.883406729e-02f, + 4.579276219e-02f, -3.861217573e-02f, -6.955114007e-02f, 1.542646736e-01f, + -1.429890394e-01f, 5.572171882e-02f, -6.311032921e-02f, -1.383082867e-01f, + 1.233240440e-01f, 2.454338130e-03f, 1.593420208e-01f, -8.969685435e-02f, + 8.830908686e-02f, -4.292216524e-02f, -5.645551905e-02f, -3.707737848e-02f, + 4.227712378e-02f, 3.350600228e-02f, 1.697172523e-01f, -7.965233177e-02f, + -2.069206834e-01f, -2.050250322e-01f, -1.753848791e-01f, 5.281411111e-02f, + -6.707731634e-02f, -1.609485894e-01f, -5.220112856e-03f, -1.712033711e-02f, + -7.506467402e-02f, -5.414178967e-02f, -9.109663218e-02f, -8.429776877e-02f, + 1.347187310e-01f, 4.749815539e-02f, 1.861580531e-03f, -8.980937302e-02f, + -2.230487764e-02f, -3.809716552e-02f, 7.368706167e-02f, -8.079472929e-02f, + 9.987806529e-02f, 1.593474671e-02f, 1.547587477e-02f, 6.123542041e-02f, + 1.863115840e-02f, -1.086704209e-01f, 8.331256360e-02f, 3.039314412e-02f, + 2.272511087e-02f, -5.042297021e-02f, 9.796536714e-02f, -1.166845113e-01f, + 2.115370706e-02f, -5.580087379e-02f, -7.873612642e-02f, -4.833561182e-02f, + -3.933135793e-02f, 1.095970869e-01f, 1.004637778e-01f, 6.396416575e-02f, + 8.636360988e-03f, -7.292015362e-04f, 1.288628131e-01f, -3.671141714e-02f, + 1.113315597e-01f, 1.111220047e-01f, -1.030864939e-01f, 6.182141975e-02f, + 8.376986533e-02f, -1.341337860e-01f, -3.423145041e-02f, 1.745675802e-01f, + 3.671529889e-02f, -1.708932221e-01f, -1.041388288e-01f, 1.114739180e-01f, + -1.868000999e-02f, 1.040590331e-01f, -1.074912250e-01f, 3.584436700e-02f, + 2.763145790e-02f, -7.920940407e-03f, -1.478436440e-01f, 9.435070679e-03f, + 4.378524423e-02f, 1.090422124e-01f, -7.914405316e-02f, -4.092962667e-02f, + -1.133708842e-02f, 3.725369647e-02f, 1.035851985e-01f, 1.365485042e-01f, + 2.003706992e-02f, -1.084037242e-03f, 1.541012526e-01f, -4.314354807e-02f, + 2.925822139e-02f, 2.370028198e-02f, -7.889482379e-02f, 2.918631211e-02f, + 1.412135512e-01f, 4.788787290e-02f, 6.024778262e-02f, -6.289133430e-02f, + 1.537352800e-01f, 3.751833737e-02f, 2.530549280e-02f, -1.929097995e-02f, + -8.284971118e-02f, -4.259669781e-02f, -1.490830481e-01f, -2.294539362e-01f, + 9.574881196e-02f, -7.524940372e-02f, 1.260614991e-01f, -1.415117085e-02f, + -4.959731922e-02f, 6.608832628e-02f, 1.756502539e-01f, 3.278245032e-02f, + -2.151247673e-02f, -1.288484335e-01f, 1.440279484e-01f, 1.667322665e-01f, + 7.142499089e-02f, -1.461967826e-01f, -1.002063975e-01f, -7.630158216e-02f, + -4.536400363e-02f, -1.841804711e-03f, 1.351083219e-01f, 1.568884104e-01f, + -3.111750819e-02f, -5.236341804e-02f, 3.207843378e-02f, 8.086503483e-03f, + -1.121352520e-02f, 2.815621160e-02f, -1.162473857e-01f, -1.321139280e-02f, + -2.875407692e-03f, -1.768679591e-03f, -1.009036005e-01f, -1.190996468e-01f, + -1.380669139e-02f, 3.640164807e-02f, 1.398360133e-01f, 2.233621106e-02f, + -4.709262028e-02f, 2.228040807e-02f, -5.081689358e-02f, -4.122023936e-03f, + 1.455131918e-01f, 5.027826875e-02f, -7.562945783e-02f, 1.006245762e-01f, + -7.994232327e-02f, 1.489776839e-02f, -4.382328317e-02f, 5.354470387e-02f, + -1.442205310e-01f, 9.075815231e-02f, -4.351614416e-02f, -5.796855316e-02f, + -1.717505902e-01f, 1.988324523e-01f, 4.604851454e-02f, 9.473185241e-02f, + 6.421341002e-02f, -4.183651879e-02f, 1.285035163e-01f, -8.810232393e-03f, + 1.314797699e-01f, -1.296869814e-01f, -1.990418136e-02f, -5.973499641e-02f, + -4.344261438e-02f, -1.405483205e-02f, -2.013176866e-02f, 9.562436491e-03f, + -8.707509935e-02f, 1.351395398e-01f, -9.012128413e-02f, -4.500014707e-02f, + 7.918126881e-03f, -6.508667022e-02f, -2.859764732e-02f, -5.536966398e-02f, + -4.625404254e-02f, 3.903378919e-02f, 4.372547567e-02f, -3.603984788e-02f, + -6.788110733e-02f, -2.172779888e-01f, 9.171255864e-03f, 7.370899431e-03f, + -1.209394634e-01f, -4.098739848e-02f, 1.917876303e-01f, -3.315021470e-02f, + -4.182671383e-02f, 1.707103476e-02f, 9.721752256e-02f, 2.541172132e-02f, + 1.225984842e-01f, -7.282491773e-02f, 1.607023031e-01f, 9.951250628e-03f, + 5.629366264e-02f, -2.528796159e-02f, 1.294360906e-01f, -6.607404351e-02f, + 1.363015026e-01f, -9.110168368e-02f, 3.058613278e-02f, 6.557318568e-02f, + 1.211590469e-01f, 1.100687236e-01f, -1.577587798e-02f, 1.038156301e-01f, + 4.779414088e-02f, -1.938269474e-02f, -3.252274916e-02f, 5.541870371e-03f, + -1.732033193e-01f, 1.384350210e-01f, 5.196752772e-02f, 1.461569127e-02f, + 1.273690015e-01f, 4.220497794e-03f, 2.006192226e-03f, 4.836619645e-02f, + -2.167081237e-01f, -6.220081821e-02f, 2.216063291e-01f, -1.041071489e-01f, + 6.529912353e-02f, 9.566164017e-02f, -1.977324672e-02f, -5.955103040e-02f, + -4.028828442e-02f, -1.270746589e-01f, 2.124866396e-01f, 1.098496616e-01f, + 8.002408780e-03f, -1.170400064e-02f, 9.676624089e-02f, -4.998018965e-03f, + -4.871750250e-02f, 1.283669099e-02f, 7.536966354e-02f, 1.670609862e-01f, + 9.114371240e-02f, 8.398265392e-02f, 5.682165921e-02f, 2.615898475e-02f, + 2.439389005e-02f, 2.556121722e-02f, 3.377804300e-03f, -1.759183593e-02f, + -1.307068318e-01f, 8.223105222e-02f, 7.390920818e-02f, -9.327580221e-03f, + -9.052932262e-02f, -5.534065515e-02f, 5.032039434e-02f, 4.108244553e-02f, + 7.943122089e-02f, -1.613748223e-01f, -1.501483470e-01f, -1.185868010e-01f, + 1.100929230e-01f, -4.627566785e-02f, 3.723938426e-04f, 1.877968907e-01f, + 4.176706134e-04f, 1.405756325e-01f, 2.206131816e-02f, -3.434332088e-02f, + -1.503558457e-01f, -4.694017768e-02f, 1.203269288e-01f, 3.360045701e-02f, + -6.147215143e-03f, 4.824674502e-02f, 9.504330158e-02f, -2.512346581e-02f, + 2.206452936e-02f, 3.627560660e-02f, -3.392249718e-02f, -1.047018468e-01f, + -7.254152000e-02f, 1.268081218e-01f, -9.318353981e-02f, 3.411578014e-02f, + -1.326782554e-01f, 2.216200829e-01f, 7.375219464e-02f, 9.263729677e-03f, + -8.578296751e-02f, -5.240873899e-03f, 1.102590654e-02f, 2.628386766e-02f, + 1.017530337e-01f, -3.382790461e-02f, 9.677303955e-03f, -1.725633070e-02f, + -3.938936070e-02f, 1.084223464e-01f, -8.313645422e-02f, -6.364169717e-02f, + 7.197479904e-02f, 1.429924071e-01f, -1.571810059e-02f, 1.083119288e-01f, + 1.423892975e-01f, 9.669051506e-03f, 5.539768189e-02f, -4.444902763e-02f, + -3.196867928e-02f, 3.547105193e-02f, -1.218599901e-01f, 6.853571534e-02f, + 1.462637484e-01f, 3.908382729e-02f, 1.845900565e-01f, -1.232246589e-02f, + 1.221323907e-01f, -1.523511857e-02f, 2.128398418e-02f, -1.190242730e-02f, + -5.605372414e-02f, -7.778059691e-02f, 8.272057772e-02f, -3.126008809e-02f, + -3.744802997e-02f, -1.308332384e-01f, 1.942116581e-02f, 3.342060000e-02f, + 1.728013903e-02f, -7.715934189e-04f, -7.708833436e-04f, -7.722702622e-02f, + 4.987590760e-02f, -1.543602049e-01f, -1.406815052e-01f, -5.131122470e-02f, + -3.263199329e-02f, 5.685358122e-02f, -5.158987269e-02f, -6.302924361e-03f, + -8.504059911e-02f, -1.035118401e-01f, 6.385813653e-02f, -6.859859079e-02f, + -2.619900554e-02f, -5.839699414e-03f, -1.193132065e-02f, -8.802299947e-02f, + 7.849336416e-02f, -4.784941673e-02f, 3.597348183e-02f, -1.737360209e-01f, + -1.985224634e-01f, 5.001046136e-02f, 8.197234571e-02f, 9.229875356e-02f, + -6.589781493e-02f, 7.681355625e-02f, 1.347462833e-01f, -1.279792786e-01f, + -2.609503269e-01f, 7.108233124e-02f, 2.923470736e-02f, -5.584707856e-02f, + -8.011016995e-02f, -1.745207012e-01f, -1.432438642e-01f, -8.386051655e-02f, + 3.435326368e-02f, 1.499078721e-01f, -3.857333958e-02f, -4.278809205e-02f, + -6.558801234e-02f, -3.233800083e-02f, 5.972189456e-02f, -2.789720148e-02f, + -6.167889759e-02f, 1.049000304e-02f, -6.359845400e-02f, 1.837274805e-02f, + -1.141545027e-01f, -6.349517498e-03f, -1.334763914e-01f, 1.972439736e-01f, + -2.332270518e-02f, -7.131555676e-02f, -4.895296413e-03f, 1.576907374e-02f, + 1.787707210e-01f, -1.078925505e-01f, 1.431176662e-01f, -1.344321370e-01f, + -1.582085527e-02f, -9.751606733e-02f, 1.231416687e-01f, 1.284914464e-02f, + -2.741316799e-03f, 4.205251485e-02f, 2.191846259e-02f, -6.598102394e-03f, + -6.773409247e-02f, -1.800037175e-02f, 1.881305873e-02f, -7.420255244e-02f, + 1.766454875e-01f, -9.549779445e-02f, 1.047127694e-02f, 5.552842468e-02f, + -1.523089260e-01f, 1.431130990e-02f, 8.172299713e-04f, 7.198575186e-04f, + 2.135095419e-03f, 2.440458164e-02f, -6.350102276e-02f, -2.086055931e-03f, + -1.847383976e-01f, 4.554929957e-02f, -5.893118307e-02f, 1.456973702e-01f, + 4.881595075e-02f, -1.299822628e-01f, 9.249535203e-02f, 6.081208121e-03f, + 9.614554793e-02f, -3.675071150e-02f, 1.042705867e-02f, 1.315351576e-01f, + -1.259087622e-01f, 7.551077753e-02f, 1.217530146e-01f, 8.108979673e-04f, + -1.320164464e-02f, -1.000596434e-01f, -7.671301067e-02f, 1.604793370e-01f, + 6.540852785e-02f, -1.942579299e-01f, 1.730958372e-01f, -7.021228224e-02f, + -4.680515453e-02f, -5.122844130e-02f, -2.965265699e-02f, 1.008914039e-01f, + 3.830258921e-02f, 9.449677169e-02f, 8.133554459e-02f, -1.474254578e-01f, + 2.081996351e-01f, -9.374946239e-04f, 2.027837187e-02f, -8.661715686e-02f, + 4.463486373e-02f, -1.229421422e-01f, 9.167722613e-02f, 9.127252549e-02f, + 4.640699551e-02f, 1.414595637e-02f, 6.269013137e-02f, -1.259368286e-02f, + 2.115193009e-01f, 1.134602800e-01f, -1.931444556e-01f, -9.960498661e-03f, + -4.808045179e-02f, -1.144235805e-01f, -5.088923033e-03f, 3.374677384e-03f, + -1.109631211e-01f, -1.380780488e-01f, -4.642435536e-02f, 5.123176053e-02f, + -1.752318591e-01f, 2.877256833e-02f, 5.053031072e-02f, -8.191625029e-02f, + -1.199528482e-02f, -5.414125696e-02f, -1.936492324e-02f, 2.863425761e-02f, + -4.100194201e-02f, 2.693980932e-02f, -9.146983176e-02f, -2.020387724e-02f, + -1.787387952e-02f, 3.889575228e-02f, 7.989688218e-02f, 4.070402123e-03f, + 5.557836220e-02f, 1.518203169e-01f, 6.820072234e-02f, 4.042296670e-03f, + 3.315542638e-02f, -1.176126748e-01f, 7.825447619e-02f, 3.884499893e-02f, + 1.289620697e-01f, -2.955529280e-02f, 7.813382894e-02f, 1.276332512e-02f, + -1.877213828e-02f, -4.921358079e-02f, 9.671270847e-02f, 2.728538401e-02f, + 9.877830744e-02f, -6.929337978e-02f, -4.769194499e-02f, -3.530897573e-02f, + 6.496119499e-02f, 5.668661371e-02f, 2.791602630e-03f, 8.866694756e-03f, + 1.256147772e-02f, -9.088169783e-02f, 1.001144946e-02f, 1.455803216e-01f, + 5.422528833e-02f, 1.550062001e-01f, -4.546000436e-02f, -1.444386542e-01f, + -7.926252671e-03f, 2.382833809e-01f, 4.005570710e-02f, 3.600006178e-02f, + 5.618651956e-02f, -5.460546538e-02f, 3.136863559e-02f, 4.382333905e-02f, + -5.820795521e-02f, 7.093742490e-02f, 1.082522199e-01f, 1.543958783e-01f, + -9.886429459e-02f, -3.836392984e-02f, 7.486741245e-02f, 5.928658321e-02f, + -2.820876613e-02f, -1.677309722e-02f, 1.805028170e-01f, -6.479197741e-02f, + -7.264472544e-02f, -1.028409973e-02f, 1.049383581e-01f, -7.424739003e-02f, + 3.617297858e-02f, 1.047079712e-01f, 1.421406586e-02f, -2.657158300e-02f, + -7.382592559e-02f, 1.459046304e-01f, -8.862923086e-02f, 1.391992718e-01f, + -4.902637377e-02f, -1.340505481e-01f, -1.123960540e-01f, -2.057045884e-02f, + -1.091292202e-01f, 1.119730696e-01f, 3.820329532e-02f, 1.884271950e-02f, + 7.451510057e-03f, -7.348103076e-02f, -1.928314269e-01f, -1.216515750e-01f, + 8.984109759e-02f, 1.682491414e-02f, 1.136169359e-01f, -6.738200784e-02f, + -1.264495999e-01f, 7.009845227e-02f, 1.134575754e-01f, -3.376660869e-03f, + -1.095234603e-02f, 8.035378531e-03f, 1.253390014e-01f, -1.066485271e-01f, + 8.707771078e-03f, 1.895603165e-02f, -1.506126821e-01f, -1.785423309e-01f, + -2.717488445e-02f, -3.513631225e-02f, 1.962332428e-02f, -7.347970270e-03f, + -1.138031110e-02f, 5.575679615e-02f, 2.317796461e-02f, -7.584346086e-02f, + -1.405858546e-01f, -1.238176823e-01f, 5.260443687e-02f, 4.886192828e-02f, + 2.639078349e-02f, 2.542749606e-02f, 7.717885077e-02f, -5.194770545e-02f, + 2.157983631e-01f, 1.070412919e-01f, -2.115694433e-02f, -1.530212760e-01f, + 1.755912788e-02f, 8.300077915e-02f, 1.422313601e-01f, -8.451854438e-02f, + -1.563164145e-01f, 2.082897872e-01f, 9.786454588e-02f, 1.463738382e-01f, + -1.131434739e-01f, 1.692525984e-04f, 4.046775773e-02f, -9.416767210e-02f, + -3.307568654e-02f, 1.028706133e-02f, -3.907011449e-02f, -4.337733984e-02f, + 7.494052500e-02f, 9.101843089e-02f, -1.410958078e-02f, 1.166981179e-02f, + -1.537673622e-01f, -9.586362541e-02f, -3.886631690e-03f, -1.078299284e-01f, + 3.650629520e-02f, -4.172674567e-02f, 4.733780399e-02f, 7.964020967e-02f, + 6.098920852e-02f, -1.672540605e-02f, 5.218967423e-02f, -1.060246229e-01f, + 1.076382864e-02f, 1.183628887e-01f, 2.549937367e-02f, 1.929394901e-01f, + -1.186716184e-01f, 1.269110665e-02f, -8.036974072e-02f, -3.003896028e-02f, + 2.574769594e-02f, -4.093884677e-02f, -1.205115765e-01f, -6.889203936e-02f, + 6.286011636e-02f, -1.821926213e-03f, 4.621840268e-02f, -1.818332821e-01f, + 6.529231369e-02f, 5.137151107e-02f, -1.101628877e-02f, -1.141430438e-02f, + 5.661490560e-02f, 5.655135494e-03f, 1.855136603e-01f, 2.837326936e-02f, + 6.981461495e-02f, -1.116147935e-01f, 1.492933631e-01f, -1.435339730e-02f, + -8.588096499e-02f, 4.879617319e-02f, -1.534596831e-01f, -1.986239105e-02f, + 2.795960195e-02f, 4.734658822e-02f, 8.001868613e-03f, 4.051968455e-02f, + 5.243413523e-02f, 8.481955528e-02f, 1.356408894e-01f, 7.335300744e-02f, + -1.269307137e-01f, 9.208497405e-02f, -9.940647334e-02f, 2.367061563e-02f, + 4.727083072e-02f, 1.792371273e-02f, -9.011500329e-02f, -8.697614819e-02f, + -4.260297120e-02f, 5.265474319e-02f, 7.458574139e-03f, 7.169757038e-02f, + -3.282502294e-02f, 2.806820907e-02f, -6.518766284e-02f, 3.728149086e-02f, + -4.205849394e-02f, -4.290143773e-02f, -6.116426364e-02f, 2.613179944e-02f, + 1.016132683e-01f, 9.138512611e-02f, -1.754593253e-01f, -7.281439006e-02f, + -7.573682815e-02f, 3.547107428e-02f, 2.393605374e-02f, -7.530352101e-03f, + -1.964791864e-02f, -4.467922822e-02f, 7.518866658e-02f, 1.897458173e-02f, + -3.838676214e-02f, -9.700331092e-02f, -3.865558282e-02f, -1.247909963e-01f, + -3.769527748e-02f, -6.454192847e-02f, -1.297047585e-01f, 1.001084223e-02f, + -4.524986446e-02f, 1.616453379e-02f, 5.847487971e-02f, -1.406340022e-02f, + 9.214115143e-02f, 1.414358318e-01f, -3.375395015e-02f, -5.920559913e-02f, + -5.921936780e-02f, -8.934786916e-02f, 3.753531724e-02f, -5.357431620e-02f, + -8.004363626e-02f, 9.895810485e-02f, -5.782137439e-02f, 7.510855049e-02f, + 9.606081247e-02f, 1.232476681e-01f, -4.856920242e-02f, -4.256644472e-02f, + -1.105043516e-01f, -6.509191543e-02f, -1.937166415e-02f, -1.475410014e-01f, + -8.423905075e-02f, -7.181604207e-02f, -4.118050262e-02f, 1.507313922e-02f, + 1.136562005e-01f, -6.905849278e-02f, -1.219434142e-01f, 1.596755385e-01f, + 1.307609379e-01f, 1.134356484e-02f, 2.973324358e-01f, -1.324874759e-01f, + 1.194981858e-01f, -1.476336867e-01f, 8.202319592e-02f, -1.838636100e-01f, + -1.956211329e-01f, 2.498352677e-01f, -1.529135043e-03f, -1.220067684e-02f, + -8.379802853e-02f, 8.397427201e-02f, 5.692709982e-02f, 2.218225971e-02f, + 1.269035339e-01f, 7.458941638e-02f, 4.386213049e-02f, 4.607973620e-02f, + -1.467250194e-02f, -1.016276553e-01f, 3.757601604e-02f, -1.089796722e-01f, + 8.720993251e-02f, 1.342004538e-01f, 1.146146730e-01f, 6.452882290e-02f, + 1.642638445e-02f, -1.991339475e-01f, -1.295169294e-01f, -3.729040921e-02f, + -2.392785810e-02f, 1.225302462e-03f, -4.510226101e-02f, -1.076435149e-01f, + 5.161654949e-02f, -4.695795104e-02f, -2.352802642e-02f, 8.503142744e-02f, + 4.050557315e-02f, -8.694531024e-02f, -7.348299026e-02f, -1.457304507e-02f, + -3.893816471e-02f, -2.231595479e-02f, 2.249414474e-02f, -1.549674869e-01f, + 1.299195085e-02f, 3.827739134e-02f, -8.457387984e-02f, -3.215600550e-02f, + -7.696548849e-02f, 4.574692249e-02f, -3.584200144e-02f, 3.778137639e-02f, + 3.450296447e-02f, -3.546055406e-02f, 1.605662405e-01f, -9.532219172e-02f, + -1.705796570e-01f, 5.110542849e-02f, -6.949002296e-02f, 4.561755061e-02f, + 2.418382764e-01f, 1.837532371e-01f, 7.073125988e-02f, 3.496122733e-02f, + -2.596339583e-01f, 7.388227433e-02f, -1.287803352e-01f, -1.458101720e-02f, + -1.340084970e-01f, -4.739374295e-02f, 1.076351758e-02f, 7.715866715e-02f, + 8.913766593e-02f, 1.319951713e-01f, -1.519380659e-01f, 1.146871299e-01f, + 4.312570393e-02f, -1.213366240e-01f, 1.207031161e-01f, -1.527213007e-01f, + 1.834176481e-01f, -3.555499762e-02f, -2.884590439e-02f, -7.830779068e-03f, + 9.381615371e-02f, -1.748762466e-02f, 3.506716341e-02f, -1.238166466e-01f, + 1.939138770e-02f, 3.379959986e-02f, -9.240941703e-02f, -5.320940912e-02f, + 1.195237562e-01f, 5.382291600e-02f, 1.207639836e-02f, -1.274402533e-02f, + 1.195948049e-01f, -3.661486134e-02f, -2.469128668e-01f, 3.166322783e-02f, + -4.318975657e-02f, -1.149400547e-01f, 1.417538822e-01f, -5.356597155e-02f, + 6.771522760e-02f, 1.391390860e-01f, 3.967012092e-02f, 3.352909698e-04f, + -5.614446849e-02f, -6.410452724e-02f, -6.737368554e-02f, 4.689629748e-02f, + 3.602770343e-02f, -8.103843033e-02f, -1.032649502e-01f, -7.314212620e-03f, + 1.131067500e-01f, 9.038756788e-02f, 1.888645068e-02f, -1.487745196e-01f, + 1.441267133e-02f, -6.971130520e-02f, -5.765985698e-02f, 5.498597771e-02f, + 3.411087766e-02f, -2.027784847e-02f, -1.275109053e-01f, 7.567300647e-02f, + -4.966874793e-02f, -1.873062924e-02f, 3.232591599e-02f, 2.885910496e-02f, + -2.175316773e-02f, 3.404900432e-02f, 6.947066635e-02f, -6.652627606e-03f, + -5.282942578e-02f, -7.173412293e-02f, -1.532112360e-01f, -3.656224534e-02f, + 1.029789727e-02f, -7.546566427e-02f, -1.335652620e-01f, -2.097273804e-02f, + -7.662624866e-02f, 1.294575930e-01f, -9.309914708e-02f, 1.626383513e-02f, + -6.616557389e-02f, 7.524861395e-02f, -1.120863110e-01f, 8.160450310e-02f, + 1.017274894e-02f, 1.070617363e-01f, -5.061617494e-02f, 6.625490636e-02f, + 3.076260351e-02f, 1.646465436e-02f, 2.175421827e-02f, -6.772590429e-02f, + -2.528576180e-02f, 1.376584452e-02f, 9.183696471e-03f, 4.908579960e-02f, + 4.409089684e-02f, -2.212400287e-01f, 5.486828741e-03f, -6.222321838e-02f, + -2.631344541e-04f, -1.877280697e-02f, 1.187934261e-02f, 1.133501306e-01f, + 3.191367537e-02f, 3.845570236e-02f, -5.757921934e-02f, 8.883665502e-02f, + -3.033953346e-02f, 5.160860345e-02f, 3.721451387e-02f, -5.993353948e-02f, + -1.987341326e-03f, 3.078211844e-02f, -2.213190347e-01f, 7.739623636e-02f, + 1.389278471e-01f, 5.479147285e-02f, -8.775179088e-02f, 8.883917332e-02f, + -5.983211473e-02f, 1.664908677e-01f, 2.755815722e-02f, -3.913511708e-02f, + 1.493972689e-01f, -3.934684768e-02f, 7.362747192e-02f, 1.637753844e-01f, + 9.423030540e-03f, -7.611130923e-02f, -1.364317723e-02f, 8.445658721e-03f, + 6.567967683e-02f, 2.952150814e-02f, -6.848453730e-02f, -1.360063553e-01f, + -1.544585451e-02f, -1.209637672e-01f, 1.901783608e-02f, 2.629074082e-02f, + 2.235405594e-01f, -7.739066333e-02f, 6.951663643e-02f, -8.808691055e-02f, + -7.204473764e-02f, 9.350145608e-02f, -9.546533227e-02f, 1.338897645e-01f, + -1.019195169e-01f, 5.070615560e-02f, 1.013445333e-01f, -2.295248955e-02f, + -1.285352111e-01f, -8.933914453e-02f, -2.248958498e-02f, -1.312151086e-03f, + -2.195850015e-02f, 6.951210648e-02f, -5.861400813e-02f, 5.752367899e-02f, + 1.606895030e-02f, -1.323905438e-01f, -4.345209152e-02f, 2.573134191e-02f, + 6.513653323e-03f, -5.245823413e-03f, -1.205563620e-01f, -1.456673145e-01f, + 4.167900886e-03f, 7.423074543e-02f, 5.147639289e-02f, -3.115483001e-02f, + 1.722457528e-04f, -1.362990588e-01f, -1.263097823e-01f, 9.219752997e-02f, + -2.501650155e-02f, 2.870653383e-02f, 7.881368697e-02f, -1.293275952e-01f, + 7.558381557e-02f, 4.456255957e-02f, -8.112911019e-04f, -1.057922244e-01f, + -6.011342630e-02f, -6.385220587e-02f, -9.653844871e-03f, 2.451710775e-02f, + 5.032895878e-02f, -9.033589810e-02f, 2.787606418e-01f, -8.339758962e-02f, + 1.729972102e-02f, -2.993678302e-02f, -2.177399956e-02f, -3.438210860e-02f, + 1.173791960e-01f, 1.334181875e-01f, -1.631672382e-01f, -4.604021832e-02f, + -2.176195085e-01f, 3.368359804e-02f, -1.818473078e-02f, 3.846105933e-02f, + 8.558911085e-02f, 2.858322673e-02f, -2.902255021e-02f, -6.337676942e-02f, + 2.032974176e-02f, -6.807297468e-02f, 5.072496086e-02f, 2.809352987e-02f, + 5.209431052e-02f, 9.627967328e-02f, 3.577443585e-02f, 1.794736832e-01f, + 1.275315583e-01f, 1.002180576e-01f, 1.163551733e-01f, -3.834103234e-03f, + -5.148091912e-02f, -1.820567623e-02f, -9.276411682e-02f, -1.777440459e-01f, + -7.444911450e-02f, -2.259034663e-02f, -1.478055026e-02f, -5.454673432e-03f, + -1.742293499e-02f, -7.367841899e-02f, -7.220498472e-02f, 3.036973067e-02f, + 1.730570048e-01f, 1.247209087e-01f, -3.268731013e-02f, 6.025344878e-02f, + 8.708509803e-02f, 1.675846055e-02f, 2.042658441e-02f, 1.579862982e-01f, + 4.776027519e-03f, 9.517323226e-02f, -3.745424375e-02f, -1.821308136e-01f, + -1.427608542e-02f, -3.124515153e-02f, 6.277257204e-02f, -8.550219238e-02f, + 1.114348844e-01f, 5.967160314e-02f, -1.086176112e-01f, 1.041389927e-01f, + 2.939166874e-02f, -3.821772337e-02f, 8.265654743e-02f, -3.130448982e-02f, + -1.387663484e-01f, -2.323993668e-02f, -2.649343573e-02f, -1.447734889e-02f, + 1.256745011e-01f, 1.895539016e-01f, 1.893142611e-02f, 1.021852270e-01f, + 4.983480647e-02f, -1.610372812e-01f, -1.193179861e-01f, -8.871613443e-02f, + -5.059004202e-02f, 5.044833571e-02f, 1.841069311e-01f, -3.855198249e-02f, + 4.562844057e-03f, 7.836727053e-02f, 4.560735449e-02f, 3.325298429e-02f, + 4.815649986e-02f, 1.365869120e-02f, 6.511746440e-03f, 1.040755287e-01f, + 8.793121576e-02f, -1.281504929e-01f, -4.170548916e-02f, 8.394345641e-02f, + 6.132013351e-02f, -3.256713599e-02f, -5.286659673e-02f, -1.338117719e-01f, + -1.790054515e-02f, 1.023664996e-01f, 2.214996144e-02f, 6.595613807e-02f, + 4.972592741e-02f, -1.017365903e-01f, -1.473385841e-01f, -3.240866214e-02f, + 5.744360387e-02f, -1.145895720e-01f, 4.724308476e-02f, 7.734023780e-02f, + -7.644921541e-02f, -7.697784156e-02f, -1.075551938e-02f, -8.601426147e-03f, + -1.582769491e-02f, -2.249459177e-01f, 2.284696549e-01f, -6.571944337e-03f, + -8.149529994e-02f, -1.374796592e-02f, -1.970854029e-02f, 4.286082461e-02f, + -6.048753392e-03f, 1.681180857e-02f, 6.659633666e-02f, 2.904191054e-02f, + -1.004954875e-01f, -6.872544438e-02f, -1.223841906e-01f, -8.290982805e-04f, + 1.676461697e-01f, -1.756853014e-01f, -1.020532101e-01f, 1.442193333e-02f, + 7.522987574e-02f, 1.511260569e-01f, 1.509545445e-01f, 1.064179018e-01f, + -2.075394150e-03f, 1.020942107e-01f, 3.470191360e-02f, 2.801717259e-02f, + -6.766150147e-02f, -1.328041852e-01f, 1.500027478e-01f, 1.453780383e-01f, + -3.482196108e-02f, -6.391502917e-02f, -3.168615326e-02f, -3.132367507e-02f, + 5.622903258e-02f, 7.083659992e-03f, -1.128196418e-01f, -7.472188771e-02f, + -8.739767224e-02f, 3.492547199e-02f, 1.268129200e-01f, 2.780067734e-02f, + 7.610239554e-03f, -1.269277651e-02f, -9.606836736e-02f, 8.379964158e-03f, + 1.034117863e-01f, -7.123947889e-02f, -4.713464901e-02f, -1.146080345e-02f, + 5.939702690e-02f, 3.919940814e-02f, -1.850788854e-02f, 7.451078296e-02f, + 1.888178140e-01f, 1.477557421e-01f, -8.931501955e-02f, -4.536867887e-02f, + -5.080710724e-02f, 7.746816427e-02f, 1.072205529e-01f, 5.915289279e-03f, + -8.041771129e-03f, -7.824393362e-02f, -2.665282190e-01f, 1.624172926e-02f, + -2.555783140e-03f, -4.352713376e-02f, -7.180999219e-02f, -1.121921092e-01f, + -2.733229846e-02f, 7.269040495e-02f, 2.330308035e-02f, 1.572948322e-02f, + 6.756034493e-02f, 2.517275326e-02f, -5.028030649e-02f, -1.080633625e-01f, + 8.389665745e-03f, 3.320119157e-02f, -3.873369843e-02f, -1.410394558e-03f, + -7.599908113e-02f, 1.751826555e-01f, 9.578912705e-02f, -7.196401805e-02f, + 1.321483124e-02f, 1.438698024e-01f, -1.203750148e-01f, 2.497219667e-02f, + 6.397499889e-02f, -1.002706364e-01f, -6.429537199e-03f, 1.246805396e-02f, + 3.243336454e-02f, 1.583172940e-02f, 1.056749932e-02f, -3.463192144e-03f, + 5.513893813e-02f, -1.703185588e-01f, 6.655533612e-02f, 3.140140325e-02f, + 4.850063007e-03f, 1.537353694e-01f, 9.982997552e-03f, 1.348421276e-01f, + 5.712429062e-02f, -1.726014465e-01f, 6.257623434e-02f, 7.608824968e-02f, + 6.855557114e-02f, -1.213669404e-01f, -1.474000663e-01f, -4.290152714e-02f, + 3.634073213e-02f, 4.634710401e-02f, 8.966388553e-02f, -9.725681692e-02f, + 6.618108135e-03f, -5.693509802e-02f, -5.995207932e-03f, 1.505608410e-01f, + 1.659469754e-01f, -3.344574198e-02f, 2.731512114e-02f, 6.501068175e-02f, + 6.537845358e-03f, 1.259426475e-01f, -1.444583386e-01f, -1.159438938e-01f, + -1.823253557e-02f, 3.261572868e-02f, -1.289655268e-01f, 1.420246903e-02f, + -4.084736574e-03f, -1.085342020e-01f, -1.347494591e-02f, 1.406714227e-02f, + -9.043660015e-02f, -2.154678106e-02f, 8.268592879e-03f, 4.939549416e-02f, + 6.262114644e-02f, 7.528153807e-02f, 8.756898344e-03f, 3.429617267e-03f, + -5.865021050e-02f, -3.408242390e-02f, 1.026675627e-01f, -5.892729387e-02f, + 2.502277121e-02f, -1.319685131e-01f, 6.498347223e-02f, 1.055192426e-01f, + 1.179769561e-01f, 1.096488759e-01f, 7.303265482e-02f, 2.784822322e-02f, + -1.507647932e-01f, -1.736492664e-01f, 4.774387181e-02f, -5.108827353e-02f, + 1.927052997e-02f, 2.109603398e-02f, -9.655161202e-02f, 8.333755657e-03f, + -2.286224663e-01f, 2.624871582e-02f, 1.042903215e-01f, 6.870868802e-02f, + 2.923074737e-02f, -7.839566469e-02f, 1.726846695e-01f, 1.102877706e-01f, + 1.302095801e-01f, -6.328099221e-02f, -1.431437582e-01f, -1.207958013e-01f, + -1.564998180e-01f, -3.439045325e-02f, 1.643935032e-02f, -1.425614231e-03f, + 8.699419908e-03f, 9.198237956e-02f, -1.113231480e-01f, -1.777018160e-01f, + -3.537945077e-02f, 4.691111296e-02f, -1.382874325e-02f, 9.933646768e-03f, + -5.735871568e-02f, -6.107557938e-02f, 6.140362937e-03f, -7.936444134e-03f, + -8.899957687e-02f, -6.556135416e-02f, 8.607338369e-02f, -1.307047307e-01f, + 2.731545269e-02f, 1.367855966e-01f, 5.471687019e-02f, 8.066232502e-02f, + 9.791559540e-03f, 1.324890405e-01f, -2.641647356e-03f, -1.562573165e-01f, + -4.047992080e-02f, 5.779990181e-02f, -5.602107570e-02f, 6.850139797e-02f, + -1.218164861e-01f, -6.326209754e-02f, -1.853421144e-02f, -1.214102134e-01f, + -1.172070131e-01f, -4.216901585e-02f, -8.372600190e-03f, -5.041542277e-02f, + -4.384320974e-02f, -4.314829409e-02f, 1.121632308e-01f, -7.380419225e-02f, + -1.147959009e-01f, 2.283175103e-02f, 3.174508736e-02f, 7.548627257e-02f, + 4.603909701e-02f, -2.269730419e-01f, -1.852534898e-02f, 1.195821911e-01f, + -1.250751317e-01f, -1.200135052e-01f, -1.383313984e-01f, 4.003836587e-02f, + -5.116083473e-02f, 1.283928603e-01f, 6.255165488e-02f, -6.628915668e-02f, + -1.025861055e-01f, 1.001238674e-01f, 1.511171758e-01f, -1.007803306e-01f, + 1.690167934e-01f, -7.535747439e-02f, 7.804931700e-02f, -5.947675928e-02f, + 2.529253438e-02f, 1.317740977e-01f, -3.266162425e-02f, -6.060644239e-02f, + 1.561207138e-02f, -1.586017758e-02f, 9.423398226e-02f, 1.284184456e-01f, + 1.434992999e-01f, 1.283823252e-01f, -1.778330468e-02f, 3.452355042e-02f, + 1.402209140e-02f, -9.166830033e-02f, 1.125425920e-01f, -1.153621376e-01f, + -2.035102695e-01f, 2.078791261e-01f, 4.639336094e-02f, 9.551734664e-03f, + -1.302001476e-01f, -6.032646075e-02f, -6.081471220e-02f, 7.604368776e-02f, + -9.874836355e-02f, 4.040369391e-02f, 1.421971917e-01f, 4.270182922e-02f, + -2.485978603e-02f, 5.018717796e-02f, -1.234070286e-01f, 3.201100603e-02f, + 1.337717660e-02f, 1.462883651e-01f, -6.618641317e-02f, 1.293544378e-02f, + -4.968378320e-02f, 7.958542556e-02f, -6.420858949e-02f, -1.088531017e-01f, + 1.235860065e-01f, -2.712734975e-03f, 2.241564356e-02f, -8.424961567e-02f, + -1.747308373e-01f, 9.526088834e-02f, -6.490782648e-02f, 1.155156922e-02f, + -8.144778013e-02f, -6.171996146e-02f, 8.165782690e-02f, -6.627590954e-02f, + 8.560332656e-02f, -6.758666039e-02f, -1.477672607e-01f, -2.734961733e-02f, + -1.368945930e-02f, 1.647054963e-02f, -4.535220191e-02f, -2.035282254e-01f, + -3.816360980e-02f, 8.446573466e-02f, 5.468028039e-02f, -2.189079300e-02f, + 7.576646656e-02f, -5.416696146e-02f, -1.150194462e-02f, -1.926350221e-02f, + -5.439579859e-02f, 2.588243596e-02f, 4.358215630e-02f, -1.847182512e-01f, + 1.284612268e-01f, -9.635195881e-02f, -6.853554398e-02f, 5.199211463e-02f, + 7.449576259e-02f, 3.152487800e-02f, -2.179029584e-02f, -1.830094308e-01f, + -5.227561295e-02f, -8.856254071e-02f, 4.821381345e-02f, 4.798709881e-03f, + -1.125438362e-01f, -3.996284679e-02f, 1.171243377e-02f, -1.307178885e-01f, + 2.753026970e-02f, 1.021343917e-01f, -1.523090452e-01f, -4.648066591e-03f, + -3.586577950e-03f, -9.688792750e-03f, -6.533654779e-02f, -8.783073723e-02f, + -1.462640017e-01f, -6.463421136e-02f, -8.734513819e-02f, -1.270028017e-02f, + 1.788410172e-02f, 6.157788914e-03f, 7.791766524e-02f, 5.796289071e-02f, + 1.848090999e-02f, -1.202064827e-01f, -5.896022543e-02f, -1.147420108e-01f, + -3.800234990e-03f, -2.554292791e-03f, 1.894263327e-01f, -1.816688925e-01f, + 1.037362665e-01f, 6.171387061e-02f, 8.993907273e-02f, -1.316493005e-01f, + 3.427043557e-02f, 8.790240437e-02f, 1.886881515e-02f, 1.050316077e-02f, + -4.435678199e-02f, 6.286967546e-02f, -4.326837137e-02f, 1.277253926e-01f, + 5.243107677e-02f, -1.879877895e-01f, -5.527498201e-02f, 5.629885942e-02f, + -5.884604901e-02f, 6.141863298e-03f, -1.159710716e-02f, 1.574693918e-01f, + 5.513888225e-02f, -2.489386499e-02f, 7.209303975e-02f, -5.198924616e-02f, + 1.124117300e-01f, -6.475041807e-02f, -3.496481851e-02f, -9.613576531e-02f, + 1.154808328e-02f, -1.063770279e-01f, -1.080361232e-01f, -4.090832174e-02f, + -7.974589616e-02f, 1.863945574e-01f, 1.417476125e-02f, 1.557274908e-01f, + -1.374304742e-01f, -3.557902994e-03f, 6.925249845e-02f, 7.942247204e-03f, + -1.894863546e-01f, -9.428729862e-02f, -2.482872456e-01f, -3.501195088e-02f, + -8.169925213e-02f, 5.821971223e-03f, 2.877746150e-02f, -1.053791046e-01f, + 2.057133242e-02f, -9.852521122e-02f, 5.690280348e-03f, -1.214865874e-02f, + -1.324805319e-01f, -1.318976879e-01f, -3.950772807e-02f, 1.014848575e-01f, + 1.347734034e-01f, 6.219526008e-02f, 1.004183739e-01f, 6.411357224e-02f, + 5.564223602e-02f, 5.479931086e-02f, 8.571478724e-02f, 4.535560310e-02f, + -3.811088204e-02f, -8.399458975e-02f, 4.424738511e-02f, -1.634139940e-02f, + -3.440585360e-02f, 2.229124755e-01f, 5.094782449e-03f, -1.064572707e-01f, + -3.977398202e-02f, -9.553585947e-02f, 2.099010535e-02f, 9.113948792e-02f, + -7.652899716e-03f, -6.169660389e-02f, 8.245866001e-02f, 6.788805127e-02f, + 9.992447682e-03f, 4.135590419e-02f, -8.734443784e-02f, -2.814709209e-02f, + 2.666963451e-02f, -1.164974738e-02f, -5.330232531e-02f, -3.564507887e-02f, + 7.275307178e-02f, 2.433775924e-02f, 1.252612174e-01f, -2.634873055e-02f, + -1.402819064e-02f, 7.437238842e-02f, -7.200066000e-02f, -9.653227031e-02f, + -9.198082238e-02f, -1.599729434e-02f, 1.625567488e-02f, 5.087854341e-02f, + 1.139627472e-01f, 1.199381053e-02f, -1.374980360e-01f, -7.732916623e-02f, + -6.757993251e-02f, -5.634428817e-04f, 8.361010998e-02f, 7.831165195e-02f, + -5.271925777e-02f, -5.441313982e-02f, 7.121862471e-02f, 2.066364139e-02f, + -9.179827571e-02f, 2.060710788e-01f, -6.956535578e-02f, 4.157733917e-02f, + 6.273315102e-02f, -5.645812955e-03f, 7.932912558e-02f, 6.971066352e-03f, + 1.992537975e-01f, 3.812853247e-02f, 1.000156328e-01f, 1.331488788e-01f, + 7.755363733e-02f, 1.257544309e-01f, -1.192191499e-03f, 6.413532794e-02f, + -1.616832614e-02f, -3.559599444e-02f, -6.653273106e-02f, -6.686743349e-02f, + 8.106740564e-02f, -7.175031304e-02f, -7.970166951e-02f, 1.141399592e-01f, + 1.662709415e-01f, 5.447785184e-02f, -1.270200014e-01f, 1.143007129e-01f, + -9.371899068e-03f, -4.323997721e-02f, 1.243718192e-01f, -4.495358840e-02f, + 5.872674286e-02f, 1.853573322e-02f, 4.009284452e-02f, 3.831261024e-02f, + -4.361636937e-02f, 6.629208475e-02f, -1.396270394e-01f, -2.776085585e-02f, + 8.488475531e-02f, -7.559698820e-02f, 2.733646631e-01f, -6.601098925e-02f, + 5.417753011e-02f, -5.978222564e-02f, -8.931329101e-02f, 3.468179330e-02f, + -1.675171107e-01f, 2.421446890e-02f, 2.346049696e-01f, -7.206060924e-03f, + 1.342104077e-01f, -1.818699390e-01f, -3.084557876e-02f, -2.102479711e-02f, + -4.353160411e-02f, -9.455195069e-02f, 2.824643394e-03f, -2.578392029e-01f, + 3.569507226e-02f, -7.534758747e-02f, -5.950314924e-02f, 4.868031014e-03f, + -1.117544994e-01f, -2.277315035e-02f, -1.117639691e-01f, 9.718187153e-02f, + -8.154359460e-02f, 4.628741369e-02f, -3.848397732e-02f, -1.589982808e-01f, + -6.349515915e-02f, 6.742259860e-02f, 3.629450873e-02f, 4.630013835e-03f, + 1.785176806e-02f, 1.486235708e-01f, 4.024447873e-02f, -1.657235771e-01f, + -3.133317456e-02f, 7.166560739e-02f, -1.117403805e-01f, -1.254800558e-01f, + 6.212803721e-02f, 6.439378113e-02f, 7.197944820e-02f, 3.371793032e-02f, + 8.215246350e-02f, 3.188548237e-02f, -3.535003401e-03f, -1.135502532e-01f, + -5.030115321e-02f, -9.383939207e-02f, 2.822503448e-02f, -8.084186912e-02f, + -3.201900795e-02f, -3.527541645e-03f, 5.393001065e-02f, 3.982837126e-02f, + -1.918940619e-02f, -3.199759638e-03f, 2.150176093e-02f, 9.084685147e-02f, + 4.601064697e-02f, -3.851474077e-02f, -3.521789238e-02f, -8.835216053e-03f, + 1.139560267e-01f, 1.872226447e-01f, 9.670183063e-03f, -7.435882092e-02f, + -4.424832761e-02f, 3.907213733e-02f, 1.487394422e-01f, -2.486358024e-02f, + -1.409451216e-01f, -7.312396169e-02f, -8.330710232e-02f, -5.708580464e-02f, + -3.531789780e-02f, -7.960002869e-02f, 4.837682471e-02f, -1.108788606e-02f, + -1.669623405e-01f, -7.058569696e-03f, -5.720845237e-02f, -2.352147736e-02f, + 3.595175222e-02f, -8.913912624e-02f, -1.117885858e-01f, 6.743440777e-02f, + 7.250363380e-02f, -9.540281445e-02f, -4.529337585e-02f, 3.387727588e-02f, + 3.128509969e-02f, -2.124892622e-01f, 5.000555143e-02f, -3.221718222e-02f, + 1.541929841e-01f, 1.107269675e-01f, -9.004606909e-06f, -1.329207867e-01f, + -3.617347777e-02f, -7.075449079e-02f, 5.893139541e-02f, -1.375027560e-02f, + -1.905342638e-01f, -6.678796560e-02f, 5.276430026e-02f, -1.649950445e-02f, + -1.730288118e-01f, 1.345982552e-01f, 4.339973256e-02f, -5.155717582e-02f, + 4.394677281e-02f, 7.433293760e-02f, -4.217756912e-02f, 1.952722110e-02f, + -1.379989535e-01f, 1.383372843e-01f, 4.027332366e-02f, 9.511542320e-02f, + -1.418345273e-01f, -2.643191628e-02f, -5.253559351e-02f, -3.248352092e-03f, + -3.048993275e-02f, 8.021395653e-02f, -5.407050252e-03f, 1.498631015e-02f, + 6.315421313e-02f, -1.301939338e-01f, 1.037981734e-01f, 5.539369211e-02f, + 1.212808788e-01f, -4.702083021e-02f, -1.475344412e-02f, -1.477609426e-01f, + -2.884178422e-02f, -1.082853824e-01f, 7.142616808e-02f, -6.522490084e-02f, + 1.567956656e-01f, -1.105614826e-01f, -3.541078791e-02f, -6.117346138e-02f, + -1.744295098e-02f, 1.297784895e-01f, 8.136744797e-02f, 1.552920640e-01f, + 1.087712646e-01f, 1.330656111e-01f, -1.657414287e-01f, -1.102241315e-02f, + 9.067244083e-02f, 9.334573150e-02f, -6.103322655e-02f, 4.992603138e-02f, + -9.121098369e-02f, -9.256763011e-02f, 8.755558729e-02f, 4.157147184e-02f, + 1.082178950e-02f, -3.344901139e-03f, 2.531133592e-01f, -1.207922846e-01f, + -6.271280348e-02f, 7.281785458e-02f, 9.145534784e-02f, 7.148985565e-02f, + -1.018872559e-01f, -5.838119239e-02f, 1.303089708e-01f, 1.335700043e-03f, + -1.523108315e-02f, 5.200992897e-02f, -5.215636268e-02f, -8.799272776e-02f, + 3.359744325e-02f, 3.379184380e-02f, 1.462809145e-01f, -2.243560739e-02f, + 9.783563763e-02f, -1.056857705e-01f, 5.341656506e-02f, 1.610129327e-02f, + -2.122339047e-02f, -4.200269282e-02f, -4.368539527e-02f, -9.117450565e-03f, + 3.530661389e-02f, 7.168697566e-02f, 1.214509755e-01f, -5.488776043e-02f, + 1.464160532e-01f, 5.595104396e-02f, 6.193103269e-02f, -1.108288467e-01f, + 1.727657020e-02f, 4.296579212e-02f, -5.123406649e-02f, -4.732454941e-02f, + 7.949623466e-02f, -8.025845885e-02f, 7.822693139e-02f, 1.996209472e-02f, + 4.762736708e-02f, 3.526838031e-03f, -8.075886965e-02f, -1.771377772e-01f, + 1.058056429e-01f, 5.402039737e-02f, 9.334652126e-02f, 8.123400807e-02f, + -6.030466408e-02f, 2.600035369e-01f, -1.762544364e-02f, 1.246794313e-02f, + 5.673715472e-02f, 6.564155966e-02f, -8.070080727e-02f, 6.705729663e-02f, + -1.586918235e-01f, -6.963219494e-02f, 2.939169295e-02f, 2.125883102e-02f, + -2.146918699e-02f, 1.528991312e-01f, -6.611967087e-02f, 1.090989169e-02f, + 8.294287324e-02f, 9.847413749e-02f, -5.988406390e-02f, 1.351129562e-01f, + 4.917734489e-02f, -5.441486463e-02f, -1.148414388e-01f, -1.062501594e-01f, + -1.447959393e-01f, -1.202039570e-01f, 1.745898426e-01f, 5.873959512e-02f, + -6.786838174e-02f, 3.925903514e-02f, -7.350461930e-02f, -2.978538163e-02f, + -1.048732474e-01f, -7.581602037e-02f, -2.262645587e-02f, 1.279573701e-02f, + 1.002448890e-02f, -6.151529774e-02f, 5.883939937e-02f, 4.997943342e-02f, + -1.977601834e-02f, 1.330114305e-01f, -1.095728017e-02f, 4.837394133e-02f, + 7.119555771e-02f, -1.076619551e-01f, -1.046201885e-01f, -2.996618568e-04f, + -9.699159302e-03f, 1.327461898e-01f, 3.345271945e-02f, -7.769584656e-02f, + -1.745533757e-02f, 1.349315792e-01f, 5.290392786e-03f, 1.401596144e-02f, + -5.652975291e-02f, 9.112860076e-03f, 9.053978138e-03f, -2.324724942e-02f, + 3.255136311e-02f, 5.849470571e-02f, -1.476257592e-01f, 8.754989132e-03f, + 1.584581216e-03f, -6.069666779e-05f, -4.721096903e-02f, 4.242698848e-02f, + -7.779749483e-02f, -2.798985131e-02f, -2.749456652e-02f, -2.560392022e-02f, + 1.477212757e-01f, -2.673346102e-01f, -1.110575125e-01f, 2.098480463e-01f, + -2.269892767e-02f, 8.385410905e-02f, 3.310741484e-02f, -8.755940199e-02f, + -9.754134715e-02f, -3.475831077e-02f, -1.394042075e-01f, 6.764194369e-02f, + 8.510702848e-02f, -1.367553622e-01f, 3.302329779e-02f, -1.509925127e-01f, + -3.819835559e-02f, 1.277236789e-01f, 3.114335239e-02f, -5.076442659e-02f, + -4.493089020e-02f, 1.199260587e-03f, 1.241648793e-01f, -9.980875999e-02f, + 9.710147046e-03f, 2.702515721e-01f, -2.040593512e-02f, -2.705973759e-02f, + -1.635961086e-01f, 5.543942377e-02f, 5.120675638e-02f, -1.061538607e-02f, + -1.055603251e-01f, 1.299410164e-01f, -9.430265427e-02f, 1.531550884e-01f, + -1.421172470e-01f, -3.603248298e-02f, -2.273170501e-01f, -8.578766137e-02f, + 2.067382075e-02f, 4.541342705e-02f, -1.598758399e-01f, 1.418627682e-03f, + 3.390863910e-02f, -1.044073850e-01f, -2.899246104e-02f, 4.376974702e-02f, + 5.564645678e-02f, 1.119537726e-01f, -4.841618612e-02f, 1.869879514e-01f, + 1.950317174e-01f, -1.471539885e-01f, -8.968814462e-02f, -1.155212224e-01f, + 1.694715917e-01f, -1.952487230e-02f, -3.759808093e-02f, -1.652870141e-02f, + -8.238016814e-02f, 9.613523632e-02f, -9.820146114e-02f, 1.999353804e-02f, + -1.928285696e-02f, 8.662057109e-03f, 1.026038378e-01f, -5.267679691e-03f, + 3.351471946e-02f, 1.387658566e-01f, -6.114414334e-02f, -3.004726488e-03f, + 2.081064321e-02f, -6.490395218e-02f, 1.214098856e-01f, 7.064433396e-02f, + -1.139321458e-02f, -2.428842895e-02f, 3.707764670e-02f, 2.485756576e-02f, + -3.315508366e-02f, 2.354521155e-01f, 7.876942982e-04f, 1.269229501e-02f, + 1.460274756e-01f, 1.587999053e-02f, 3.138598287e-03f, -2.146785408e-01f, + -9.354469180e-02f, -6.872936338e-02f, -7.114008814e-02f, -8.417218179e-02f, + -7.644622028e-02f, 3.860524669e-02f, 1.590592600e-02f, -1.267473213e-02f, + 2.236496843e-02f, 4.713887349e-02f, -2.529039606e-02f, 2.677667700e-02f, + 7.861785591e-02f, -7.442864031e-02f, 8.097639680e-02f, 4.179119691e-02f, + -1.724640094e-02f, 1.071862951e-01f, -7.032370567e-02f, 4.250876978e-02f, + 1.113040596e-01f, -7.258825470e-03f, 2.305491455e-02f, 1.157789156e-01f, + 8.676912636e-02f, -4.873355478e-02f, -2.216214314e-02f, 4.451221973e-02f, + -5.448469520e-02f, 8.887515962e-02f, 9.412583709e-02f, -4.866519198e-02f, + -6.481916457e-02f, -7.388033718e-02f, -6.506977975e-02f, 5.795959011e-02f, + -4.174699262e-02f, -7.639382780e-02f, 4.536281899e-02f, -1.564014889e-02f, + -4.508916661e-02f, -5.502798036e-02f, 9.444842488e-02f, 2.222903222e-01f, + -1.141159236e-01f, 1.170059294e-01f, -1.632183231e-02f, 2.101536468e-02f, + -1.663014665e-02f, -3.268649429e-02f, -1.038645431e-01f, 1.666790806e-02f, + -4.423119500e-02f, 3.037506528e-02f, 2.908861637e-02f, 1.635970324e-01f, + -1.055318266e-01f, -2.563635260e-02f, -1.389996409e-01f, -4.612022266e-02f, + -2.781857271e-03f, 3.197816387e-02f, -1.909640133e-01f, -1.071253866e-01f, + -9.717363864e-02f, 3.862903267e-02f, -1.068638861e-01f, 6.256700307e-02f, + 1.660108119e-01f, -8.081111126e-03f, 7.527090609e-02f, -1.726078391e-01f, + 7.239600271e-02f, 1.458589081e-02f, -1.231792793e-01f, 6.713103969e-03f, + 1.097035110e-01f, -1.141392738e-01f, -1.416403148e-02f, -1.013184860e-01f, + -6.729786098e-02f, -1.617665291e-01f, 6.715551019e-02f, -4.443016369e-03f, + 9.263300896e-02f, 4.778145812e-03f, -2.198242247e-01f, -3.385645151e-02f, + 1.493255422e-02f, -5.012823269e-02f, -3.672846034e-02f, 2.422888018e-02f, + 1.405940056e-01f, 5.002151057e-02f, -5.756166577e-02f, 8.486476541e-02f, + 2.739989571e-02f, -2.900845185e-02f, 8.927774616e-03f, -5.081782490e-02f, + -3.560259007e-03f, 1.026313007e-01f, 9.401818365e-02f, 4.548506439e-02f, + 3.780214489e-02f, -6.358692795e-02f, 6.055767834e-02f, -1.945669651e-01f, + -4.779200628e-02f, -3.074068017e-02f, -3.513045143e-03f, 8.912485093e-02f, + -6.706482917e-02f, 3.291174397e-02f, 9.839152545e-02f, 2.965674922e-02f, + 5.087346211e-02f, -8.275038749e-02f, 1.133263018e-02f, -1.671059430e-02f, + -8.097230643e-02f, 5.329791829e-02f, 1.098127663e-01f, -4.272107780e-02f, + -1.276780367e-01f, 7.696779817e-02f, 6.611491740e-02f, 3.524601925e-03f, + -8.531361818e-02f, 3.413306549e-02f, -1.330819447e-02f, -1.518395692e-01f, + 1.420211643e-01f, -8.565865457e-02f, -1.540775299e-01f, -3.831121325e-02f, + -6.710399408e-03f, 6.654839963e-02f, -2.701351978e-02f, 9.729447216e-02f, + -1.638993025e-01f, 1.341074705e-02f, 3.127786517e-02f, 2.692872584e-01f, + -1.518384814e-01f, 3.282517567e-02f, 5.299956072e-03f, -7.107010484e-02f, + -1.194690466e-01f, 5.703251809e-02f, 1.103412434e-01f, -5.135041848e-02f, + 1.361806691e-01f, -2.120588571e-01f, -8.517113514e-03f, 8.189089596e-02f, + 2.240243107e-01f, -7.571317255e-02f, 3.942915425e-02f, -3.606709465e-02f, + -8.050222695e-02f, -3.385983035e-02f, 1.317597553e-02f, -5.604531150e-03f, + -3.791204095e-02f, -3.536139056e-02f, -1.294340640e-01f, -8.689865470e-02f, + 8.761910349e-02f, 4.930275306e-02f, -2.971714921e-02f, -6.388818473e-02f, + -1.751330346e-01f, 1.075702626e-02f, 4.343104735e-02f, 1.139882803e-01f, + 1.313492060e-01f, -3.745605797e-02f, 2.533197589e-02f, -9.820482880e-02f, + 4.478158057e-02f, -3.032579832e-02f, 9.615302831e-02f, -4.774907720e-04f, + 1.333127767e-01f, 5.737138912e-02f, -1.117330417e-01f, -8.355715871e-02f, + 1.283520833e-02f, 7.046937197e-02f, -1.642469503e-02f, 6.437963992e-02f, + 5.182871595e-02f, 5.390003789e-03f, 1.008464545e-01f, -1.856927946e-02f, + -3.677839413e-02f, 1.223798469e-01f, -1.099104732e-01f, 1.189851090e-01f, + 1.286076605e-01f, -9.884828329e-02f, 1.333513204e-02f, -3.721943870e-02f, + 3.913712129e-02f, 1.093663722e-01f, -1.185443923e-01f, 1.154588815e-02f, + 2.504137903e-02f, -8.939871192e-02f, -3.697774932e-02f, -9.698661417e-02f, + 1.117339730e-02f, -3.587571904e-02f, 6.641301513e-02f, -1.025629789e-01f, + -2.605257370e-02f, 2.021097690e-01f, -6.279180292e-03f, -5.256301165e-02f, + 5.921705812e-02f, -6.444428116e-02f, 4.095529765e-02f, 1.161502972e-01f, + -7.521007792e-04f, 3.465529531e-02f, 8.864618838e-02f, 4.934968799e-02f, + -2.694515139e-02f, -4.544686526e-02f, 3.446915746e-02f, -2.372230869e-03f, + 3.888751566e-02f, -5.561193824e-02f, 9.752515703e-02f, -1.370344311e-01f, + 1.925279573e-02f, -3.055942617e-02f, -5.406129360e-02f, -5.181320757e-02f, + -2.681217529e-02f, 2.349554189e-02f, 3.481470793e-02f, -8.698072284e-02f, + -3.907802515e-03f, -3.820046037e-02f, -2.014637142e-01f, 1.410022099e-02f, + 1.949443296e-02f, -6.329785287e-02f, -1.857519150e-01f, 4.311681911e-02f, + 4.128823057e-02f, -1.032533944e-01f, -1.289673448e-01f, -1.231609751e-02f, + 1.152223721e-02f, 1.481263041e-01f, -9.326016158e-02f, 4.682059959e-02f, + 1.511056572e-01f, 9.088354558e-02f, -7.547549158e-02f, 5.972794071e-02f, + -4.163185600e-03f, -3.778884187e-02f, -1.729192287e-01f, 8.972832561e-02f, + 1.219950151e-02f, -7.282825559e-02f, 1.246971413e-01f, -1.114442796e-01f, + 1.073690057e-01f, -8.664881438e-02f, 2.994309552e-02f, 2.209988236e-01f, + 1.930349618e-01f, -1.459070854e-02f, 8.111888915e-02f, -8.146274090e-02f, + 3.113763966e-02f, 1.320638210e-01f, -5.076862872e-04f, 6.994117796e-02f, + 1.073853672e-01f, -6.011910364e-02f, 6.444063783e-02f, 1.008621678e-01f, + 5.617835000e-02f, 6.063921750e-02f, -1.829734594e-01f, 1.810445264e-02f, + -1.289108843e-01f, -1.922610998e-01f, -9.380842000e-02f, -7.970268838e-03f, + -3.780679405e-02f, -7.217394561e-02f, -3.069286421e-02f, -1.848515719e-01f, + -1.568875462e-01f, 1.272503585e-01f, -1.273088306e-01f, -2.718164586e-02f, + 4.343378916e-02f, -3.426772729e-02f, 9.499946982e-02f, -2.756377310e-02f, + 3.577966988e-02f, -1.096318886e-01f, -4.723468423e-02f, -4.030675814e-02f, + 9.924545884e-04f, 8.656585217e-02f, -1.075548530e-01f, -3.148607910e-02f, + 6.884862483e-02f, 3.285379708e-02f, -1.019506827e-01f, -7.664704323e-02f, + 1.395453364e-01f, 5.212669447e-02f, 2.559265122e-02f, -7.440140843e-02f, + -1.856231838e-01f, 8.192944527e-02f, -9.165716916e-02f, 3.907433152e-02f, + 9.569633752e-02f, 2.573235519e-02f, -4.311941192e-02f, -3.262070194e-02f, + 6.964132190e-02f, 1.088953167e-01f, 7.541716844e-02f, 9.820251167e-02f, + -9.629075974e-02f, 1.824784726e-01f, -8.928046376e-02f, -7.725266367e-02f, + 1.113972813e-01f, 8.961793780e-02f, -7.497838885e-02f, 7.785657793e-02f, + -3.654454276e-02f, 3.880057018e-03f, 2.337148413e-02f, -5.759259686e-02f, + 8.303884417e-02f, 9.682726860e-02f, -4.389059171e-02f, 9.484246373e-02f, + -1.487320960e-01f, -2.959755622e-02f, 4.065765440e-02f, 8.869837970e-02f, + 1.160843484e-02f, -3.782565892e-02f, -1.043046638e-01f, 2.683009580e-02f, + 1.359655261e-01f, -9.051082283e-02f, 5.993418768e-02f, -1.040818840e-01f, + -5.835679173e-02f, 6.923395675e-03f, 2.760904469e-02f, 3.585069999e-02f, + 5.086003244e-02f, -1.134535223e-01f, -1.069924161e-01f, -1.415420473e-01f, + -3.029060550e-02f, 1.361277252e-01f, 7.681063563e-02f, -2.443199512e-03f, + 6.586021278e-03f, 5.202880874e-02f, -4.232797306e-03f, 7.368566841e-02f, + 3.510092944e-02f, -4.051722214e-02f, 8.360143751e-02f, -2.807739750e-02f, + 5.676829256e-03f, -4.164844379e-02f, -1.079917774e-01f, -1.633847952e-01f, + -1.145180408e-02f, 7.081062347e-02f, -8.699244261e-02f, 3.404057026e-02f, + 1.194621529e-02f, -1.960507035e-02f, -1.469375789e-01f, 1.174349785e-01f, + -2.911728062e-02f, -5.707757920e-02f, -7.774826139e-02f, 9.739766270e-02f, + -1.886192150e-02f, 5.437999591e-02f, -4.112286866e-02f, 1.796088815e-01f, + 3.959892318e-02f, -1.428115368e-01f, -4.895319045e-02f, 9.293755889e-02f, + 8.592335880e-02f, -2.227986753e-01f, -1.001039706e-02f, 6.856183708e-02f, + -2.400709130e-02f, 2.902477048e-02f, -1.435486078e-01f, -1.764750667e-02f, + -6.095882505e-02f, -5.189203843e-02f, 2.682777494e-02f, -1.123947725e-01f, + 1.341993809e-01f, 1.245504990e-02f, 4.337531328e-02f, 1.327602565e-01f, + 4.184298590e-02f, 2.027436160e-02f, 9.363668412e-02f, -2.263611741e-02f, + -1.011883691e-01f, -2.259690315e-01f, -4.922205210e-02f, -9.809409827e-02f, + -9.471338242e-02f, 1.438548714e-01f, -1.119415835e-01f, -9.827891737e-02f, + 4.811773077e-02f, -1.870060861e-01f, 6.016355380e-02f, -7.195465267e-02f, + -3.827389330e-02f, -6.035123393e-02f, 8.847609907e-02f, 5.390523374e-02f, + -1.531361639e-01f, -1.722959429e-02f, 4.579199106e-02f, 3.367136419e-02f, + -1.444784552e-02f, -5.811544135e-02f, -1.583136618e-01f, -1.551195532e-01f, + -1.465696543e-01f, 1.063299105e-01f, 3.097836114e-02f, 5.188079178e-02f, + 3.399479762e-02f, -1.105244905e-01f, 2.741472051e-02f, -8.929746598e-02f, + -1.211711578e-02f, -9.523515403e-02f, -4.675909877e-02f, 1.030526459e-01f, + -3.000677750e-02f, -2.188732848e-02f, -8.622247726e-03f, 1.274826676e-01f, + 1.444520149e-02f, 1.344324499e-01f, 1.511504129e-02f, 1.532727927e-01f, + -8.078983426e-02f, -7.992248237e-02f, 4.072729126e-02f, -5.759624392e-02f, + 5.468008667e-02f, -8.692636341e-02f, -1.960650831e-02f, -1.502914280e-01f, + 1.434213221e-01f, 1.873175427e-02f, 7.030436397e-02f, -1.092805341e-01f, + -6.179838255e-02f, -6.111710891e-02f, -2.614127658e-02f, 6.297955662e-02f, + -1.844405383e-01f, 7.415635884e-02f, -5.157238245e-02f, -1.182607375e-02f, + -2.326205745e-02f, -7.021407038e-02f, 5.524042621e-02f, 2.125910297e-02f, + -2.446681708e-01f, 5.934648961e-02f, 9.469434619e-02f, -2.122115716e-02f, + 1.666673422e-01f, 1.993970759e-02f, 1.294154860e-02f, 1.098369583e-01f, + 4.834517092e-02f, 6.711815298e-02f, 7.936609536e-02f, 6.335149705e-02f, + 6.423275173e-02f, 1.912506856e-02f, 9.390293062e-02f, 5.695381761e-02f, + -1.167601254e-02f, -4.886623845e-02f, -3.128646314e-02f, 1.253559738e-01f, + -4.275630787e-02f, 4.671274871e-02f, -2.614631690e-02f, 1.614149958e-01f, + 1.985504180e-01f, -1.321532298e-02f, -1.137041673e-01f, 5.722516775e-02f, + 1.090054121e-02f, 3.204485029e-02f, -3.184805438e-02f, 1.126732454e-01f, + 1.463973522e-01f, 1.149549112e-01f, 1.997755654e-02f, 7.842956111e-03f, + 6.324064918e-03f, -7.555206772e-03f, -1.732581854e-02f, -2.418696694e-02f, + 6.800095737e-02f, -5.028019845e-02f, -3.676811978e-02f, -1.987796128e-01f, + 2.804162204e-01f, 5.071760714e-02f, 2.523088083e-02f, 3.689599782e-02f, + 6.290025264e-02f, 2.392832190e-02f, -1.598353088e-01f, -6.181572750e-02f, + -1.126918197e-01f, 1.434545312e-02f, 7.771546394e-02f, 3.507911041e-02f, + -1.182909589e-02f, 5.882751569e-02f, 1.237294301e-01f, -5.749624223e-02f, + 1.076923311e-01f, 2.180936933e-02f, 7.445315272e-02f, 2.574245445e-02f, + 7.251674682e-02f, -4.315601662e-02f, -7.927891798e-03f, 7.504450530e-02f, + 3.958579153e-02f, -6.344939768e-02f, 4.113600403e-02f, 3.344354033e-02f, + 9.721113741e-02f, 1.626367420e-01f, 8.106151223e-02f, 4.676645249e-02f, + 9.603197873e-02f, -7.685729116e-02f, 1.974105090e-01f, 4.305819981e-03f, + -1.102878079e-01f, 1.351049840e-01f, -1.496706754e-01f, -6.922510266e-02f, + 1.568618119e-01f, -2.234130725e-02f, -6.796605140e-02f, -8.366673440e-02f, + -3.370897472e-02f, 8.343824744e-02f, 4.355762899e-02f, -1.386941522e-01f, + -1.391802914e-02f, 6.653450429e-02f, -2.152543366e-01f, -1.342226714e-01f, + 2.154907212e-02f, -9.085210413e-02f, -2.414507605e-02f, 5.206756294e-02f, + 1.123197451e-01f, -2.849006467e-02f, -1.442820951e-02f, -1.237156428e-02f, + -1.038263291e-01f, -8.507055789e-02f, -1.226985361e-02f, -4.091740586e-03f, + -2.147057801e-01f, 1.649975777e-02f, 7.950850576e-02f, 1.165599748e-01f, + -7.742059976e-02f, -1.004448012e-01f, -1.488236152e-02f, -1.076622307e-01f, + -8.415182680e-02f, 9.726506472e-02f, -5.117013305e-02f, 3.984165937e-02f, + -4.836095497e-02f, 1.003500773e-03f, 1.278012991e-01f, -8.929405361e-02f, + 8.600451052e-02f, 1.476492546e-02f, -1.002355218e-01f, 5.365489796e-02f, + -1.548848748e-01f, 6.103274599e-02f, 7.886680774e-03f, -2.472716384e-02f, + 4.396096990e-02f, 1.476588845e-01f, -5.428250507e-02f, 4.737380892e-02f, + 1.175436825e-01f, -5.925097317e-02f, -1.204879023e-02f, -5.834340304e-02f, + -9.541896731e-02f, -4.324554466e-03f, -1.112190336e-01f, -1.611921936e-01f, + 1.573641598e-01f, -2.608525101e-03f, 1.401502639e-02f, -2.263607383e-01f, + -5.124692619e-02f, 1.124621108e-01f, 3.353060037e-02f, 8.565261960e-02f, + -1.163938195e-01f, 1.090378761e-01f, -1.045341343e-01f, 1.422655489e-02f, + 9.051747620e-02f, -8.672463894e-02f, -4.764648154e-02f, -1.073493734e-01f, + -3.879606724e-02f, 1.328093261e-01f, -9.314683825e-02f, -2.551525459e-02f, + -5.404415727e-02f, -2.831174061e-02f, 4.205931351e-02f, -9.847520292e-02f, + -2.314850129e-02f, -8.773407899e-03f, -5.939251184e-02f, -3.394986689e-02f, + 2.401094511e-02f, -9.188563377e-02f, -3.071555868e-02f, -9.771272540e-02f, + 5.711597577e-02f, -1.216688007e-01f, -1.161528453e-01f, -1.820413470e-01f, + -1.935332827e-02f, -6.127111241e-02f, 1.495766789e-01f, 3.201217577e-02f, + -1.824499369e-01f, -2.246540412e-02f, 6.912176311e-02f, 7.846444845e-03f, + 1.335375160e-01f, -1.123167276e-01f, 6.653885543e-02f, 1.433489006e-02f, + -7.496304810e-03f, 7.701081038e-02f, 8.584656566e-02f, 9.313972294e-02f, + -8.148079365e-02f, 6.629051268e-02f, -5.188885704e-02f, -1.808687672e-02f, + -1.161760390e-01f, -9.223546833e-03f, -8.545424789e-02f, -1.034131050e-01f, + -1.108723879e-01f, 1.145571321e-01f, 7.042359561e-02f, 1.546476185e-01f, + -2.865375765e-02f, 7.245282829e-02f, -2.733937092e-02f, 6.422951072e-02f, + -1.579271108e-01f, -5.981960893e-02f, -3.278611600e-02f, 7.769052684e-02f, + 2.532873116e-02f, 2.669533156e-02f, -2.366999834e-04f, 1.384735457e-03f, + -1.172041222e-01f, 1.275789440e-01f, 2.497340366e-02f, -5.972221121e-02f, + 1.443715543e-01f, -7.057162374e-02f, 1.106246486e-01f, 3.252447397e-02f, + 6.686052680e-02f, -1.437366009e-01f, -1.704057902e-01f, 1.228790283e-01f, + -1.280064285e-01f, -8.856631070e-02f, -1.716202348e-01f, -7.022276055e-03f, + -6.739762425e-02f, -2.989869379e-02f, -1.118551120e-01f, -1.163501665e-01f, + -4.192377627e-02f, -5.910035595e-02f, 2.359084189e-01f, -2.247432806e-02f, + 4.774693865e-03f, -2.200884372e-02f, 2.677450143e-02f, 2.986292355e-02f, + -1.458738744e-01f, 3.565434739e-02f, -2.105292678e-02f, 7.166065276e-02f, + -1.237427965e-01f, -1.426420361e-01f, -5.384946242e-02f, 7.788441330e-02f, + 4.560215026e-02f, 9.024404734e-02f, 1.069461331e-01f, 2.109437063e-02f, + 8.130175062e-03f, -9.490051121e-02f, 1.341174096e-01f, -5.986503512e-02f, + 1.203817800e-01f, -6.392218918e-02f, -8.401440084e-02f, 8.462496847e-02f, + -7.687854022e-02f, -8.472506702e-02f, -1.714222133e-02f, -1.856026240e-02f, + -1.109431088e-01f, 1.916077733e-02f, -1.159047429e-02f, -2.019177973e-01f, + 3.713948280e-02f, -5.773135647e-02f, -8.180509508e-02f, -4.487758130e-02f, + 2.586877532e-02f, -3.528958932e-02f, 2.512288652e-02f, 2.114582062e-02f, + -3.547005355e-02f, -1.861419827e-01f, 2.863586508e-02f, -5.598675832e-02f, + -5.958087370e-02f, -3.188713267e-02f, 1.445412636e-01f, 3.326784819e-02f, + -2.524982765e-02f, 1.375609338e-01f, 1.750436723e-01f, 1.688686609e-01f, + 2.621687390e-02f, -6.153744832e-02f, 2.894188277e-02f, -1.773872375e-01f, + -7.901854068e-02f, -7.719744742e-02f, -1.024998445e-02f, 1.246542484e-01f, + 5.519721657e-02f, -3.791644424e-02f, -3.334148973e-02f, 7.465516776e-02f, + 1.817881875e-02f, -6.040378660e-02f, 5.683529004e-02f, 3.259439394e-02f, + 5.894811824e-02f, -8.622872829e-02f, -3.303686529e-02f, -7.158417255e-02f, + 3.276444227e-02f, -7.478725910e-02f, -5.595721304e-02f, -7.688901573e-02f, + -1.340523511e-01f, 7.445680443e-03f, -2.148887701e-02f, 1.837558746e-01f, + 1.081685945e-01f, 2.676356770e-02f, 1.260336488e-01f, -9.729154408e-03f, + 3.014020808e-02f, 1.474036183e-02f, 3.788958862e-02f, 9.517168254e-02f, + 7.424478978e-02f, 4.289708287e-02f, -5.117005855e-02f, 1.482145675e-02f, + 1.277536601e-01f, -1.522433013e-01f, -2.163316868e-02f, 1.587104499e-01f, + 6.141147763e-02f, -2.334851213e-02f, 1.129428819e-01f, -1.152812690e-01f, + 1.520933956e-02f, 7.300744951e-02f, -1.297367364e-01f, 1.164452061e-01f, + -3.749658167e-02f, 5.853300542e-02f, 1.184932366e-01f, 1.974432021e-01f, + 2.144588716e-02f, 3.574367613e-02f, -1.818448901e-01f, 4.260192811e-02f, + -7.629462052e-03f, 7.677379251e-02f, -1.401157528e-01f, -3.654028475e-02f, + -3.384809569e-02f, -1.111057252e-01f, 9.142751992e-02f, -4.009709507e-02f, + 9.199727210e-04f, 2.935351059e-02f, 1.880589277e-01f, 1.526898891e-01f, + 1.491892636e-01f, -1.049913559e-02f, 5.871485546e-02f, -2.935090289e-02f, + 7.014632865e-05f, -5.777462572e-02f, -4.587009922e-02f, -9.711367637e-02f, + -1.111995578e-01f, 3.686881973e-04f, 3.460161015e-02f, 1.724228822e-02f, + -1.352130249e-02f, 2.225500159e-02f, -5.300365761e-02f, -2.126569152e-01f, + -9.293179214e-02f, -3.428286873e-04f, 7.318963110e-02f, -2.176662162e-02f, + 4.502316937e-03f, 2.173394263e-01f, -1.193097904e-01f, -3.301764280e-02f, + -8.911395445e-03f, 4.481387138e-02f, -9.032972157e-03f, 1.707106829e-01f, + -7.843977958e-02f, -7.716073655e-03f, 1.329402924e-01f, -9.724850208e-02f, + -1.363778561e-01f, 2.102355063e-01f, -8.806677163e-02f, 1.007203385e-01f, + 3.624120355e-02f, 1.143230721e-01f, -2.658666670e-02f, -2.880369313e-02f, + 1.376943886e-01f, -4.981575534e-02f, -3.422877565e-02f, -1.338680089e-01f, + 3.653165326e-02f, -1.130381972e-01f, -2.472459106e-03f, -7.619168609e-02f, + -6.422000378e-02f, 5.877064914e-02f, -4.752764478e-02f, -9.830790013e-02f, + -9.830126166e-02f, 1.734908372e-01f, 1.718075946e-02f, -4.893748462e-02f, + -5.391803384e-02f, -4.815004766e-02f, -6.377939880e-02f, -1.281082630e-01f, + -3.472984582e-02f, -9.467612207e-02f, 1.771667302e-01f, 1.530612856e-01f, + -5.571536347e-02f, 2.521760203e-02f, -4.346264154e-02f, 7.184961438e-02f, + 2.453826740e-02f, 5.582894012e-02f, 7.788668573e-02f, 2.977115847e-02f, + 3.653403744e-02f, -8.049062639e-02f, -7.618906349e-02f, 7.462657243e-02f, + -4.647530150e-03f, -1.638677567e-01f, -9.992579371e-02f, -2.570603043e-02f, + -4.339429736e-02f, 5.182723328e-02f, -3.447222337e-02f, -5.984121189e-02f, + 1.952959038e-02f, 4.279669002e-02f, -1.643571258e-01f, -3.729251772e-02f, + 6.128056720e-02f, -3.448062018e-02f, -3.400062770e-02f, -9.644769132e-02f, + -3.161869943e-02f, 1.264801435e-02f, -1.226291582e-01f, -4.053042084e-02f, + -6.210867316e-03f, -2.640203387e-02f, 8.263526112e-02f, -1.217096969e-01f, + 2.332109213e-02f, 8.646372706e-02f, 2.582921386e-01f, -3.626176715e-02f, + -6.491874903e-02f, 2.936186455e-02f, -1.301301569e-01f, -7.145190239e-02f, + 1.859569363e-02f, 8.476977050e-02f, -3.590732068e-02f, 5.650187656e-02f, + 7.593844086e-02f, 1.088897884e-01f, -2.092685103e-01f, -1.192013845e-01f, + 6.429818273e-02f, -5.512464419e-02f, -3.825604217e-03f, -1.292659342e-01f, + -2.719520330e-01f, 9.331361204e-02f, -1.044503748e-01f, -2.742566168e-02f, + -3.757236060e-03f, 1.377640665e-02f, 6.471350044e-02f, -1.689857105e-03f, + -7.033371832e-03f, -2.198680863e-02f, 2.778375149e-02f, 5.287713930e-02f, + 4.123814870e-03f, -6.804838777e-02f, -2.860585414e-02f, -1.107343808e-01f, + 7.953069359e-02f, 1.139580160e-01f, 5.941455439e-02f, 4.418800771e-02f, + -9.994710237e-02f, -1.494038291e-02f, -1.180639714e-01f, 1.382891983e-01f, + -1.652497426e-02f, 6.118452549e-02f, 4.237233102e-02f, -7.621343434e-02f, + -3.961828724e-02f, 2.848660015e-02f, -6.459927559e-02f, 6.600845605e-02f, + -2.848199569e-02f, 6.544408947e-02f, -1.058703065e-01f, -9.731055051e-02f, + -7.251776755e-03f, 2.622766793e-02f, -5.435564369e-02f, 1.660833359e-01f, + -9.794333577e-02f, -8.977869898e-02f, 9.996023029e-02f, 5.626758561e-02f, + -5.475670844e-02f, 2.447625250e-02f, -1.336132139e-01f, 4.046510160e-02f, + -7.156513631e-03f, 1.498484015e-01f, 2.350440621e-01f, -4.640138894e-02f, + 6.491785496e-02f, -6.121730432e-02f, 4.660749808e-02f, -7.977367938e-02f, + -4.545352980e-02f, -2.239267901e-02f, -4.372697696e-02f, -4.944389686e-02f, + 4.066557437e-02f, 8.631390333e-02f, -9.205983020e-03f, 8.578351140e-02f, + -1.177771110e-02f, 2.066206932e-02f, -1.760428995e-01f, 1.771626920e-01f, + 8.906413615e-02f, -5.809060857e-02f, -4.719582852e-03f, 3.864680976e-02f, + 6.739599258e-02f, -6.062415987e-02f, 5.536908284e-03f, -6.441628188e-02f, + -6.290347874e-02f, 3.939762339e-02f, -9.632363915e-02f, -4.006956145e-02f, + 8.171223104e-02f, -1.876459282e-04f, 3.142184764e-02f, -5.665830337e-03f, + 9.390693158e-03f, -4.369066283e-02f, 7.504428178e-02f, -1.974345651e-03f, + 5.924182013e-02f, -1.672903597e-01f, 4.820153490e-02f, -3.204347799e-03f, + 5.851779506e-02f, -5.225454271e-02f, -2.146773413e-02f, 2.694753371e-02f, + 1.581096090e-02f, 5.917554349e-02f, -1.969899237e-02f, 2.089611888e-01f, + -1.549034417e-01f, 6.017420813e-02f, 2.500148714e-01f, -9.282401204e-02f, + -1.196700931e-01f, -1.336687952e-01f, -4.985354841e-02f, 3.236540779e-02f, + -4.714291915e-02f, -3.023085184e-02f, -7.621350884e-02f, -4.775048699e-03f, + -6.827271730e-02f, 1.246701833e-02f, -1.389927417e-01f, 8.592616767e-02f, + 9.584216774e-02f, -1.603536010e-01f, 4.007856548e-02f, -8.323301375e-02f, + 1.136955805e-02f, -2.302640229e-01f, 4.017629847e-02f, -1.167469658e-03f, + -6.582109927e-05f, 8.635948598e-02f, -6.425383687e-02f, -3.024897887e-04f, + -8.761495352e-02f, 5.526652560e-03f, 5.620498210e-02f, -1.638143808e-01f, + 2.553201839e-02f, 5.989795923e-02f, -3.785325959e-02f, -1.004655436e-01f, + 8.568586409e-02f, 7.489933632e-03f, 3.128130687e-03f, -1.745532849e-03f, + 5.736142769e-02f, 4.373181611e-02f, -1.545722131e-02f, 2.806372195e-02f, + 5.108479038e-02f, -7.301561534e-02f, 7.793253660e-02f, 1.231877729e-01f, + 4.174763709e-02f, -5.982247368e-02f, -1.859774739e-01f, 9.499494731e-02f, + -1.530598290e-02f, -1.057837233e-01f, -1.124375910e-01f, -1.718485504e-01f, + 6.581936032e-02f, -9.243509918e-02f, -1.600933820e-01f, -4.422437400e-03f, + 6.514379382e-02f, 1.172501892e-01f, -8.886047639e-03f, -1.121369377e-02f, + -1.191687658e-01f, 1.153783053e-01f, -1.245095283e-01f, -6.439762563e-02f, + 1.118105650e-01f, -2.800883539e-02f, -3.101324290e-02f, 3.154895827e-02f, + -1.166620478e-02f, 1.137013435e-01f, 1.228386089e-01f, -2.733587287e-02f, + 8.739934862e-02f, -1.299573332e-01f, -4.090064391e-02f, 4.703509621e-03f, + 7.443889976e-02f, -2.464475855e-02f, 4.894680530e-02f, 4.095638916e-02f, + 1.885404736e-01f, 1.034466997e-01f, -1.925895661e-01f, 2.047563903e-02f, + -6.651920825e-02f, 1.264497638e-01f, 1.285648793e-01f, 2.414070964e-01f, + -2.356496826e-02f, 9.605705738e-02f, -2.488250285e-02f, 2.283893526e-02f, + -2.779428847e-02f, 2.980992571e-02f, -1.176832393e-01f, -3.258896992e-02f, + -1.127146110e-01f, 6.765257567e-04f, 1.234487966e-01f, 7.805779576e-02f, + -5.004286394e-02f, -5.396530032e-02f, -1.062263027e-01f, 2.812393708e-03f, + -4.053257406e-02f, 2.898711013e-03f, 1.087335721e-01f, 5.453730375e-02f, + 1.390267015e-01f, 3.770051897e-02f, 1.090313643e-01f, -1.244912818e-01f, + 9.712775238e-03f, 6.875853986e-02f, 6.944069266e-02f, -2.512856387e-02f, + 2.108205110e-02f, -1.003530771e-01f, -6.144186109e-02f, -1.421611458e-01f, + 1.946204156e-01f, -1.058417559e-01f, 1.318969671e-02f, -7.369077951e-02f, + -2.655031905e-02f, -3.439779952e-02f, 3.506936366e-03f, -9.885510802e-02f, + 6.349904835e-02f, -1.710491776e-01f, 5.193412304e-03f, 1.308501977e-02f, + 1.211555749e-01f, 2.016120404e-02f, -1.577335894e-01f, 4.779912531e-02f, + 2.341748402e-02f, -7.884378731e-02f, 4.587430134e-02f, 1.526964158e-01f, + 7.144346833e-03f, 2.353674360e-02f, -2.636440843e-02f, 2.922687214e-03f, + -1.195767149e-01f, 6.839893758e-02f, -6.566846371e-02f, -3.913015127e-02f, + 7.246585190e-02f, -1.499468237e-01f, 1.028859541e-01f, 1.107926890e-01f, + 4.341674596e-02f, -1.900729239e-01f, -6.638090312e-02f, -2.576085925e-02f, + 1.082720086e-01f, -1.072386466e-02f, 1.734171249e-02f, -4.745997861e-02f, + 3.713206202e-02f, 1.082931273e-02f, 3.305368498e-02f, -2.185987085e-01f, + -2.649629489e-03f, -2.179979682e-01f, 2.588865720e-02f, -4.628771544e-02f, + 1.159383059e-01f, -2.161343694e-01f, 1.355678290e-01f, -9.025099687e-03f, + 1.679609865e-01f, -1.142628267e-01f, 1.563337445e-02f, -1.019133534e-02f, + 2.006446943e-02f, 1.272908002e-01f, -1.533570290e-01f, 5.274451338e-03f, + -4.712165892e-02f, 1.624346972e-01f, -1.132814214e-02f, 9.202982485e-02f, + -2.459068596e-02f, 1.094113588e-01f, 9.150702506e-02f, -1.208504662e-01f, + -1.511493772e-01f, -1.016444787e-01f, 2.678566147e-03f, -2.620435692e-02f, + 3.607782302e-03f, -4.919819161e-02f, -8.244957775e-02f, 2.909525670e-02f, + 1.535596605e-02f, 1.453079283e-01f, 1.561259152e-03f, 5.788563564e-02f, + -2.782516740e-02f, 8.880762011e-02f, 2.389686108e-01f, 2.576721646e-02f, + -2.180009522e-02f, -1.207550755e-03f, 1.182662696e-02f, 5.855544657e-02f, + 1.103017479e-03f, -1.147712674e-02f, -6.768467277e-02f, 7.097902894e-02f, + -3.133711591e-02f, -7.876202464e-03f, 6.124131382e-02f, 4.780376330e-03f, + -1.156690866e-01f, 2.307598107e-02f, 1.086428612e-01f, -3.108051419e-02f, + 1.010161936e-01f, -2.274391614e-02f, 1.812558323e-01f, -2.447438240e-02f, + 1.785260439e-01f, -1.290508956e-01f, 8.345782012e-02f, 8.592847735e-02f, + 2.477249689e-02f, 1.132649034e-01f, -3.380102338e-03f, -3.355013579e-02f, + -2.093062922e-02f, -6.321009994e-02f, 4.826376587e-02f, -5.614687130e-02f, + -6.193504483e-02f, 9.989321232e-03f, 9.645088017e-02f, 1.217404194e-02f, + -4.684691504e-02f, -1.037467942e-01f, -1.065934822e-01f, 3.127925843e-02f, + 8.999501169e-02f, -3.209647536e-02f, -6.905243546e-02f, -1.180496812e-02f, + 3.951924294e-02f, -7.020759583e-02f, -2.464645728e-02f, 1.442344487e-01f, + 8.563918620e-02f, -9.525247663e-02f, -9.107908607e-02f, 4.881067201e-02f, + 1.350882053e-01f, 1.976721920e-02f, -1.109192520e-01f, 8.326826245e-02f, + -5.773273110e-02f, -9.616598487e-02f, -1.446146816e-01f, 9.043646604e-02f, + 1.215034500e-01f, 1.664223336e-02f, -6.858892739e-02f, 1.889344305e-01f, + 1.377119571e-01f, -8.002694696e-02f, -8.302626200e-03f, 1.712283306e-02f, + -4.254499823e-02f, -9.055049717e-02f, -1.177939102e-01f, -8.612131327e-02f, + -2.137478907e-03f, -3.372809291e-02f, 3.073113225e-02f, 9.851396084e-02f, + 1.926250197e-02f, 1.221042126e-01f, -6.725913286e-02f, -1.522623282e-02f, + 5.637653545e-02f, -1.389041394e-01f, 2.478160895e-02f, -2.401699871e-02f, + -3.007248975e-02f, -4.053233564e-02f, -4.626526684e-02f, -1.196013018e-01f, + 8.106929064e-02f, 2.121991068e-01f, 1.110418662e-01f, 4.322855547e-02f, + -6.526093185e-02f, 2.630556934e-02f, 2.014222555e-02f, -4.306084290e-02f, + -3.938692063e-02f, -1.615898013e-01f, -9.976040572e-02f, -3.219182044e-02f, + 1.484223828e-02f, 1.837239116e-01f, 8.553840220e-02f, -1.235406147e-03f, + 6.174737588e-02f, 6.227928679e-03f, 1.000579000e-01f, 3.116426617e-02f, + -5.346611887e-02f, -8.637710661e-02f, 8.086325228e-02f, 2.070607990e-02f, + 1.367279291e-01f, 1.962853223e-01f, -4.373737052e-02f, -3.425361216e-02f, + 8.654358238e-02f, 6.509538740e-02f, -7.854506373e-02f, 1.172185987e-01f, + 3.719924763e-02f, 9.560739249e-02f, -7.049579173e-02f, -3.547879308e-02f, + -2.405573381e-03f, 4.358866811e-02f, 8.085718006e-02f, -1.573739052e-01f, + -3.119155206e-02f, -8.797962964e-02f, -1.239645928e-01f, -6.261734664e-02f, + -1.511368454e-01f, -5.557583645e-02f, 1.204282492e-01f, -8.911909908e-02f, + 7.673349977e-02f, -3.919724002e-02f, -1.589818895e-01f, 4.602810740e-02f, + 6.449311972e-02f, 1.078779250e-02f, -1.698519476e-02f, -7.429128140e-02f, + 1.936215535e-02f, -1.318212152e-01f, -8.299704641e-02f, 6.599241495e-02f, + 6.356251426e-03f, 9.825813770e-02f, 9.732526541e-02f, -1.682831943e-01f, + 5.401879549e-02f, 4.396346956e-02f, 3.082190081e-02f, 6.207153201e-02f, + -1.124522462e-01f, -1.127209067e-01f, 2.830980532e-02f, 4.560096934e-02f, + -8.613432199e-02f, 2.034963481e-02f, 8.597159386e-02f, -7.860302925e-02f, + 1.498457510e-02f, 8.627935499e-02f, 6.753561646e-02f, -1.844282448e-01f, + -1.625287980e-01f, -8.175375313e-02f, -1.130300835e-01f, 5.955593660e-02f, + -3.845486091e-03f, -9.891976416e-02f, 1.073698606e-02f, 8.730283380e-02f, + 1.501896083e-01f, 1.483243406e-01f, 1.230698079e-01f, 2.574984916e-02f, + 2.713375911e-02f, -8.671999723e-02f, -7.203214616e-02f, 1.791976765e-02f, + 9.634171613e-03f, -7.978001982e-02f, -8.508407325e-02f, -1.631637514e-01f, + 1.239666343e-01f, 2.733212151e-02f, 5.557017401e-02f, 3.744703159e-02f, + -1.729254797e-02f, 7.032965869e-02f, 6.441331655e-02f, -1.762111336e-01f, + -7.188166678e-02f, 1.193616539e-01f, -8.890727907e-02f, 7.471803576e-02f, + 1.960750110e-02f, 3.175612167e-02f, 5.892193317e-02f, -9.942776524e-03f, + 1.657794118e-01f, 6.564633548e-02f, 2.059525549e-01f, -1.152386237e-02f, + -3.851937503e-02f, 3.122188337e-02f, 1.148417499e-02f, -1.108081862e-01f, + 1.345709153e-02f, -4.997079074e-02f, -7.548033446e-02f, 1.041540410e-02f, + -2.081290632e-01f, -1.219266877e-01f, -9.549190849e-02f, 4.500280693e-02f, + -1.815793067e-01f, 3.623280302e-02f, 1.317917705e-01f, -3.357896209e-02f, + -8.510367572e-02f, 4.305749387e-02f, 3.647539392e-02f, -1.223136410e-01f, + -6.347417831e-02f, 6.901741773e-02f, -4.502282292e-02f, -3.760274127e-02f, + 4.959270358e-02f, -4.834385961e-02f, -1.396994144e-01f, 8.541206829e-03f, + 3.200443462e-02f, 1.811291440e-03f, -9.152346104e-02f, -1.374249440e-02f, + 5.617938563e-02f, 5.036221445e-02f, -5.637761578e-02f, -1.596329063e-01f, + 8.863820881e-02f, -1.239237748e-02f, -9.785009176e-02f, -1.364988536e-01f, + 8.477394469e-03f, -5.932623893e-02f, -1.202522442e-01f, 4.249326512e-02f, + 5.331119150e-02f, 5.128370970e-02f, 9.354800731e-02f, -7.783113420e-02f, + -1.873783022e-01f, -6.360547990e-02f, -6.972432882e-02f, 3.060380556e-02f, + 1.707380079e-02f, 1.619636826e-02f, 1.603410393e-01f, 1.117848456e-01f, + 7.426550239e-02f, 1.143531576e-01f, 4.417389259e-02f, -5.852508475e-04f, + 7.050700486e-03f, 1.892029541e-03f, 8.088223636e-02f, 2.514654994e-01f, + -2.020202763e-02f, 1.496678889e-01f, 7.263653725e-02f, 1.137816980e-01f, + 9.814105183e-02f, 5.330839381e-02f, 6.428183615e-02f, 3.512956202e-02f, + -9.931053221e-02f, 1.252204478e-01f, -1.113595441e-01f, -6.351072341e-02f, + 3.506826609e-02f, 3.771669045e-02f, -3.042011335e-02f, 1.394437253e-01f, + 1.237349287e-01f, -4.508877918e-02f, -6.763691455e-02f, -3.280527890e-02f, + 7.849634439e-02f, 1.196089834e-01f, 1.835795492e-01f, 6.835278124e-02f, + 2.286042459e-02f, -1.678606682e-02f, 8.523236215e-02f, 6.782583892e-02f, + 1.089113355e-01f, -2.717440575e-02f, 7.841238379e-02f, 9.472475946e-02f, + 2.215086855e-02f, -1.749946922e-02f, 8.568240702e-02f, 1.074959561e-01f, + -5.524808541e-02f, -1.203643754e-01f, 3.240979090e-02f, 1.365474798e-02f, + 4.643013701e-02f, -2.590900287e-02f, 1.060443297e-01f, 1.459854543e-01f, + -6.725673378e-02f, 3.265208798e-03f, -9.957214445e-02f, -9.089886211e-03f, + 4.405515268e-02f, 1.738590151e-01f, 1.037461683e-01f, 3.326105699e-02f, + -7.308431715e-02f, -1.104579493e-01f, 2.811328135e-02f, -1.250115335e-01f, + -6.644934416e-02f, 9.532879293e-02f, 9.751416743e-03f, -4.116633162e-02f, + 1.863125861e-01f, -8.384706080e-02f, 1.869746298e-02f, 1.086232737e-01f, + 1.516874880e-01f, -9.677106887e-02f, 5.692335311e-03f, -7.582617551e-02f, + -1.218475178e-01f, -7.097702473e-02f, -7.337661088e-02f, -6.193464994e-02f, + -3.878095001e-02f, 1.463716850e-02f, -6.414692849e-02f, 1.134418920e-01f, + -1.876409724e-02f, -9.172330052e-02f, -1.276017278e-01f, 9.466525912e-02f, + 6.754124165e-02f, -2.067890391e-02f, -9.467588365e-02f, -7.477255911e-02f, + 2.829069854e-04f, 1.702238224e-03f, -8.946845680e-02f, -2.625571750e-02f, + 1.043706238e-01f, -1.343442798e-01f, -6.720060110e-02f, 2.485076524e-02f, + 1.852916479e-01f, -8.093741536e-02f, 2.207322791e-02f, 1.074853316e-01f, + 3.605453670e-02f, 6.084321532e-03f, -1.342793927e-02f, 1.379344016e-01f, + -1.942157596e-01f, -1.548083872e-01f, 9.185372293e-02f, -1.563794017e-01f, + -6.653511524e-02f, 4.413223267e-02f, 3.950100392e-02f, -6.368374079e-02f, + 1.595095992e-01f, 2.455520257e-02f, 3.420903906e-02f, -5.319160223e-02f, + -3.316327929e-02f, -1.431271583e-01f, 1.215693280e-01f, 2.994464524e-02f, + -1.029295772e-01f, -8.134532720e-02f, -6.160179153e-02f, 8.064915240e-02f, + 1.148666888e-01f, 1.448889729e-02f, -1.066953614e-01f, -8.768776804e-02f, + -1.078594010e-02f, 2.999604121e-02f, 2.161356620e-02f, 1.390453577e-01f, + -9.839908034e-02f, -7.867517322e-02f, -1.144028641e-02f, -1.060629189e-01f, + -2.327392250e-02f, 3.166658059e-02f, -9.139904380e-02f, -6.066207588e-02f, + -7.159918547e-02f, 1.508691609e-01f, 1.299213469e-01f, 9.252828546e-03f, + 4.327252135e-02f, -6.231447309e-02f, 1.573743969e-01f, -3.279777989e-02f, + 7.879131287e-02f, -1.098247766e-01f, 8.844138682e-02f, 2.735786885e-02f, + 4.887088016e-02f, 2.723255940e-02f, 6.425122917e-02f, -2.539799362e-02f, + 1.703678071e-01f, 3.062945418e-02f, -1.138721928e-01f, 2.498591878e-02f, + 1.283376515e-01f, 1.105971411e-01f, -1.098108515e-01f, -7.555679977e-02f, + -2.115392126e-02f, 1.097292602e-01f, -4.381092265e-02f, 3.901559860e-02f, + 1.148708612e-01f, 1.335179210e-01f, -5.829036236e-02f, 8.340181783e-03f, + -8.647415787e-02f, -6.148294359e-02f, 1.642080545e-01f, 7.892531157e-02f, + 1.073906571e-02f, 4.213416949e-03f, 1.348514110e-01f, 1.288394928e-01f, + -1.264082342e-01f, -4.679001868e-02f, 7.101910561e-02f, 8.168638684e-03f, + -1.885591596e-01f, -2.143838815e-02f, -7.826394401e-03f, 1.021656767e-01f, + 7.292110473e-02f, -4.045614228e-02f, 4.416933656e-02f, 2.566407062e-02f, + 1.056445166e-01f, 1.963202208e-01f, -5.053012446e-02f, 9.297970682e-02f, + -6.543575227e-02f, 8.563062549e-02f, 6.392055750e-02f, 9.528478235e-02f, + -2.642341703e-02f, -9.080306441e-02f, 3.009889461e-02f, -1.189959794e-01f, + -7.647149265e-02f, -2.744847350e-02f, 9.259064496e-02f, -9.099133313e-02f, + -5.888139084e-02f, 3.027833439e-02f, 2.620783262e-02f, -1.161582768e-01f, + -5.952406675e-02f, 1.235263329e-02f, -8.620712161e-02f, 1.048475057e-01f, + 5.834994465e-02f, 7.626406103e-02f, -1.121126190e-01f, 1.630154066e-02f, + 1.440837793e-02f, -8.916354179e-02f, -1.177560315e-01f, -2.033596635e-01f, + 3.970759362e-02f, 4.260784760e-02f, 3.171449527e-02f, 3.122634627e-02f, + 8.190548420e-02f, 5.521160737e-02f, -7.725674659e-02f, 1.535014808e-01f, + -5.659715831e-02f, 2.014095336e-01f, -1.782448888e-01f, -2.470236272e-02f, + -1.097296700e-01f, -5.066163465e-02f, -1.001686305e-01f, 2.762195282e-02f, + -1.166342944e-02f, -2.536295541e-02f, -1.831068657e-02f, 7.034375519e-02f, + 6.718023214e-03f, -6.326202303e-02f, 1.102515310e-01f, 4.321269318e-02f, + 1.080943942e-01f, -1.304108948e-01f, -3.370722756e-02f, 9.055816382e-02f, + -1.783294976e-01f, -4.642666131e-02f, -6.005510315e-02f, -9.275443852e-03f, + -1.188359037e-01f, -3.522955254e-02f, -7.151252776e-02f, -1.428269744e-01f, + 5.700651184e-02f, 2.457333356e-02f, -1.007118896e-01f, 9.595869482e-02f, + -5.138007924e-02f, -1.545062512e-01f, 1.083612517e-01f, -4.036954418e-02f, + 6.415419281e-02f, 9.184324741e-02f, 1.256961375e-02f, -1.030704007e-01f, + -1.696930453e-02f, -2.058777809e-01f, 2.057132572e-01f, -8.443598449e-02f, + 1.040965319e-01f, 4.352691025e-02f, 6.292803586e-02f, 2.126346156e-02f, + 9.426469356e-02f, 3.538446873e-02f, 7.354152855e-03f, -7.181305904e-03f, + -8.383429050e-02f, 7.733067870e-02f, 5.909883231e-02f, -2.026091889e-02f, + -2.249737084e-02f, 8.971058764e-03f, -7.263943553e-02f, 1.803877950e-02f, + -1.742051691e-01f, -1.241113171e-01f, -6.281337142e-02f, -9.430828504e-03f, + -9.534015507e-02f, 5.328848213e-02f, 6.297606230e-02f, 2.001125365e-02f, + -6.811382622e-02f, 7.194469869e-02f, 1.340960115e-01f, -1.166953593e-01f, + 6.851825118e-02f, -1.180447713e-01f, -3.726577014e-02f, -3.646720946e-02f, + -4.714494944e-02f, -8.891955018e-03f, 4.053192213e-02f, -1.266371310e-01f, + 9.503743052e-02f, -7.497410476e-02f, -8.431156725e-02f, 6.491300464e-02f, + 7.289290428e-02f, 1.782104522e-01f, 8.648926020e-02f, 2.083631232e-02f, + 1.136179864e-01f, -1.392516494e-02f, -9.779587388e-02f, 7.167261094e-02f, + 7.670544833e-02f, -6.161952857e-03f, 1.373424567e-02f, 1.394616161e-02f, + -3.205929697e-02f, 2.940322272e-02f, 7.950840890e-02f, -3.000082076e-02f, + -5.161328614e-02f, -1.201456264e-01f, -4.827250168e-02f, -1.719492078e-01f, + 1.120019853e-01f, 1.026029661e-01f, 1.490755677e-01f, 7.037898153e-02f, + 1.105782315e-01f, -1.071599051e-01f, -5.189357698e-02f, -1.418523043e-01f, + 8.649121225e-02f, -7.299673557e-02f, -5.141801760e-02f, 5.059701391e-03f, + 7.225596160e-02f, -3.473021090e-02f, -3.365287930e-02f, -8.400472999e-02f, + 3.424334526e-02f, -1.016996354e-01f, 1.138640344e-01f, -7.659993321e-02f, + 2.294249646e-02f, -6.311445683e-02f, -9.995650500e-02f, -1.594862491e-01f, + 4.069623351e-02f, -1.466432586e-02f, 7.596314698e-02f, 2.839539945e-02f, + 2.890987135e-02f, -1.707622781e-02f, -1.994277351e-02f, 1.230381578e-01f, + 1.092618033e-01f, -1.486186087e-01f, -4.304895177e-02f, 2.059112638e-01f, + 1.278427392e-01f, 1.272861362e-01f, -1.427716762e-01f, 1.033573821e-01f, + -4.890770465e-02f, -1.545569152e-01f, -2.579312585e-02f, -1.141643003e-01f, + 1.615554541e-01f, 4.397525266e-02f, 6.066242978e-02f, 1.170952991e-01f, + -5.184562877e-02f, -1.013299748e-01f, -4.999190196e-02f, -1.817747951e-02f, + -2.145660855e-02f, -7.251673937e-02f, -5.381694064e-02f, -4.941522609e-03f, + 1.384174079e-01f, 1.501853317e-01f, -8.804976940e-02f, 4.761365242e-03f, + 5.946933851e-02f, 1.000919417e-01f, -3.632840514e-02f, 8.686381392e-03f, + 8.530334383e-02f, -3.846514970e-02f, -3.813222051e-02f, -1.665141061e-02f, + 3.274450079e-02f, -1.677644998e-01f, 1.129383668e-01f, -3.261824325e-02f, + 4.634637386e-03f, 1.561823883e-03f, -3.555436432e-02f, -7.432234287e-02f, + -2.214588821e-01f, 1.423047781e-01f, 1.321905851e-01f, -6.179396808e-02f, + -7.636653632e-02f, 1.628901623e-02f, -1.522313952e-01f, 6.444731355e-02f, + 7.767517865e-02f, 1.323000491e-01f, 6.186858751e-03f, -5.065924302e-02f, + 3.871043772e-02f, 2.173172310e-02f, 4.013539851e-02f, 3.972486407e-02f, + -4.214186687e-03f, 1.625522971e-03f, -6.746972352e-02f, 1.918924856e-03f, + 6.896593422e-02f, -6.523490697e-02f, 7.242530584e-02f, 3.102723137e-02f, + -9.134339541e-02f, 7.832973450e-02f, 1.917818189e-02f, 1.086925715e-01f, + -9.727612883e-02f, -9.952375293e-02f, -8.816810697e-02f, -1.198471896e-02f, + 7.669578493e-02f, 2.682688273e-02f, -9.752468765e-02f, 7.610105723e-02f, + -3.084677458e-02f, 1.584599018e-01f, 1.033680290e-01f, -3.717505606e-03f, + 1.769177616e-01f, -4.120438918e-02f, 6.068163365e-02f, -6.753103435e-02f, + 8.123708516e-02f, 4.320704192e-02f, 5.380018055e-02f, -1.569394469e-01f, + -8.774995804e-02f, -1.792144403e-02f, -4.648547247e-02f, 8.717923611e-02f, + 4.210013524e-02f, 2.685156651e-02f, -8.312223852e-02f, 5.376229063e-02f, + 1.456930786e-01f, 2.877026796e-02f, 1.211353019e-01f, 8.121625334e-02f, + -5.798770115e-02f, -1.526223272e-01f, 9.508043528e-02f, 6.750511471e-03f, + 6.500633061e-02f, 1.413588822e-01f, -7.822225988e-02f, -3.585559130e-02f, + -2.540116757e-02f, 3.576247022e-02f, 7.307942957e-02f, 8.184764534e-02f, + 1.246418282e-01f, 2.590896934e-02f, -1.246844903e-01f, 7.079738379e-02f, + -1.513020042e-02f, -9.237331897e-02f, 4.673979059e-02f, -1.603931747e-02f, + 1.121306270e-01f, -1.308760345e-01f, 5.039573181e-03f, -5.396055058e-02f, + -3.118352406e-02f, 3.989250958e-02f, 3.806668567e-03f, -2.777885646e-02f, + -2.287981659e-01f, -1.589271799e-02f, 2.260208875e-02f, -1.503094733e-01f, + -1.546168607e-02f, -3.581379727e-02f, -2.731634304e-02f, -2.405534536e-01f, + -1.462160349e-01f, -1.595534980e-01f, 1.629222482e-01f, 6.800582260e-02f, + -4.692072049e-02f, 1.374278404e-02f, -1.608931720e-01f, 7.487694174e-02f, + -1.810398102e-01f, -4.562249407e-02f, 1.758291572e-02f, -7.304961234e-02f, + 1.210298017e-01f, 4.429654032e-02f, -3.461923078e-02f, -3.733326495e-02f, + 6.360467523e-02f, -4.226594046e-02f, -1.275518090e-01f, -2.348259091e-01f, + -2.337790728e-01f, -2.847284079e-02f, 3.672109917e-02f, -2.388758026e-02f, + 8.758897334e-02f, -7.504864037e-02f, -1.337031126e-01f, 4.310812801e-03f, + -9.737028182e-02f, -6.378742307e-02f, -8.429040760e-02f, -1.623213105e-02f, + -3.035289410e-04f, -4.586664587e-02f, 1.233555675e-01f, -1.054939106e-01f, + -1.197180524e-02f, 2.681485005e-02f, 4.758269712e-02f, -2.061148360e-02f, + -3.890721127e-02f, 2.353165299e-02f, 8.552871644e-02f, -5.656717811e-03f, + 1.240129769e-01f, 1.519151032e-02f, 1.947158948e-02f, -1.026858296e-02f, + -3.456807137e-02f, -2.220767140e-01f, 9.711682051e-02f, -1.135211214e-01f, + 6.156749278e-02f, -1.648605429e-02f, 5.803386867e-02f, 8.566123992e-02f, + 6.672082096e-02f, -1.374979466e-01f, -2.730068564e-01f, 4.910689779e-03f, + 1.418873072e-01f, 9.189287666e-04f, -2.014349960e-02f, 3.196984529e-02f, + -4.294497892e-02f, -2.834281139e-02f, 1.980086602e-02f, 5.226684362e-02f, + -6.873994321e-02f, -2.027107179e-01f, 3.626731783e-02f, 6.595389545e-02f, + 4.109719023e-02f, 1.204770952e-01f, 4.650847241e-02f, -1.317745596e-01f, + 5.718239024e-02f, 1.363409162e-01f, -3.608818352e-02f, -1.463387161e-01f, + 2.204362676e-02f, -5.878839642e-02f, -4.995020851e-02f, 9.143463522e-02f, + -6.831679493e-02f, -5.716276169e-02f, 7.074452192e-02f, -4.222822934e-02f, + 6.126133958e-04f, 6.324860454e-02f, 4.748702794e-02f, 8.166810125e-02f, + 4.135296494e-02f, 2.163238823e-04f, 8.271246403e-02f, -7.635842264e-02f, + -2.589744143e-02f, 5.688809976e-02f, -5.111032166e-03f, -2.287178785e-01f, + 9.777664393e-02f, 8.265859447e-03f, -6.503136456e-02f, 6.538884714e-03f, + -7.007196546e-02f, -9.765597433e-02f, -1.366517991e-01f, 7.714806497e-02f, + 3.329224885e-02f, 1.362444609e-01f, 2.585936897e-02f, 4.461608082e-02f, + -5.875320639e-03f, -4.484191164e-02f, 7.926607877e-02f, -6.865999103e-02f, + 2.826046385e-02f, 5.370737636e-04f, 3.307135031e-02f, -6.520379335e-02f, + -1.004450321e-01f, 1.816734113e-02f, -7.474262267e-02f, -6.410426460e-03f, + -1.290201396e-01f, -2.457159013e-02f, -5.463158712e-02f, 1.431174278e-01f, + 1.278275624e-02f, -8.955254406e-02f, -9.265968949e-02f, 7.686129212e-02f, + 5.557058379e-02f, 8.383496851e-02f, -1.418215316e-02f, 8.630977571e-02f, + -1.123323068e-01f, -4.576136917e-02f, -3.136768192e-02f, 7.209485769e-02f, + 1.624004729e-02f, 3.110211790e-01f, -1.382288188e-01f, -9.522521496e-02f, + 1.205497459e-01f, 6.509302557e-02f, 3.232099488e-02f, 6.656880677e-02f, + 1.371934172e-02f, 2.473092824e-02f, -7.357738446e-03f, -1.295031458e-01f, + -1.655209363e-01f, 2.066428959e-02f, 1.192071512e-01f, -5.176649429e-03f, + 7.939072698e-02f, 3.203844279e-02f, 7.147254655e-04f, 6.069047749e-02f, + 6.942078471e-02f, -8.183748275e-02f, 4.192848876e-02f, -9.447328746e-02f, + 7.493296266e-02f, 4.700686783e-02f, -1.643891074e-02f, 2.396114916e-02f, + -1.741861701e-01f, -6.909432262e-02f, -9.152282029e-02f, -4.440632090e-02f, + -1.686876863e-01f, 5.276677012e-02f, -3.327488899e-02f, 3.005211987e-02f, + 1.115881205e-01f, 1.848533750e-01f, 2.747821994e-02f, -1.358984038e-02f, + -5.179523677e-02f, -1.144153550e-01f, 4.443962499e-02f, 2.576321363e-02f, + -1.360957026e-01f, -2.109673619e-01f, -9.926130995e-03f, -6.552845985e-02f, + 6.461296976e-02f, 1.091927066e-01f, 2.367290668e-02f, -1.680819094e-01f, + 2.049400359e-01f, 1.283403486e-01f, 5.720750615e-02f, -6.539611518e-02f, + -1.336048841e-01f, -1.462066080e-02f, -7.998134941e-03f, -8.988860250e-02f, + -1.075468287e-01f, 5.292104930e-02f, 1.728817821e-02f, 3.950199857e-02f, + 1.918895356e-02f, -3.583614528e-02f, 3.215761855e-02f, -1.814069785e-02f, + -3.045823239e-02f, 1.185580529e-02f, -1.200201213e-01f, 1.398120821e-02f, + -5.881861970e-02f, -4.835856333e-02f, 8.322761953e-02f, -9.524332732e-02f, + -1.110643744e-01f, -2.933404874e-03f, 1.257174015e-01f, -8.993018419e-02f, + -4.208221287e-02f, 3.456674144e-02f, 7.262656093e-02f, -1.192653775e-01f, + 6.564767659e-02f, -1.046628803e-01f, 4.247425124e-02f, -1.683115587e-02f, + -2.928397618e-02f, -2.764667198e-02f, -1.048625559e-01f, 9.811666608e-02f, + 9.599229693e-02f, 3.563394770e-02f, -1.123338118e-01f, -4.826062918e-02f, + -1.146809533e-01f, -1.993191615e-02f, -5.396197084e-03f, -1.334580481e-01f, + -3.183505032e-03f, 1.120861694e-01f, 1.265753154e-02f, -2.200957201e-02f, + 2.854221128e-02f, 7.679280639e-02f, 2.787942253e-02f, -1.145189703e-01f, + 7.261015475e-02f, -3.595206141e-02f, 1.025606394e-01f, 1.904564202e-01f, + 6.879457831e-02f, -6.557678431e-02f, -2.152395248e-02f, -8.907764405e-02f, + 3.426982462e-02f, -6.343945861e-03f, -1.660028547e-01f, -3.278512508e-02f, + 6.202575937e-02f, -6.627382338e-02f, -9.690205008e-02f, -9.999347478e-02f, + -1.386156678e-01f, 6.160462648e-02f, -5.449634790e-02f, -1.621364802e-01f, + 1.994707733e-01f, 1.189669818e-01f, 1.009959728e-01f, 2.749297209e-02f, + 4.980811477e-02f, -4.730723053e-02f, 1.317396462e-01f, -1.782188714e-01f, + -1.749400236e-02f, -1.832706854e-02f, 6.643848959e-03f, 1.545511559e-02f, + -8.810127527e-02f, 9.239775687e-02f, 7.823199034e-02f, 6.635233015e-02f, + -8.257981390e-02f, 9.019482881e-02f, 1.906685717e-02f, -1.067590639e-01f, + 1.331069469e-01f, 3.064124659e-02f, -5.726198852e-02f, -1.177676246e-01f, + -1.021885313e-02f, -4.579454288e-02f, 1.480471939e-01f, 7.305438071e-02f, + 9.719250351e-02f, -9.332467616e-02f, -6.027390435e-02f, -5.118936300e-02f, + 1.003571376e-01f, 4.522492737e-02f, 1.533738971e-01f, 6.914005429e-02f, + -9.314934909e-02f, -5.820999295e-02f, 2.142446488e-02f, -1.634886265e-01f, + 7.489304990e-02f, -8.261736482e-02f, 6.949345767e-02f, -1.398634911e-02f, + 4.376002029e-02f, 1.094014645e-01f, -3.213392338e-03f, -5.280299112e-02f, + -7.628214546e-03f, 1.892233640e-02f, 3.482105955e-02f, 1.078770682e-01f, + 3.281537816e-02f, 7.950029522e-02f, 3.340802342e-02f, -8.918926120e-03f, + -1.081155241e-01f, -1.407666802e-01f, 2.649229765e-02f, -1.592572778e-01f, + -1.692381315e-02f, -6.317670643e-02f, -3.038431460e-04f, -1.619255170e-02f, + -5.989924446e-02f, 5.559482053e-02f, -9.186339378e-02f, 1.863419265e-02f, + -7.361260802e-02f, 1.135773435e-01f, 7.266523689e-02f, -6.419816613e-02f, + -6.243792549e-02f, -5.868358165e-02f, -1.635475270e-02f, -7.139349729e-02f, + -9.124717116e-02f, -4.518363997e-02f, -3.861990944e-02f, -7.191344630e-03f, + -5.553217232e-02f, -4.764202982e-02f, 5.987034366e-02f, -4.022402316e-02f, + -1.554328762e-02f, 1.498580128e-01f, -2.774900757e-02f, -1.860479265e-01f, + 3.062779084e-02f, -1.432352350e-03f, 6.280064583e-02f, 2.014974505e-01f, + 5.574670807e-02f, 8.313629776e-03f, 8.751702309e-02f, -1.149271615e-03f, + -1.773102209e-03f, -1.303273886e-01f, 1.056062132e-01f, -4.869121686e-02f, + 4.939209297e-02f, -2.064958513e-01f, -4.110951722e-02f, -8.277620375e-02f, + -9.852799028e-02f, 1.215574741e-01f, 3.480872512e-02f, 2.716662548e-02f, + 1.649243236e-01f, 1.223795265e-01f, 6.485224515e-02f, -3.491891315e-03f, + 1.886256188e-01f, -1.097607166e-01f, -4.762817919e-02f, 1.036396399e-01f, + 1.188530400e-01f, -3.264396638e-02f, -1.177932695e-01f, 1.773671955e-01f, + -1.619922817e-01f, -2.653876692e-02f, 2.960209362e-02f, -9.687987715e-02f, + -1.867491193e-02f, -1.721615717e-02f, 1.662819237e-01f, -6.391000748e-02f, + -1.480582952e-01f, 2.124829777e-02f, 6.382049527e-03f, 1.888520420e-01f, + -6.357193738e-02f, -1.423012931e-02f, -1.474830359e-01f, 1.545546763e-02f, + -1.716455370e-01f, -1.328326464e-01f, 5.094157532e-02f, -2.210265584e-02f, + -3.279906884e-02f, -4.168847576e-02f, 1.089962572e-01f, 1.210611612e-01f, + -3.891884163e-02f, -2.596219257e-02f, 3.184563667e-02f, -9.247846901e-02f, + 2.891935967e-02f, -1.335229278e-01f, -9.767477214e-02f, 2.388710529e-01f, + -9.512339719e-03f, -2.083862945e-02f, -5.996489897e-02f, 7.289794832e-02f, + -2.459717542e-02f, 9.887900949e-02f, -7.700845599e-04f, 1.216989309e-01f, + 5.230155960e-02f, -1.040825341e-02f, 5.744474009e-02f, 2.275060862e-02f, + -6.614483148e-02f, 7.505165413e-03f, 2.156204730e-02f, 7.194375247e-02f, + -4.181966651e-03f, 1.430002153e-01f, -5.875022151e-03f, 1.982979774e-01f, + 1.277308166e-01f, 1.055739224e-01f, -1.056014001e-01f, -1.395338923e-01f, + 7.593303174e-02f, -1.366878767e-02f, -1.233727857e-02f, 1.034478098e-01f, + 1.545930095e-02f, 8.021705598e-02f, -2.682230063e-02f, -4.327159375e-02f, + -5.567873013e-04f, -2.560654189e-03f, 2.469073236e-02f, -5.032209307e-02f, + -2.405970357e-02f, -1.800355911e-01f, -1.935895085e-01f, 4.355356842e-02f, + 4.615174979e-02f, 6.810254604e-02f, -2.027245797e-02f, 2.036576904e-02f, + 3.720690683e-02f, 4.020111263e-02f, -1.272746921e-01f, -4.987800494e-02f, + 4.979702458e-02f, -1.066574380e-01f, 8.052833378e-02f, -2.454207838e-02f, + 9.715854190e-03f, 3.436466795e-04f, 2.253751270e-02f, -8.366946131e-02f, + 4.793880880e-02f, -9.631553292e-02f, -4.906357452e-02f, 2.197856642e-02f, + 5.537309125e-02f, -1.263290793e-01f, 1.229300946e-01f, 5.007595569e-02f, + -9.100639075e-02f, -1.045114174e-01f, 6.711278111e-02f, -7.483029366e-02f, + 1.580778882e-02f, -7.677200437e-02f, 6.636818498e-02f, -8.814579993e-02f, + 9.245648235e-02f, 1.536746603e-02f, 1.087166220e-01f, 2.503126673e-02f, + -1.595002562e-01f, -7.117877156e-02f, -1.476945728e-01f, 7.192377746e-02f, + -7.221975923e-02f, -1.641647071e-01f, 6.665611267e-02f, -1.697952598e-01f, + -2.182743549e-01f, 1.665901951e-02f, 4.191841930e-02f, 2.728115767e-03f, + 8.938490599e-02f, 6.050339714e-02f, -9.917918593e-02f, -1.208724570e-04f, + -1.935699768e-02f, 1.059890538e-01f, -9.672588110e-02f, 7.870493084e-02f, + -8.546676487e-02f, 2.671816573e-02f, -1.269258857e-01f, -1.190019399e-01f, + 6.188616902e-02f, 8.462757803e-03f, -3.896426037e-02f, -5.657124892e-02f, + 8.616679162e-02f, -9.660384804e-02f, -1.283224225e-01f, -1.670515239e-01f, + 9.907781333e-02f, -2.582533099e-02f, -3.986781090e-02f, -2.201899141e-01f, + 8.002666384e-02f, -1.164342612e-01f, -7.831183821e-02f, -1.866540760e-01f, + 2.342953160e-02f, -1.137529165e-01f, -8.926926553e-02f, 2.537882142e-02f, + -1.407074183e-02f, -1.020107567e-01f, 1.099371463e-01f, 2.984511666e-02f, + 2.711905167e-02f, -3.281880170e-02f, -1.542712152e-01f, 5.275558308e-02f, + 6.783770770e-02f, 4.347947985e-02f, 1.400315762e-01f, 2.195266262e-02f, + -9.554753453e-02f, -1.727319881e-02f, -1.088511646e-01f, 4.312728345e-02f, + -3.820460290e-02f, 5.030401796e-02f, 3.615174815e-02f, -1.129333302e-01f, + -6.017120555e-02f, 1.062964275e-02f, -9.770365804e-02f, -9.489098191e-02f, + 1.211304814e-01f, -1.729549468e-02f, 1.895801872e-01f, -2.087984048e-02f, + 5.979102105e-02f, -1.849517524e-01f, -6.202981248e-02f, 1.156496853e-01f, + -5.661224946e-02f, 1.981634274e-02f, -1.174969077e-01f, 5.058933422e-02f, + -1.773826778e-01f, -6.116357446e-02f, -8.404024690e-02f, 1.559227984e-02f, + -2.432464808e-02f, 1.147245318e-01f, -6.588480622e-02f, 4.559428245e-02f, + -8.092623204e-02f, 5.325923860e-02f, -2.360027134e-01f, -1.295379084e-02f, + 3.032947890e-02f, -5.626229942e-02f, -1.352850348e-02f, 1.218247712e-01f, + 1.481440663e-01f, 5.091427267e-02f, -7.199659199e-02f, -1.342745684e-02f, + 1.507588476e-01f, 1.799663343e-02f, 9.769854695e-02f, 1.158195436e-01f, + -5.530084297e-02f, -9.168007225e-02f, -1.042541042e-01f, -7.391086966e-02f, + -8.752787113e-02f, 1.034482643e-01f, 2.376631275e-02f, 3.311807662e-02f, + -8.373172581e-02f, -4.676751792e-02f, 8.994429372e-03f, -5.630705506e-03f, + 7.806239277e-02f, -1.527820900e-02f, -2.422818169e-02f, 9.016100317e-02f, + -1.257875264e-01f, -7.778591663e-02f, -1.727157980e-01f, 5.429492891e-02f, + -3.877213970e-02f, 4.930997640e-02f, -9.024959803e-02f, -1.337201893e-01f, + -3.414000571e-02f, 4.272390623e-03f, 1.792471707e-01f, 5.806798488e-02f, + 9.106150828e-03f, -4.357134551e-02f, 3.460141644e-02f, -1.332704872e-01f, + -5.218846351e-02f, 3.301835433e-02f, 1.225222275e-01f, -6.858099252e-02f, + -2.519519255e-02f, 1.748623513e-02f, -1.048707068e-01f, -8.777324855e-02f, + 1.947700419e-02f, -6.723181158e-02f, -6.919634994e-03f, -8.868819475e-02f, + -1.861434579e-01f, -2.074419260e-01f, 6.458416581e-02f, 2.874731086e-02f, + 9.318431467e-02f, 2.245301008e-02f, -2.781949472e-03f, -1.011614650e-01f, + 2.466039965e-03f, 1.101810262e-01f, 2.668424323e-02f, 2.068462223e-01f, + 1.721447147e-02f, 6.458248198e-02f, 1.398429722e-01f, -7.484232634e-02f, + 9.342699312e-03f, -9.312159382e-03f, 4.958139360e-02f, 9.430143982e-02f, + -1.787287742e-02f, -9.135589749e-02f, -1.110392436e-01f, -1.947798394e-02f, + -7.608398050e-02f, -8.745939285e-02f, 8.946207911e-02f, -7.760435808e-03f, + -7.828173786e-02f, -9.252160043e-02f, 7.324367017e-02f, 9.090559930e-02f, + 1.167974174e-01f, 1.345145851e-01f, -8.509632945e-02f, 9.503977746e-02f, + -7.848173380e-03f, 7.353328168e-02f, 7.767348737e-02f, 1.175222133e-04f, + 4.374023993e-03f, 1.193927899e-01f, 3.249989077e-02f, -1.145028323e-01f, + 7.186679635e-03f, 8.079532534e-02f, -1.301151514e-01f, -2.303013392e-02f, + -1.212849654e-02f, -8.506622165e-02f, -4.660724476e-02f, -7.405637205e-02f, + 2.846852876e-02f, -5.594021454e-02f, -7.929614931e-02f, -1.428698897e-01f, + 3.125771508e-02f, -5.024953559e-02f, -2.181774378e-01f, 9.986180067e-02f, + -1.573310196e-01f, 1.066376362e-02f, -5.481218174e-02f, -3.615648672e-02f, + -1.071477383e-01f, -4.584296793e-02f, 1.257921159e-01f, 5.183585733e-02f, + 4.036463052e-02f, 1.240095794e-01f, 7.298099250e-02f, 1.311377138e-01f, + -8.201640099e-02f, 9.831461357e-04f, -3.569798172e-02f, 2.809775993e-02f, + 7.733147591e-02f, 1.471878774e-02f, 1.893106848e-03f, -2.621938847e-02f, + 2.982033475e-04f, -1.437610090e-01f, -1.451152563e-01f, -2.535708249e-03f, + 2.006447874e-02f, 7.714794576e-02f, 1.046846136e-01f, 1.921056360e-01f, + -1.498454809e-01f, -2.751388215e-02f, 9.622824378e-03f, 6.614132971e-02f, + 1.589570343e-01f, -6.785792112e-02f, 1.236402094e-01f, 1.012566034e-02f, + 7.990648597e-02f, -2.893659286e-02f, 1.120827794e-01f, -8.084096014e-02f, + 6.129126251e-02f, -6.183279306e-02f, 7.266358286e-02f, 1.315431148e-01f, + -3.607412800e-02f, 8.033227921e-02f, -9.813076258e-02f, 3.122325800e-02f, + 5.264364183e-03f, 1.091080159e-01f, -3.839442879e-02f, -2.208430879e-02f, + 6.756366789e-02f, 1.015437916e-01f, 1.123606637e-01f, 4.983391240e-02f, + 1.148920320e-02f, 3.261050582e-02f, 1.029442474e-01f, -1.158375144e-01f, + -9.138753638e-03f, -4.889694974e-03f, 1.290594786e-01f, 2.033727318e-01f, + 5.431015790e-02f, 1.940738410e-01f, 6.880962849e-02f, -3.022002056e-02f, + -3.412822494e-03f, 5.315966532e-02f, -1.453428268e-01f, -5.743163824e-02f, + -4.133614525e-02f, 1.678709537e-01f, -5.724682007e-03f, -1.536304951e-01f, + -3.284162283e-02f, 2.662640251e-02f, 2.595455945e-02f, 7.839178666e-03f, + 9.559912235e-02f, 1.372872889e-01f, -4.165232182e-02f, 6.755127688e-04f, + 2.648101188e-03f, -9.631229937e-02f, 9.981586784e-02f, 4.354799911e-02f, + 3.006199747e-02f, -1.566359997e-01f, -3.342057765e-02f, -1.422870159e-02f, + 6.421087682e-02f, -2.193785086e-02f, -6.874476094e-03f, 5.105074495e-02f, + -1.015967950e-01f, -8.724460751e-02f, 1.072934419e-01f, -4.690154642e-02f, + -8.617371321e-02f, -8.710771054e-02f, 7.210509479e-02f, 3.925630450e-02f, + 1.693684161e-01f, 1.769519150e-01f, -1.493234038e-01f, -1.110037640e-01f, + -2.646797337e-02f, 1.229909807e-02f, 1.326291561e-01f, 2.946346626e-02f, + 4.208553582e-02f, 6.660193950e-02f, 9.291835874e-02f, -2.126681432e-02f, + 1.792513132e-01f, -8.157175034e-03f, -1.102344915e-01f, -1.091654301e-01f, + -1.400407311e-02f, -1.098730136e-02f, -1.372593641e-01f, 1.442047805e-01f, + 5.959030706e-03f, -6.369115412e-02f, -3.843205795e-02f, 3.405662999e-02f, + -5.467610434e-02f, -2.554658800e-02f, -1.347624511e-01f, -9.059427679e-02f, + 1.668886840e-01f, 2.284971764e-03f, 1.133789644e-01f, 1.040142179e-01f, + -1.122654900e-01f, -1.937276870e-01f, -3.101807646e-02f, -5.530477501e-04f, + 1.453566551e-01f, 8.168452978e-02f, -1.547943354e-01f, -3.670337051e-02f, + -3.463997319e-02f, 1.202257797e-01f, 4.676223546e-02f, -4.289461300e-02f, + -6.332530826e-02f, -7.143764198e-02f, 1.056447551e-01f, 1.658434980e-02f, + -1.664771885e-02f, 2.240823768e-02f, 5.404058099e-02f, 9.225264937e-02f, + 6.306055933e-02f, 6.416746974e-02f, -1.959964037e-01f, -6.444591284e-02f, + 1.529179364e-01f, 3.294781595e-02f, 1.928232051e-02f, -3.701142967e-02f, + -1.352400333e-01f, 5.305341445e-03f, 1.124978885e-01f, -1.611611620e-02f, + -7.549795322e-03f, 9.210436791e-02f, -1.143883616e-01f, 5.963030457e-02f, + -5.155597255e-02f, 6.107999012e-02f, 7.381910831e-02f, -1.426137239e-01f, + -3.846237436e-03f, -5.707122758e-02f, -1.025026068e-01f, 1.440055519e-01f, + 9.960374236e-02f, -2.173810825e-02f, -1.068859454e-02f, -8.765022457e-02f, + 2.814394832e-01f, 3.167568892e-02f, 3.874780238e-02f, -5.578013510e-02f, + 4.073034599e-02f, -1.753710583e-02f, 2.655976266e-02f, -8.115993813e-03f, + 4.734144732e-02f, -4.977183789e-02f, 8.087234944e-02f, -7.637631614e-03f, + 1.139151752e-01f, 1.686375961e-02f, 5.869301502e-03f, -2.934867889e-02f, + -1.336917132e-01f, 1.348998025e-02f, -5.608132854e-02f, 3.800939536e-03f, + -6.738711894e-02f, -6.662464235e-03f, 2.114260346e-01f, 4.542643577e-02f, + -8.030084521e-02f, 2.657190152e-02f, 2.945736283e-03f, 6.020834297e-02f, + -6.428593397e-02f, 2.763449401e-02f, -1.095711291e-01f, -1.221267134e-01f, + -1.381288916e-01f, -1.286655068e-01f, -5.667242408e-02f, -1.756720841e-01f, + -4.650731012e-02f, -1.578603685e-01f, 6.373279728e-03f, 1.306020319e-01f, + 8.899500966e-02f, 5.283137411e-02f, 1.758833230e-02f, -8.971365541e-02f, + -2.150448039e-02f, -3.519057110e-02f, 4.311910272e-02f, 1.022022739e-01f, + 4.328698665e-02f, -1.474056244e-01f, 1.225495338e-02f, 1.322622895e-01f, + 2.311955579e-02f, 4.821233451e-02f, -7.497455925e-02f, -2.254201099e-02f, + -5.723677203e-02f, 1.620952040e-01f, 1.637020707e-01f, 2.275848761e-02f, + 9.781688452e-02f, 3.599831462e-02f, 1.458574086e-03f, 9.597985446e-02f, + -1.263264418e-01f, 5.547355860e-03f, 1.523205042e-01f, -6.001295522e-02f, + -3.659289330e-02f, 5.519892275e-02f, -2.576705813e-01f, 2.051532567e-01f, + -5.155164376e-02f, -4.838978872e-02f, -1.447267830e-02f, 3.084348328e-02f, + -1.037545279e-01f, -1.550002098e-01f, 7.554259896e-02f, 2.354890481e-02f, + -4.073197022e-03f, 7.714571059e-02f, -4.739443213e-02f, -5.113155767e-02f, + -1.300873011e-01f, 6.719886512e-02f, -1.825560071e-02f, -1.581164263e-02f, + -4.882705957e-02f, 5.914646387e-02f, 8.990743756e-02f, 2.561480403e-01f, + -3.812851384e-02f, -7.713884860e-02f, 6.196412817e-02f, 5.650838837e-02f, + 1.381503940e-01f, 8.549109846e-02f, 3.358882293e-02f, 1.068078727e-01f, + 1.744862646e-01f, 1.140019968e-01f, 3.368188441e-02f, -4.273744300e-02f, + -1.230187789e-01f, -4.970589280e-02f, 1.458112057e-02f, -1.775544696e-02f, + -9.105825424e-02f, -1.289978176e-01f, 4.364720359e-02f, 2.577964030e-02f, + -3.057164513e-02f, -1.213275045e-01f, 4.116547480e-02f, -8.340337873e-02f, + -1.331297606e-01f, -5.330125615e-02f, -6.819882989e-02f, -3.332580999e-02f, + 4.500786215e-02f, 1.002145261e-01f, 1.284867227e-01f, 9.405454248e-02f, + -1.491164565e-01f, -9.907032549e-02f, -8.121335506e-02f, -2.030330151e-01f, + 1.177263632e-01f, 2.275659516e-02f, -4.497696087e-02f, -7.373461127e-02f, + 8.518461138e-02f, -2.429242432e-02f, 4.620524123e-02f, -6.173033640e-02f, + 2.771843038e-02f, -4.716388881e-02f, -4.427092895e-02f, 5.362172797e-02f, + 8.032891899e-02f, 1.516931504e-02f, 6.270184368e-02f, 1.188820973e-01f, + 1.185989082e-01f, -4.464938492e-02f, -7.768825442e-02f, -2.878617868e-02f, + -4.610325396e-02f, -3.789601475e-02f, -4.623079300e-02f, -2.200945467e-02f, + 5.849887151e-03f, -3.616268933e-02f, -6.289123744e-02f, -4.697015882e-02f, + -6.080009416e-02f, -1.715428545e-03f, 1.106050238e-01f, -7.954487950e-02f, + 3.246195614e-03f, -2.989361808e-02f, -6.569961458e-02f, 1.563196629e-01f, + 1.380648911e-01f, 4.726358503e-02f, -1.554074138e-02f, -3.087906353e-02f, + 3.387539415e-03f, 9.231814742e-02f, -4.926767945e-02f, -9.200029820e-02f, + 3.751678392e-02f, 1.186671108e-01f, -5.891658366e-02f, -5.557582155e-02f, + 1.535841972e-01f, -6.743124872e-02f, 7.997042686e-02f, -5.904093850e-03f, + 2.204552479e-02f, -1.783972383e-01f, 8.193734288e-02f, 1.179597899e-02f, + -8.287372440e-02f, 2.175910771e-02f, -1.794270873e-01f, -6.620833278e-02f, + -8.567479253e-02f, -1.749439985e-01f, 1.093714461e-01f, 6.526074372e-03f, + 3.351648152e-02f, -4.812453315e-02f, -2.378928289e-02f, 2.736699767e-02f, + 4.570624977e-02f, 3.977512196e-02f, -1.530155391e-01f, 1.354653388e-01f, + -3.002543375e-02f, -6.450913846e-02f, -1.044284105e-01f, -1.775385067e-02f, + -6.574201584e-02f, 6.177684292e-02f, -1.101504341e-01f, -1.584632248e-01f, + 3.560910746e-02f, -7.636594027e-02f, 3.022919782e-02f, 7.395079732e-02f, + 8.378355950e-02f, -6.983632687e-03f, -7.255885750e-02f, 1.607804149e-01f, + -1.122051999e-01f, -2.861853838e-01f, 8.202007413e-02f, 3.122047056e-03f, + -6.475906819e-02f, 1.082903333e-02f, 9.007920511e-03f, -2.925916761e-02f, + 9.991192818e-02f, -2.306891792e-02f, 1.005497351e-01f, 9.751276672e-02f, + 5.720608681e-02f, 2.694287710e-02f, 1.638629586e-01f, 7.665622234e-02f, + -7.826486230e-02f, -1.283306926e-01f, 6.609406322e-02f, -1.038452834e-01f, + 3.681444377e-02f, -1.231559552e-02f, -1.509342063e-02f, -2.458292805e-02f, + -3.987101838e-02f, 1.619722247e-01f, -9.323610365e-02f, 5.558235943e-02f, + -1.676032320e-02f, 1.221647188e-01f, 2.412491739e-01f, -1.485968381e-01f, + -7.878413796e-02f, -2.553898469e-02f, -3.823098913e-02f, -4.573780298e-02f, + 1.440026332e-02f, 3.145430237e-02f, -3.841869533e-02f, 2.615438960e-02f, + -3.937472403e-02f, -4.462647811e-02f, -3.608679399e-02f, 2.061379142e-02f, + -6.816899776e-02f, 4.905680940e-02f, -3.569792584e-02f, -1.885667071e-02f, + 1.588594615e-01f, 2.162468852e-03f, 6.995530427e-02f, -1.599864289e-02f, + 4.202806577e-02f, 4.504899308e-02f, -4.756191000e-02f, 1.274187304e-02f, + -1.726245694e-02f, 3.771733725e-03f, -3.211520240e-02f, -7.787763327e-02f, + -4.251129180e-02f, -1.414613705e-02f, 6.461226940e-02f, -9.947828948e-02f, + -1.120824516e-01f, 1.481744647e-01f, 2.365452982e-02f, 2.801147662e-02f, + 6.105120108e-02f, -3.258199245e-02f, -1.075383928e-02f, -1.785008982e-02f, + 1.305780709e-01f, 4.986388609e-02f, 5.498687178e-02f, 1.299454644e-02f, + -3.738736967e-03f, 4.904116690e-02f, -1.997395605e-01f, -7.495283335e-02f, + -4.812451079e-02f, 9.399908781e-02f, -2.360482663e-01f, 2.461111173e-02f, + 6.062479690e-02f, -2.951748855e-02f, -9.351653606e-02f, -6.906145066e-02f, + 2.360341372e-03f, -1.404321343e-01f, -4.977810755e-02f, 1.184862405e-01f, + 9.951583296e-02f, -6.812971085e-02f, -7.563412189e-02f, -2.290817052e-01f, + 5.773472413e-02f, -4.472459108e-02f, 4.349879175e-02f, 2.654156275e-02f, + 1.203610152e-01f, -8.018030971e-02f, 3.897389770e-02f, -7.272655517e-02f, + -6.227046624e-02f, 1.830500513e-01f, -2.449279279e-02f, 7.700513583e-03f, + -9.341100603e-02f, 3.785595298e-02f, 2.280965075e-02f, 8.690211922e-02f, + -2.778206021e-03f, -3.806613013e-02f, 3.810402751e-02f, -1.022816896e-01f, + -2.148188092e-02f, 1.394810677e-01f, -4.696296528e-02f, -2.354063280e-02f, + 1.139359996e-01f, 3.984316438e-02f, -2.195017412e-03f, -1.185497418e-01f, + 2.460078336e-02f, 1.959440298e-03f, -5.484227836e-02f, -5.812369287e-03f, + 6.276476383e-02f, 2.685358003e-02f, 2.405577898e-01f, -2.711354010e-02f, + -6.369740516e-02f, -6.896480173e-02f, -9.342531860e-02f, 9.291992337e-02f, + -1.165774390e-01f, 6.603576243e-02f, -1.573302746e-01f, 1.501556188e-01f, + -1.271603703e-01f, -8.597312868e-02f, 1.977038337e-03f, -1.743205450e-02f, + -6.328912079e-02f, -1.301982440e-02f, -2.149200998e-03f, -1.096769124e-01f, + -1.570436507e-01f, -6.718675047e-02f, -1.257002205e-01f, -4.191972688e-02f, + -1.437790394e-01f, -6.809041649e-02f, 1.306611598e-01f, -4.517427087e-02f, + 8.365414292e-02f, 7.206219435e-02f, -2.981392853e-02f, 5.891396105e-02f, + 2.954955027e-02f, 9.946801513e-02f, -6.334394217e-02f, 1.302617341e-01f, + -3.881951794e-02f, -1.081950441e-01f, -1.428443342e-01f, -5.929378048e-02f, + -8.745895326e-02f, -2.508950047e-02f, 1.330800802e-01f, 1.198641062e-01f, + -1.298359483e-01f, -8.502019197e-02f, -1.438366771e-01f, -5.213839188e-02f, + 3.828461096e-02f, -1.592074637e-03f, -7.275831420e-03f, 1.892310381e-01f, + 6.765311211e-02f, 8.009482175e-02f, -5.380662903e-02f, 4.425498843e-02f, + -4.397749901e-02f, -1.309052259e-01f, 3.585891426e-02f, -1.144359335e-01f, + 8.981811255e-02f, -2.827168629e-02f, -4.916054383e-02f, -1.229957445e-03f, + -8.256161213e-02f, 9.936515987e-02f, 7.384511828e-02f, -9.402019531e-02f, + 4.448364303e-02f, 1.322029680e-01f, 2.719639242e-02f, 1.795726866e-01f, + -3.654332832e-02f, -9.849527478e-02f, 1.283145547e-01f, -2.591232397e-02f, + -1.144616008e-01f, 1.761198640e-01f, -2.132015303e-02f, 9.400846809e-02f, + -2.520561963e-02f, -3.572901338e-02f, -4.312530905e-02f, 4.604786634e-02f, + -5.298931897e-02f, -8.437733352e-02f, 7.493720204e-02f, 7.799638808e-02f, + 1.577416211e-01f, -1.001622826e-01f, -7.994674146e-03f, 5.942072719e-02f, + -6.786908954e-02f, 1.980044693e-01f, 8.780889958e-02f, 8.301143534e-03f, + 2.167556435e-01f, 1.411480922e-02f, 1.911363378e-02f, -1.391011477e-01f, + -5.863974802e-03f, 1.350981891e-01f, 1.982360035e-01f, 9.653411061e-02f, + 3.161687776e-02f, -3.474065661e-02f, -9.626956284e-02f, -3.420696827e-03f, + -1.175833028e-02f, 5.565166473e-02f, -1.435526311e-01f, -4.039934650e-02f, + 1.085059047e-01f, -4.448051006e-02f, -1.507639736e-01f, 9.046238661e-02f, + -2.432807162e-02f, 1.216387283e-02f, 9.661247954e-03f, 4.350248352e-02f, + -2.982126549e-02f, 1.415528506e-01f, 7.667818666e-02f, -2.642135024e-01f, + -1.366957370e-02f, -4.464563727e-02f, 9.597089142e-02f, 1.311801672e-01f, + -2.984999679e-03f, 4.481588304e-02f, -1.144555137e-01f, -2.656138837e-01f, + -5.140720867e-03f, -6.284247339e-02f, 5.993535277e-03f, 1.525671687e-02f, + 2.988789603e-02f, -4.932361469e-02f, -1.499312669e-01f, -1.678169146e-02f, + 1.123372093e-01f, -1.604403406e-01f, -4.428313673e-02f, 1.960226148e-02f, + 8.810135722e-02f, -9.878132492e-02f, 1.300617307e-01f, -8.265559562e-03f, + -3.438565182e-03f, -9.883928299e-02f, -7.560999691e-02f, 7.646415383e-02f, + 1.239114180e-01f, -9.547901154e-02f, 6.447846442e-02f, 1.299713403e-01f, + 3.758104146e-02f, 4.772919416e-02f, 5.661208555e-02f, 1.152710617e-01f, + 3.362326324e-02f, -1.181330904e-01f, 1.725824326e-01f, 1.279970855e-01f, + 7.802691311e-02f, 8.969154209e-02f, -9.217514098e-02f, -8.142475039e-02f, + -3.156343475e-02f, -1.495369077e-01f, -2.909049019e-02f, 1.487039030e-01f, + 7.279897481e-02f, -9.738085419e-02f, 3.679097816e-02f, -2.186537348e-02f, + -5.967775825e-03f, -1.339383610e-02f, 4.696542397e-02f, -2.694460005e-02f, + 1.601128839e-03f, -1.564020663e-02f, 9.101925045e-02f, 3.890077025e-02f, + 1.366356853e-02f, 2.080395818e-02f, 6.208606809e-02f, 3.097656742e-02f, + -3.437148407e-02f, -1.010822579e-01f, -1.695785299e-02f, -1.334939152e-01f, + -9.010380507e-02f, -3.735276312e-02f, -6.691388041e-02f, 1.452207714e-01f, + -8.308554441e-02f, -1.651533763e-03f, 9.196911007e-02f, -2.608651482e-02f, + 3.429527953e-02f, 1.636319421e-02f, 2.200172655e-02f, -1.555051506e-01f, + 1.021097600e-01f, -1.218352914e-01f, -6.294789165e-02f, -4.956816509e-02f, + 4.569565132e-02f, -4.699298367e-02f, -5.877314880e-02f, -5.509650335e-02f, + -8.426491171e-02f, -3.080592118e-02f, 3.858888149e-02f, -5.662720650e-02f, + 1.349448264e-01f, 3.893996775e-02f, -1.592095569e-02f, 1.249365360e-01f, + 6.483290344e-02f, 2.917883173e-02f, 5.360566452e-02f, -2.877584472e-02f, + -2.481012791e-02f, -8.971376717e-02f, -1.158544049e-01f, -5.993150920e-02f, + 8.173865825e-02f, -9.034875780e-02f, 6.011810526e-02f, 1.649335772e-01f, + 4.113052040e-02f, 2.028687857e-03f, -1.137355044e-01f, -1.679590046e-01f, + -5.540066957e-02f, 1.155426130e-01f, 3.800707310e-02f, -5.747359619e-02f, + -1.427991241e-01f, 9.671142697e-02f, 8.676708490e-02f, -8.474724740e-02f, + -1.599534601e-02f, -3.897367790e-02f, 4.554448277e-02f, 1.036903262e-01f, + -4.860531539e-02f, 1.347929835e-01f, 8.815580606e-02f, 1.487792730e-01f, + 1.101345345e-01f, 1.816295553e-03f, 1.833160520e-01f, 2.392064966e-02f, + -1.702336594e-02f, 1.748535037e-01f, 1.479284614e-01f, -6.642349064e-03f, + -1.536952239e-02f, 1.674261391e-01f, -1.606153883e-02f, -3.488343209e-02f, + -1.872577071e-01f, -1.513551921e-02f, 1.701414436e-01f, -6.852451479e-04f, + 1.178204431e-03f, -1.534047723e-01f, -7.780485600e-02f, -8.301886916e-02f, + -1.367160678e-01f, -1.467307843e-02f, -6.190301105e-02f, 7.724968344e-02f, + 6.004055962e-02f, -5.561449565e-03f, 8.983920515e-02f, -7.175876293e-03f, + 3.300187364e-02f, 6.772460788e-02f, 1.357695907e-01f, 3.570232168e-02f, + -5.741486326e-02f, -6.922196597e-02f, 1.107583866e-01f, 1.815589890e-02f, + -1.378400773e-01f, 6.713487208e-02f, 3.246732056e-02f, -1.170598939e-01f, + -1.238332782e-02f, -2.326778881e-02f, -4.670205340e-02f, -9.209492803e-02f, + 2.076761238e-02f, -3.014478832e-02f, -8.635331690e-02f, 7.945449650e-02f, + -1.022140458e-01f, 8.238013834e-02f, -1.448162496e-01f, -1.427198946e-01f, + 1.169295684e-01f, 5.558017269e-02f, 1.261520535e-01f, -9.039086290e-03f, + 5.682691187e-02f, 6.235495955e-02f, 5.931294709e-02f, 4.082145914e-02f, + 6.099833641e-03f, 2.375568636e-02f, -4.728071019e-02f, 1.229967922e-01f, + 8.766239136e-02f, -4.560868815e-02f, 4.630632326e-02f, 4.599075392e-02f, + 1.963024400e-02f, -7.506480813e-02f, -5.094935000e-02f, -2.672524191e-02f, + -2.254053205e-02f, -1.069137454e-01f, 2.504423261e-01f, -1.378261298e-01f, + 4.638864193e-03f, -6.570021063e-02f, -9.167077392e-02f, -9.627791494e-02f, + -1.852033846e-02f, -2.153843874e-03f, -5.480300263e-02f, 1.131398827e-01f, + 9.998954833e-02f, 3.677304462e-02f, -2.463616244e-02f, -1.504000928e-02f, + -1.856133924e-03f, 5.408475548e-02f, -2.080962062e-01f, 1.358088404e-01f, + 8.890232444e-02f, 8.882607217e-04f, 3.897666931e-02f, -7.080060430e-03f, + 2.879634872e-02f, 8.898457885e-02f, -4.849476740e-02f, 1.096707676e-02f, + -1.549691427e-02f, -1.535572261e-01f, -1.601737924e-02f, 7.258906215e-02f, + 9.847254306e-02f, 1.414830238e-01f, 1.912572831e-01f, 1.130845994e-01f, + 4.176437110e-02f, -7.717192918e-02f, 1.004672330e-02f, 1.246741936e-01f, + 1.562069952e-01f, -4.457652196e-02f, -8.784008026e-02f, 5.583507475e-03f, + 7.189161330e-02f, 7.112550735e-02f, 5.540921912e-02f, -1.937197298e-01f, + 1.042298004e-01f, -7.615364343e-02f, -7.854272425e-02f, 4.901074991e-02f, + 2.878134511e-02f, -6.930124760e-02f, -1.615383476e-01f, 1.075678617e-01f, + -1.125941277e-01f, 3.125648946e-02f, 1.015523914e-02f, 1.461615413e-01f, + -2.633398212e-02f, -2.728775889e-02f, -6.555706263e-02f, -5.850278586e-02f, + -4.504399747e-02f, 5.971907824e-02f, 7.860674709e-02f, 6.147390231e-02f, + 1.047544703e-01f, -3.589524701e-02f, 1.407155395e-01f, 3.118644282e-02f, + -4.878811166e-02f, 1.027664021e-01f, -1.532571204e-02f, -7.566907257e-02f, + 6.705610454e-02f, -1.841827482e-02f, 3.457193077e-02f, -1.680037379e-02f, + -2.409714088e-02f, -5.800501909e-03f, -5.406179279e-02f, 1.160261482e-01f, + 5.659152567e-02f, -1.126814857e-01f, 1.345715951e-02f, 1.312261969e-01f, + -3.885609284e-02f, -6.721596420e-02f, -7.759165764e-02f, -4.733401537e-02f, + -3.548597172e-02f, 3.890789300e-02f, -2.131529748e-01f, -2.574747428e-02f, + 2.819316695e-03f, -1.201165281e-02f, -3.055849113e-03f, -3.828651737e-03f, + 1.205762178e-01f, -9.241972864e-02f, -5.267976224e-02f, 2.905117720e-02f, + -6.510009617e-02f, -5.542310700e-02f, -9.319410473e-02f, -8.771292865e-02f, + -1.320250928e-01f, 2.877021953e-02f, 1.194593236e-01f, 8.208190650e-02f, + 3.366215155e-02f, 2.250786424e-01f, -3.492927924e-02f, 9.232262522e-02f, + 2.522479892e-01f, 5.242266878e-02f, 1.260882169e-01f, -2.977139130e-02f, + -1.868829131e-02f, 1.394798160e-01f, 8.978410065e-02f, 5.523058400e-02f, + 9.669652581e-02f, -5.289977416e-02f, -3.232410178e-02f, -2.300251974e-03f, + -3.249148652e-02f, 1.171852797e-01f, 7.391842455e-02f, 9.540093015e-04f, + 7.999840379e-02f, 3.654633649e-03f, 1.159428507e-01f, 9.513835609e-02f, + -7.775826007e-02f, 7.193781435e-02f, 2.765015000e-03f, 6.673775613e-02f, + 6.314024329e-02f, -3.290251270e-02f, 7.377609611e-02f, 5.945112556e-02f, + -1.437187791e-01f, -1.993059218e-01f, 2.017531358e-02f, -2.248392254e-01f, + 3.538942710e-02f, 4.529135674e-02f, 5.155787617e-02f, -3.068250045e-02f, + 2.291561291e-02f, 4.604060203e-02f, -5.564142019e-02f, -4.100043327e-02f, + 5.992067233e-02f, -9.038613737e-02f, -1.094348654e-01f, -1.796791255e-01f, + -1.800158471e-01f, -2.403759956e-02f, -1.065663397e-01f, 6.515637040e-02f, + -3.310308233e-02f, -5.339540169e-02f, -1.410046369e-01f, -1.043052226e-02f, + -6.194419041e-02f, 7.377918065e-02f, 2.883483283e-02f, 6.967492402e-02f, + 1.419145893e-02f, -1.245517209e-01f, 8.602133952e-03f, 2.108885674e-03f, + 6.228406727e-02f, 1.472786069e-01f, 4.647180811e-02f, 1.410172880e-02f, + 9.859222919e-03f, -5.450068042e-02f, -7.231311500e-02f, 1.750560105e-01f, + -2.238289118e-01f, 1.171748564e-01f, 1.339559853e-01f, -1.831511594e-02f, + 7.364945114e-02f, -4.247246683e-02f, -4.236827046e-02f, -1.014070120e-03f, + 2.383004408e-03f, 8.034041151e-03f, -1.958072931e-02f, 9.542690217e-02f, + 2.162112668e-02f, 3.872887045e-02f, -1.220797524e-01f, 1.390984505e-01f, + 5.383120850e-02f, -4.540031031e-02f, 8.358635008e-02f, -8.855114132e-02f, + -6.087412685e-02f, -1.077581663e-02f, -8.281335235e-03f, -7.372382283e-02f, + 1.149195954e-01f, 3.270310536e-02f, 1.038874984e-01f, -5.582836643e-02f, + 1.350064427e-01f, -7.309852540e-02f, 6.223277654e-03f, -5.548679829e-02f, + -2.196773738e-01f, -1.871027239e-02f, 3.455441445e-02f, 1.635000855e-02f, + 3.356942907e-02f, 2.148557082e-02f, 6.065614894e-02f, -9.914577752e-02f, + 2.820189856e-02f, -4.476063326e-02f, -4.767957330e-02f, -1.936104894e-02f, + 4.098831490e-02f, 1.222605482e-01f, 3.820694983e-02f, 5.838884786e-02f, + 7.717445493e-02f, -1.474605054e-01f, 3.661567718e-02f, 3.714079037e-02f, + 2.216789313e-02f, -4.544311017e-02f, 4.353003204e-02f, -2.517189831e-02f, + 1.068655476e-01f, -5.872588605e-02f, 3.063199855e-02f, -7.578013092e-02f, + 2.485647611e-02f, -8.439593017e-02f, 9.948135167e-02f, 1.626363844e-01f, + 1.622785926e-01f, -1.823189668e-02f, 7.059238106e-02f, 9.324125946e-02f, + -8.420053869e-02f, 2.779060788e-02f, -3.429026902e-02f, -7.788067311e-02f, + -1.537351031e-02f, -9.345133440e-04f, -2.024189569e-02f, 3.453440964e-02f, + -5.495233834e-02f, -9.561995417e-02f, 3.584263846e-02f, 5.380938202e-02f, + 1.680740155e-02f, 2.779335156e-02f, 1.530094445e-01f, 6.911593676e-02f, + -3.714782000e-02f, 7.380158454e-02f, -1.559275240e-01f, -1.280580610e-01f, + 8.476591110e-02f, -3.291393444e-02f, 2.893230319e-01f, -1.380862445e-01f, + -7.956852205e-03f, 1.038759127e-01f, 1.372047067e-01f, 6.867892295e-02f, + -7.716491073e-02f, 7.991813868e-02f, -2.164406329e-01f, -6.807574630e-02f, + 4.587886855e-03f, 1.381956041e-01f, -1.198905185e-01f, -2.876598574e-02f, + 2.901223116e-02f, -6.414058618e-03f, 5.629735067e-02f, -8.849536628e-02f, + -5.233861879e-02f, 1.685214974e-02f, 2.505682595e-02f, -1.062708497e-01f, + 1.092168763e-01f, -3.704968095e-02f, 8.587896079e-02f, 1.257286370e-01f, + -4.806896672e-02f, -1.282342970e-01f, 2.171549499e-01f, 4.446997121e-02f, + 9.572965652e-02f, -4.387613735e-04f, 6.779110525e-03f, 1.945152283e-01f, + 1.302113086e-01f, -5.543101951e-02f, 8.365513384e-02f, -1.242011786e-01f, + -3.067836165e-02f, -1.137857363e-01f, 6.735794991e-02f, 1.949143559e-01f, + 8.569605649e-02f, 5.507021770e-02f, -7.603063434e-02f, 1.996804774e-02f, + -1.592107862e-01f, -8.352930844e-02f, 5.323566869e-02f, -7.735458761e-02f, + 1.306192856e-02f, 1.954832301e-02f, -7.324789651e-03f, 2.110829800e-01f, + -9.890779853e-02f, 2.084710402e-03f, -1.314831972e-01f, -6.387761235e-02f, + -8.939252794e-02f, 8.410410956e-03f, -3.397468850e-02f, 1.458873451e-01f, + 5.225373432e-02f, 5.639677867e-02f, -3.421074897e-02f, 5.422842130e-02f, + -1.375388801e-01f, 8.091092110e-02f, 6.919006258e-02f, -2.263393439e-02f, + -4.955445230e-02f, 8.905571699e-02f, 2.567374706e-01f, 4.355811700e-02f, + -1.179493498e-02f, -3.468914330e-02f, -1.051796302e-01f, 3.382989019e-02f, + 4.978728667e-02f, 1.339276135e-02f, -1.780757494e-02f, -2.698761038e-02f, + -7.064390182e-02f, -1.626719385e-01f, 1.110970601e-02f, 8.978923783e-03f, + 4.167507589e-02f, -4.614170641e-02f, -3.559534671e-03f, -1.004319191e-01f, + -1.768780313e-02f, 1.494788844e-02f, -1.754729748e-01f, 2.651658468e-02f, + -8.585492522e-02f, -3.173193336e-02f, -5.132939294e-02f, 2.914407291e-03f, + 3.588197380e-02f, -8.266230673e-02f, 1.154532563e-02f, 1.089124568e-02f, + 6.221514568e-02f, 6.907377392e-02f, 3.969692439e-02f, 1.364426911e-01f, + 1.033361256e-01f, -9.784431010e-02f, 1.589466631e-02f, 1.101250648e-01f, + -1.109017581e-01f, -1.090742126e-01f, -8.822883666e-02f, 3.689639270e-02f, + 1.398692373e-02f, -1.108646616e-01f, -4.457884654e-02f, 1.384330094e-01f, + 3.832145035e-02f, -1.065374911e-01f, 2.747512795e-02f, -2.442817837e-01f, + -6.386671681e-03f, 3.812549170e-03f, 9.242714942e-02f, -1.868363172e-01f, + 3.790726513e-02f, -1.044180170e-01f, -3.649970889e-02f, -3.548514470e-02f, + -4.046982527e-02f, -8.779824525e-02f, -1.964642294e-02f, -3.335985169e-02f, + -1.090960875e-01f, -3.106229380e-02f, -6.845822185e-02f, -4.728991166e-02f, + 1.128259227e-01f, -6.628100295e-03f, -7.192577422e-02f, -1.349940896e-01f, + 9.332359582e-02f, -1.437691413e-02f, 7.010275871e-02f, 4.139119387e-02f, + -9.994673729e-02f, -3.281655535e-02f, -3.119715676e-02f, 7.810308784e-02f, + 9.771584719e-02f, 9.287550114e-03f, -2.298776805e-02f, -8.411757648e-02f, + -6.487012375e-03f, 1.175419837e-01f, -3.831596673e-02f, -1.124421507e-02f, + -1.345089823e-01f, 7.161781192e-02f, 1.089131832e-01f, 4.974894971e-02f, + 1.461581443e-03f, -9.200133383e-02f, -1.006054878e-01f, -3.294469416e-02f, + -2.209851146e-01f, -1.303297877e-01f, -4.057256505e-02f, -8.866960555e-02f, + -7.014455274e-03f, -9.857074916e-02f, 1.228079572e-02f, -5.977878720e-02f, + 9.768295102e-03f, -1.346110553e-01f, -5.209313706e-02f, 3.561853617e-02f, + -7.172418758e-03f, -2.137695625e-02f, -5.079934001e-02f, -8.489137143e-02f, + -1.541603059e-01f, 9.954312444e-02f, -4.157818109e-02f, 2.119598985e-01f, + 3.332077339e-02f, -8.011198044e-02f, -1.281988993e-02f, 7.813423127e-02f, + 5.817257334e-03f, 1.135417372e-01f, 4.344082624e-02f, -1.868124902e-01f, + -4.744249210e-02f, -2.299187332e-02f, -4.672715440e-03f, -5.950464681e-02f, + -5.426048860e-02f, -2.685115300e-02f, 3.214593604e-02f, 1.498638541e-01f, + -8.848389611e-03f, -1.271905601e-01f, -4.810886830e-02f, -1.619567424e-01f, + -2.248828560e-01f, -1.447131485e-01f, -2.175379843e-01f, 6.950866431e-02f, + 1.443329006e-01f, -9.703252465e-03f, -1.330440044e-01f, -1.049501225e-01f, + -1.436857581e-01f, -5.687541515e-02f, -7.225216180e-02f, -4.049980640e-02f, + 2.114129812e-02f, 7.239192724e-02f, -1.224819198e-01f, 7.933118194e-02f, + 4.327535629e-02f, -1.249344833e-02f, -1.064197198e-01f, 1.021694485e-02f, + -8.000246249e-03f, 4.835078493e-02f, 5.884969234e-02f, 2.015284263e-02f, + -6.943973154e-02f, 5.121991411e-02f, 3.974184394e-02f, 4.014565423e-02f, + -8.549460024e-02f, -1.785064116e-02f, 9.446634352e-02f, -5.687357858e-02f, + 3.770952299e-02f, -1.462364942e-01f, 1.065829024e-01f, 1.699390635e-02f, + 2.360687777e-02f, 1.387041621e-02f, -7.491382211e-02f, -1.383524686e-01f, + 1.894601583e-01f, 5.800051615e-02f, -3.240622953e-02f, -5.754136667e-02f, + 1.601781994e-01f, -7.307116687e-02f, 8.942317218e-02f, -1.979814097e-02f, + -1.747963205e-02f, 1.208300367e-01f, 7.207187265e-02f, 1.382304449e-02f, + -5.525458604e-02f, -1.586108953e-01f, -3.810615838e-02f, 6.996418536e-02f, + 6.735119969e-02f, -4.399255291e-02f, -7.952373475e-02f, 7.055398077e-02f, + 1.403856426e-01f, 4.081444442e-02f, 4.239731282e-02f, 1.388414949e-01f, + 9.583091736e-02f, 5.320692435e-02f, -4.446677119e-02f, 1.098574046e-02f, + -1.336219348e-02f, 1.328546703e-01f, 5.774740875e-02f, -8.327548951e-02f, + 9.905923903e-02f, -2.871123515e-02f, 6.673102267e-03f, 1.169612408e-01f, + -1.221140474e-02f, 4.032382369e-02f, 7.396969944e-02f, 1.157473102e-01f, + 3.279348463e-02f, 9.849764407e-02f, -4.518761858e-02f, -5.168222822e-03f, + -9.829806536e-02f, -7.296758145e-02f, -7.440774143e-02f, 1.247953847e-01f, + 6.362223532e-03f, 1.038162485e-01f, 2.058115900e-01f, -1.124538016e-02f, + 5.273020267e-02f, -4.556465894e-02f, 5.228300765e-02f, -1.241985932e-01f, + -3.674483672e-02f, -5.183364823e-02f, -1.939361217e-03f, 5.434989929e-02f, + -1.486666054e-01f, 1.351720691e-01f, 3.422820568e-02f, -2.394461073e-02f, + 7.493679971e-02f, 1.529514045e-01f, 1.416685060e-03f, 2.091100663e-01f, + 5.103346705e-02f, 2.293901145e-01f, 6.777513027e-02f, -1.711529680e-02f, + -1.059317868e-02f, 4.560095817e-02f, -5.220301449e-02f, -9.588150308e-03f, + 2.954823710e-02f, 6.702889502e-02f, 1.536848373e-03f, -8.143980801e-02f, + -1.685834676e-02f, 3.268666565e-02f, -5.797210708e-02f, -2.252915874e-02f, + -4.429915175e-02f, -1.822633483e-02f, 1.117570251e-01f, 3.880826384e-02f, + -1.666599698e-02f, -3.791204840e-02f, 2.522951178e-02f, 9.297384880e-03f, + -1.437156741e-02f, 7.238697261e-02f, 8.647431433e-02f, 7.606689632e-02f, + -9.095135331e-02f, 6.049038097e-02f, -1.530574542e-02f, 4.045610130e-02f, + 1.396583170e-01f, 2.399140596e-02f, 8.390403539e-02f, 4.681812227e-02f, + 3.644179553e-02f, 8.512797765e-03f, -1.084800884e-01f, 1.001254171e-01f, + -1.115638018e-01f, 2.121070027e-02f, -5.609327555e-02f, -1.303142216e-02f, + 3.133332357e-02f, 3.324800730e-02f, -1.161864586e-02f, 1.016086116e-01f, + 1.375508904e-01f, -1.806659624e-03f, 5.988910049e-02f, 7.643660903e-02f, + -1.774207801e-01f, 1.199939325e-01f, 1.733426452e-01f, -3.606914729e-02f, + 9.539750218e-02f, 2.067311406e-01f, 1.423441023e-01f, -1.232810598e-02f, + 9.728892893e-02f, -1.407063156e-01f, -5.982623622e-02f, -9.996905923e-02f, + 1.454921365e-01f, -2.957064100e-02f, 6.187660992e-02f, -6.001844257e-02f, + 2.177931219e-01f, -4.562387988e-02f, 3.913231567e-02f, -4.971221462e-02f, + -2.219253033e-02f, 1.574647725e-01f, 3.406805545e-02f, 1.421831995e-01f, + -4.974724352e-02f, -1.651830738e-03f, 9.495833516e-02f, -2.157737613e-01f, + 4.537262395e-02f, -6.363773253e-03f, 2.283701114e-02f, 4.880845547e-02f, + 4.452273133e-04f, -1.010977998e-01f, -1.435420960e-01f, -9.916736186e-02f, + 1.585463881e-01f, 2.566467226e-02f, 2.017486840e-03f, -4.088869691e-02f, + 1.401270833e-02f, -1.764468290e-02f, -1.874052584e-01f, 2.336633652e-01f, + 3.668528423e-02f, 9.223464876e-02f, 2.020145534e-03f, -1.369948313e-02f, + -8.389266208e-03f, -4.756637663e-02f, 1.641600728e-01f, 1.125984192e-01f, + 1.694327965e-02f, -4.538296908e-02f, -8.597208560e-02f, 5.120487884e-02f, + -2.641283721e-02f, -4.373814166e-02f, 1.199638173e-01f, 1.320795156e-02f, + 1.048032194e-02f, 6.643451005e-02f, -1.045880690e-01f, -3.583772480e-02f, + 1.112052277e-01f, -9.623192996e-02f, -8.541721851e-03f, -4.842383415e-02f, + -6.914300472e-02f, 2.283453941e-02f, 1.734447479e-02f, -4.128526151e-02f, + 5.683822185e-02f, -9.531276673e-02f, -1.577107050e-02f, 5.541416630e-02f, + -1.257811338e-01f, 8.372376114e-02f, 1.089697704e-01f, -7.319991291e-02f, + 1.259253267e-02f, 3.503682464e-02f, -6.702737510e-02f, 1.021522135e-01f, + 4.941695929e-02f, 1.810244918e-01f, -5.390312895e-02f, -4.225809500e-02f, + -9.290464222e-02f, 4.953312874e-02f, 1.665327325e-02f, 4.542564973e-02f, + 1.689998358e-01f, 1.045791283e-01f, 3.367529809e-02f, 2.085993998e-02f, + -3.028414212e-03f, -9.638874978e-02f, -3.139338642e-02f, 6.769037992e-02f, + -2.359828204e-01f, -7.823680341e-02f, -2.737684734e-02f, -4.702612385e-02f, + -2.297501825e-02f, -1.819127202e-01f, -1.299253013e-02f, -1.688891277e-02f, + -2.409216017e-02f, -1.015666500e-02f, 6.829631049e-03f, 6.294285413e-04f, + -4.123107716e-02f, 1.108494475e-01f, 1.340342313e-01f, -1.877802610e-01f, + 1.513804197e-01f, 4.062259942e-02f, -8.123096824e-02f, -1.884767115e-01f, + 1.068898961e-01f, 9.728527814e-02f, 1.441510916e-01f, -2.045079134e-02f, + -1.530939043e-01f, 6.782703567e-03f, 2.595309913e-02f, 7.455290109e-02f, + 2.945538610e-02f, -3.978505731e-02f, -2.230134793e-02f, 9.793805331e-02f, + 5.297885276e-03f, 1.468129605e-01f, -1.570225693e-02f, -4.327299446e-02f, + 1.525813062e-02f, -2.005598880e-02f, -2.167118527e-02f, 1.589283645e-01f, + 1.575779021e-01f, 5.713545159e-02f, -4.569558427e-02f, 7.354234904e-02f, + -1.041971371e-01f, -3.236346692e-02f, -9.467885643e-02f, 8.435357362e-03f, + -1.963682175e-01f, -5.705241859e-02f, 1.407766938e-01f, 1.220010873e-02f, + 2.433329122e-03f, -3.082682937e-02f, 1.837562025e-02f, 1.955324262e-01f, + -1.677362770e-01f, -6.916264445e-02f, -3.446026519e-02f, -1.452849358e-01f, + 1.206658129e-02f, 3.935344517e-02f, -1.398112439e-02f, 2.732045832e-04f, + 3.156720474e-02f, 2.855463512e-02f, 8.809353411e-02f, 2.251144312e-02f, + 2.361929044e-02f, -1.683459878e-01f, -9.662999958e-02f, -5.601981655e-02f, + 3.521738574e-02f, -1.537486315e-01f, -6.992133707e-02f, 1.764291152e-02f, + -5.113791302e-02f, -3.558954224e-02f, 1.675471514e-01f, 2.983709425e-02f, + 2.610285394e-02f, 3.787228838e-02f, -1.458804011e-01f, -1.074578427e-02f, + 4.191178456e-02f, 1.002263576e-01f, -1.257905513e-01f, 1.791598946e-01f, + 8.813461289e-03f, -4.768345878e-02f, 2.236331105e-01f, -1.366108656e-01f, + -8.527827263e-02f, 6.844395399e-02f, 1.155665666e-01f, -3.574964404e-02f, + -1.323825121e-02f, -1.145591065e-01f, 9.975885600e-02f, -1.730520651e-02f, + -4.222354665e-02f, -9.820103645e-02f, 8.810935542e-03f, -8.990025520e-02f, + -1.055414379e-01f, 6.832627952e-02f, -7.383248210e-02f, 9.834846854e-02f, + 1.048140377e-01f, -2.210055664e-02f, 1.289948262e-02f, -1.227693781e-01f, + -1.521059964e-02f, 1.585391015e-01f, 6.433933228e-02f, 5.133798346e-02f, + -1.033387054e-02f, -1.986251920e-01f, -1.360477805e-01f, -2.786256000e-02f, + 2.197953314e-02f, 7.468789071e-02f, 4.800163209e-02f, 2.144233696e-02f, + -2.203121781e-02f, -1.329092830e-01f, 5.652005319e-03f, 4.662521929e-02f, + 1.719122678e-01f, -8.440167457e-02f, 8.070982993e-02f, 1.006130502e-01f, + -4.175810516e-02f, -1.400555819e-01f, 1.195150986e-01f, -8.533027023e-02f, + -1.725905687e-01f, -8.570827544e-02f, -6.612217426e-02f, -1.227209251e-02f, + -6.591989100e-02f, 8.047441393e-02f, -6.948698312e-02f, 1.511859801e-02f, + -9.326726943e-02f, 7.467304170e-02f, -9.275215864e-02f, -1.476453617e-02f, + 2.199322134e-01f, -5.652021989e-02f, -1.755651385e-01f, -8.748336136e-02f, + 8.255722001e-03f, 5.691342056e-02f, 7.030252367e-02f, 1.224219725e-01f, + 1.475885324e-02f, -1.045017019e-01f, -3.461436555e-02f, 6.802250445e-02f, + -5.235043168e-02f, 1.434875280e-01f, -2.508006431e-02f, 9.889055043e-02f, + 8.157365024e-02f, -6.220269948e-02f, 8.180892095e-03f, 3.005316295e-02f, + 4.456783831e-02f, -6.063209847e-03f, 1.211169641e-02f, -2.121111192e-02f, + 3.788841888e-02f, 4.120096192e-02f, 1.065509096e-01f, 2.397998236e-02f, + -5.755978823e-02f, 8.825267106e-02f, -1.414344609e-01f, 1.232870519e-01f, + 2.799916081e-02f, 6.567451358e-02f, 5.196820945e-02f, -5.094039813e-02f, + -1.348412633e-01f, 1.632213406e-02f, 8.661317825e-02f, 3.359212354e-02f, + 1.075830460e-01f, 6.288956851e-02f, 6.206164509e-02f, 6.573282927e-02f, + -1.230545714e-01f, 2.774252184e-02f, -6.607539952e-02f, -2.121410146e-02f, + -1.864236593e-02f, -3.957006335e-02f, 2.120734006e-01f, -4.607102275e-02f, + -4.582180828e-02f, -6.535742432e-02f, 1.098240837e-01f, -2.830953151e-02f, + -6.914340705e-02f, -6.174011528e-02f, 1.605647206e-01f, 7.912100106e-02f, + 9.053602815e-02f, 3.746076673e-02f, 6.278460473e-02f, 4.224863276e-02f, + -3.046206385e-02f, -1.010780688e-02f, -6.484833546e-03f, 3.463720903e-02f, + 1.112125665e-01f, -8.761864901e-02f, 1.548972819e-02f, -1.238302290e-01f, + 4.226486012e-02f, -8.713627607e-02f, 1.665282808e-02f, -1.436947882e-01f, + 4.764401540e-02f, -1.308654994e-01f, 1.040796563e-01f, 5.479644984e-03f, + 6.760349870e-02f, -1.010198444e-01f, 7.449542731e-02f, 1.279324293e-01f, + 8.702012151e-02f, -8.597987890e-02f, 7.714826614e-02f, -1.249508038e-01f, + 4.990120977e-02f, 1.374986619e-01f, 1.557162125e-02f, 1.245426238e-01f, + -1.575944573e-02f, -1.045060828e-01f, 4.673373699e-02f, -6.861475110e-02f, + 1.077866256e-01f, 2.128343843e-02f, -3.625659645e-02f, -6.245097611e-03f, + 2.084175199e-01f, 1.760317981e-01f, -8.384234458e-02f, 1.400294434e-02f, + -5.004325509e-02f, 7.909523696e-02f, 1.757642953e-03f, -7.917014882e-03f, + 4.900305346e-02f, -1.005786806e-01f, -2.780969813e-02f, -5.599413812e-02f, + 7.410022616e-02f, -4.115614668e-02f, -1.794148050e-02f, -1.024470255e-01f, + -2.090457082e-02f, -2.522283606e-02f, 8.762554079e-02f, -3.667777404e-02f, + 1.197066903e-01f, 1.146733463e-01f, 6.343857199e-02f, 7.147440314e-02f, + -1.956377737e-02f, 1.384403110e-01f, -8.709058166e-02f, 3.911986481e-03f, + -1.329276562e-01f, -7.667521946e-03f, 9.542492032e-02f, 2.778863907e-02f, + -4.345993698e-02f, -3.685645759e-02f, 1.829903275e-01f, -1.938568503e-01f, + 4.722094536e-02f, 3.925005719e-02f, -1.218767464e-01f, 9.217891097e-02f, + 1.305627674e-01f, -6.567914784e-02f, 1.019102484e-01f, -5.245580152e-02f, + -3.608495696e-03f, -1.082447022e-01f, -3.112452663e-02f, -9.669167548e-02f, + -2.744003758e-02f, 2.535660379e-02f, -1.778340787e-01f, -5.940335989e-02f, + 1.138484254e-01f, 1.890779138e-01f, -2.487224527e-02f, 1.267653704e-01f, + -3.213975206e-02f, 1.904085279e-01f, 9.213685989e-02f, 1.151477396e-01f, + -1.237699464e-01f, -1.073136181e-02f, -5.621005222e-02f, -6.751263048e-03f, + 4.325889796e-02f, 1.407695860e-01f, -1.604177654e-01f, 8.323502541e-02f, + 6.839565933e-03f, 8.456712589e-03f, -4.551894963e-02f, 7.156764716e-02f, + -8.922592551e-02f, -7.673115283e-02f, -4.389200360e-02f, -7.718682289e-02f, + -3.048145585e-02f, 3.647802025e-02f, -1.703699678e-02f, -7.291617990e-02f, + 6.386280991e-03f, 7.522520423e-02f, 1.446747929e-01f, -5.269623920e-02f, + -7.593801618e-02f, 1.463983208e-02f, -7.952695712e-03f, 9.274542332e-02f, + -1.234054044e-01f, -1.679210109e-03f, -9.941612184e-02f, -9.886390716e-02f, + -3.532499075e-02f, 3.449993581e-02f, -1.622894704e-01f, 3.334204108e-02f, + -4.333763197e-02f, 2.296346240e-02f, 9.506408125e-02f, -3.019837663e-02f, + -2.888050303e-02f, 9.223446250e-02f, -1.620665193e-01f, -1.894791871e-01f, + 8.678025007e-02f, 8.635503240e-03f, -8.231017739e-02f, 7.644812763e-02f, + 1.400996596e-01f, -2.210598812e-02f, 3.685723618e-02f, 6.192612648e-02f, + -5.123049393e-02f, 6.646737456e-02f, -3.351380676e-02f, 6.425030529e-02f, + -9.853050113e-02f, -1.034958884e-01f, 2.738969168e-03f, 1.213897839e-01f, + -4.794444516e-02f, 5.058935285e-02f, 4.134720936e-02f, -9.939125925e-02f, + 1.147555839e-02f, -7.559843827e-03f, -1.973106712e-01f, -1.289896667e-01f, + -3.607006371e-02f, -8.197165094e-03f, -3.031000495e-02f, -1.972397231e-02f, + 9.275028855e-02f, 9.424225241e-02f, 4.067686573e-02f, -8.173502237e-02f, + -2.563466318e-02f, 9.829462320e-02f, 1.046280190e-01f, 8.571451157e-02f, + -8.695708215e-02f, -2.200633883e-01f, -1.677687168e-01f, -7.363883406e-02f, + 3.519437462e-02f, 6.016062945e-02f, -4.740046803e-03f, -1.940293238e-02f, + -1.733000129e-01f, 1.198879327e-03f, -1.302288622e-01f, -1.134817600e-01f, + 5.950265378e-02f, 1.326834317e-02f, 1.744101048e-01f, 8.068389259e-03f, + -1.211859658e-01f, 1.295777559e-01f, -5.418173224e-02f, -7.942480594e-02f, + -3.313219920e-02f, 3.338003531e-03f, -1.585459262e-01f, 1.242459193e-01f, + 2.880240045e-02f, 7.183644921e-02f, -1.032973230e-01f, -4.525490571e-03f, + 9.380174428e-02f, -3.320398554e-02f, -2.739849687e-02f, -1.414933056e-01f, + 2.748724259e-02f, 5.612926558e-02f, -1.545355618e-01f, 1.506447196e-01f, + 8.947433904e-03f, 2.186637744e-02f, 5.686629936e-02f, -1.848406047e-01f, + 1.218220741e-01f, 1.524344683e-01f, 4.618439823e-02f, -1.451169141e-02f, + -1.096764728e-01f, 7.428116351e-02f, -3.077572584e-02f, -7.701876108e-03f, + 1.026139129e-02f, -5.733856931e-02f, -1.554930210e-01f, 1.058760844e-02f, + 1.215651855e-01f, 1.112622470e-01f, -6.526178122e-02f, -1.267073750e-01f, + -1.688371599e-01f, -2.888626605e-02f, 1.141618788e-01f, -8.777081221e-02f, + 7.250517607e-02f, 1.372754127e-01f, -7.714618696e-04f, 1.829045564e-01f, + 1.151058301e-01f, 1.000371482e-02f, 5.445972458e-02f, -1.312949695e-02f, + 7.746899873e-02f, -1.157276426e-02f, 8.645287156e-02f, 2.472356521e-02f, + 7.199842483e-02f, -3.100048564e-02f, 1.730929762e-01f, 1.095443815e-01f, + -6.280542165e-02f, 3.624708578e-02f, -1.085611060e-02f, 4.082066007e-03f, + 8.306972682e-02f, 2.601681463e-02f, 1.190718263e-02f, -1.469439566e-01f, + -3.703536093e-02f, 1.668519974e-01f, 1.049815714e-01f, 5.072389916e-02f, + -1.872177795e-02f, 4.634061828e-02f, 4.264103994e-02f, 4.488387331e-02f, + 5.527492240e-02f, 3.149181232e-02f, -6.384374201e-02f, 3.980068490e-02f, + 1.936403848e-02f, 1.881304979e-01f, 1.200976595e-01f, -5.451005697e-02f, + -2.113438956e-02f, -4.470992088e-02f, 3.766100109e-02f, -3.193320334e-02f, + -4.850896448e-02f, -6.136678532e-02f, -1.319744587e-01f, 4.444422200e-02f, + 1.045338959e-01f, -3.884375095e-02f, 2.346664481e-02f, 3.497111425e-02f, + 2.188099921e-02f, 2.311879098e-01f, 3.493134305e-02f, 8.596492559e-02f, + 8.327944204e-03f, 6.956683844e-02f, -1.217867155e-02f, -6.638357043e-02f, + 3.999659419e-02f, -1.748100221e-01f, 2.948091598e-03f, -2.488452941e-02f, + 1.388672553e-02f, 5.177092180e-02f, -1.186120044e-02f, 1.192093343e-01f, + -3.310560808e-02f, 1.497446001e-01f, -1.065303460e-01f, 7.185446564e-03f, + 3.699020669e-02f, -1.667919308e-01f, 4.270077497e-02f, 1.497619897e-01f, + -3.308905289e-02f, 6.385061145e-02f, 2.372652665e-02f, 2.587841358e-03f, + 1.177080255e-02f, 2.572404742e-01f, -7.886548527e-03f, -6.969872117e-02f, + 2.713876776e-02f, -1.650047451e-01f, 4.986570776e-02f, -4.598849267e-02f, + -2.777235582e-02f, 9.621465206e-02f, -7.473167777e-02f, 3.651834268e-04f, + 1.471955776e-01f, -1.477547288e-01f, -5.717135221e-02f, 2.985338308e-02f, + 3.779169545e-02f, -5.439610034e-02f, 3.735333309e-02f, 1.137375012e-01f, + -9.850382060e-02f, -9.172623046e-03f, 3.482629731e-02f, -1.101647094e-01f, + 7.924430072e-02f, -2.366164327e-02f, 1.608789265e-01f, -1.494805235e-02f, + 3.063275246e-03f, 1.151632071e-01f, -1.465490554e-02f, 3.688086569e-02f, + -4.069330916e-02f, 2.320185304e-01f, -4.835388064e-02f, -9.437592700e-03f, + 1.248529404e-01f, -1.112917513e-01f, -1.252076179e-01f, -1.928054169e-02f, + 8.806804568e-02f, 2.199393883e-02f, 9.515569359e-02f, -8.774898946e-02f, + 1.434332691e-02f, 7.722365204e-03f, 3.857865557e-02f, 6.124235317e-02f, + 2.080096304e-02f, 7.751704007e-02f, -2.155081742e-02f, -8.514747024e-02f, + 1.543970406e-01f, 8.388452232e-02f, 6.663227081e-02f, -1.247541830e-01f, + -3.691039607e-02f, -5.910414085e-02f, -1.441984177e-01f, 7.259851694e-02f, + -7.750841323e-03f, 1.484176368e-01f, 7.244292647e-02f, 1.012624428e-01f, + -1.502036466e-03f, -1.754938066e-01f, 2.142239362e-01f, 5.958621204e-02f, + -5.357605219e-02f, -2.132473141e-02f, -6.991379708e-02f, 9.768068045e-02f, + 3.235839307e-02f, -1.358422637e-01f, 8.318296075e-02f, 1.734226048e-01f, + -2.351833694e-02f, -2.354457974e-02f, -1.298844814e-02f, 7.654731721e-02f, + -1.632057577e-01f, -2.019722909e-01f, -9.329724312e-02f, -1.064920276e-01f, + 3.786983341e-02f, -8.556600660e-03f, 1.457258314e-02f, 1.728013903e-01f, + -7.393328846e-02f, -8.354055882e-02f, -1.514243335e-01f, 8.066482842e-02f, + 8.307387121e-03f, 1.080449894e-01f, 7.194732875e-02f, 1.343405545e-01f, + -5.500114337e-02f, 3.695494309e-02f, -1.097995043e-02f, 4.879558831e-02f, + 1.491436269e-02f, 1.758477651e-02f, -3.944345936e-02f, -1.704405397e-01f, + 9.543881565e-02f, -3.820396587e-02f, -6.945115747e-04f, 1.266920120e-01f, + -3.903428465e-02f, -4.085946083e-02f, 1.430760324e-01f, -3.801571578e-02f, + -6.086879596e-02f, 1.594334990e-01f, -1.100433096e-01f, -6.428543478e-02f, + 2.056851685e-01f, 7.533026487e-02f, -4.836250097e-02f, -2.005314268e-02f, + -6.722347438e-02f, -1.039030850e-01f, -6.056069955e-02f, 1.249262542e-01f, + 7.777255028e-02f, 1.160084978e-01f, 3.852063790e-02f, -1.198933944e-01f, + 1.054312140e-01f, 9.295088798e-02f, 6.356894970e-02f, -1.195823178e-01f, + 6.645850092e-02f, 7.019292563e-02f, -3.203596175e-02f, -8.305677027e-02f, + -4.932730924e-03f, -1.089937403e-03f, -1.761683449e-02f, 1.255332083e-01f, + 6.011957675e-02f, 5.904547498e-02f, 1.979077160e-01f, -4.870255664e-02f, + -8.845183998e-02f, -7.621157914e-02f, -2.089994028e-02f, 2.793464251e-02f, + 3.671333892e-03f, 5.874270946e-02f, -1.168780476e-01f, 4.344940558e-02f, + -1.270757057e-02f, 4.296256229e-02f, 2.047592960e-02f, -1.350351274e-01f, + 2.831154270e-03f, -1.454758495e-01f, 1.534930058e-02f, -1.177990809e-02f, + -3.221725114e-03f, 1.082826033e-01f, -2.511388808e-02f, -6.596148014e-02f, + -3.228466958e-02f, 7.911196351e-02f, 4.938860610e-02f, -1.432862948e-03f, + 1.969060451e-01f, 1.355997622e-01f, -5.216075480e-02f, -2.321566641e-02f, + 3.496445343e-02f, 6.567770615e-04f, -1.099819168e-01f, 4.175044969e-02f, + -1.279262006e-01f, 6.232019141e-02f, 1.129736304e-01f, -7.263919711e-02f, + -2.692823298e-02f, 7.270899415e-02f, -6.508475542e-02f, -3.804504126e-02f, + -2.224744298e-02f, -1.192471161e-01f, -4.110816866e-02f, 4.168039188e-03f, + -3.638447076e-02f, -1.227497384e-01f, 7.579488307e-02f, -7.353338413e-03f, + -1.170166302e-02f, 4.182129353e-02f, -7.099869102e-02f, 7.324551232e-03f, + 9.724070877e-02f, 2.479733676e-01f, -2.201837860e-02f, -5.681189895e-02f, + 8.400682360e-02f, 2.978732437e-02f, 4.421762750e-02f, 4.444606602e-02f, + 9.411886334e-02f, -1.233249754e-01f, 4.057233781e-02f, -1.692078076e-02f, + -1.372343004e-01f, -1.694249362e-01f, 4.939796031e-02f, 6.735242438e-03f, + -7.956679165e-02f, -7.943657786e-02f, -2.943076938e-02f, 9.699517488e-02f, + -2.909643389e-02f, -1.064940467e-01f, 8.519267291e-02f, -9.597308189e-02f, + 2.135845125e-01f, -1.096736789e-01f, 1.539513469e-04f, 1.269596219e-01f, + 2.815385908e-02f, 6.332191825e-02f, -1.504306793e-01f, 1.042234674e-01f, + 3.274998069e-02f, -8.214760572e-02f, -4.315511882e-02f, 5.028757080e-02f, + -2.187636793e-01f, -6.136672944e-02f, -1.764824837e-01f, 1.018423289e-01f, + 9.916145355e-02f, -3.664498404e-02f, -2.671625018e-01f, 1.059800461e-01f, + -2.195478231e-02f, 8.754012175e-03f, 6.002352387e-02f, -1.869292408e-01f, + -1.956909150e-02f, 1.552354693e-01f, -9.260592610e-02f, -3.701262549e-02f, + 3.545232117e-02f, -1.106133386e-01f, -7.862648368e-02f, -3.528604284e-02f, + -9.516874701e-02f, -6.501179934e-02f, 2.116983570e-02f, 1.134040728e-01f, + 6.451451033e-02f, -6.587263197e-02f, 9.016046673e-02f, 1.795550883e-01f, + -2.308326773e-02f, 3.583577275e-02f, 4.059343413e-02f, -5.214471743e-02f, + 4.340965673e-02f, -2.716418356e-02f, -6.344956160e-02f, -7.620173693e-02f, + 1.489471830e-02f, -6.140302401e-03f, -7.715141773e-02f, 9.418077022e-02f, + 4.604259506e-02f, 1.195771396e-01f, 9.307647496e-02f, 2.611730248e-02f, + 1.852188446e-02f, 1.503300667e-02f, -4.670789093e-02f, -2.199220326e-04f, + 2.471914142e-02f, 1.388272047e-01f, 3.861676436e-03f, 1.974918321e-02f, + -2.640097216e-02f, -1.513278335e-01f, 5.670468137e-02f, 3.576276824e-02f, + 2.700770460e-02f, 8.041350543e-02f, -3.166636452e-02f, -4.522563517e-02f, + -5.202443898e-02f, -1.739005744e-02f, -7.710257918e-02f, 6.238023564e-02f, + 1.163799036e-02f, 8.226493001e-02f, -1.684493124e-01f, 2.832731791e-02f, + -7.807313465e-03f, 5.521277711e-02f, 2.437691577e-02f, 7.038751990e-02f, + -1.260128021e-01f, -1.729113460e-01f, 1.047166437e-01f, 3.217374440e-03f, + -5.350283906e-02f, 4.119543731e-02f, 3.320801631e-02f, -7.754470571e-04f, + 1.328267455e-01f, -1.052154377e-01f, 6.783384830e-02f, 8.568748832e-02f, + -1.473527104e-01f, -1.794583164e-02f, -2.082374394e-01f, 5.056738481e-02f, + 4.985411838e-02f, -7.014707476e-02f, 4.922697693e-02f, 5.192366987e-02f, + -4.618212953e-02f, -7.879912108e-02f, 4.139953107e-02f, -2.898270078e-02f, + -7.868112624e-02f, 1.700646579e-01f, 1.741716987e-03f, 5.125605315e-02f, + 8.529757708e-02f, -1.981565058e-01f, 9.986852854e-02f, 8.009644598e-02f, + -3.616517410e-02f, 5.472098291e-02f, 7.728166878e-02f, -2.118098140e-01f, + -1.133677140e-01f, -1.488008052e-01f, 7.057012059e-03f, -5.661096424e-02f, + -3.466185415e-03f, 1.329187583e-02f, 6.305160373e-02f, 1.448347047e-02f, + -8.728035539e-02f, -2.028868645e-01f, -6.049526855e-02f, 5.991362035e-02f, + 5.291385949e-02f, 1.227070838e-01f, 3.194688633e-02f, 7.451611757e-02f, + 4.242974520e-02f, 5.255345628e-02f, 1.448111981e-01f, -6.642563641e-02f, + 1.082280725e-01f, 3.824322298e-02f, -1.106138527e-01f, 3.597171977e-02f, + -7.385852933e-02f, -1.438233703e-01f, 1.773990807e-03f, -3.739422932e-02f, + 6.752205640e-02f, 9.843535721e-02f, -5.538282171e-02f, -1.358319167e-02f, + 1.383095887e-02f, -1.959752478e-02f, 3.626225516e-02f, 8.346336335e-02f, + -1.369601488e-01f, 2.996416879e-04f, 1.243536174e-02f, -7.717314176e-03f, + 5.397415161e-02f, 7.666566968e-02f, -1.208072528e-01f, 8.084455132e-02f, + -1.199680343e-01f, 3.922199085e-02f, -9.054033435e-04f, 1.204299405e-01f, + -1.996910758e-02f, -1.228924189e-02f, -5.511875823e-02f, 1.196009368e-01f, + -1.770588160e-01f, 2.900820374e-01f, -1.865499280e-02f, 6.897822022e-02f, + 5.789553002e-02f, 4.351578280e-02f, 3.996619955e-02f, -2.958756872e-02f, + 1.859471388e-02f, -2.031944506e-02f, 1.165850181e-02f, -2.793795662e-03f, + 1.529665478e-02f, -1.436105520e-01f, -2.867280692e-02f, 1.458337158e-01f, + -6.324313581e-02f, -1.015537158e-01f, 1.929400116e-02f, -2.129492350e-03f, + 1.321447939e-01f, 1.881312393e-02f, -1.105049476e-01f, -1.310129762e-01f, + -6.127074361e-02f, 4.112202674e-02f, 3.266292810e-02f, -2.703206055e-02f, + -1.568997353e-01f, 5.859799311e-02f, -3.028756240e-03f, 6.921932101e-02f, + -4.205705971e-02f, -1.124577150e-01f, 1.407867670e-01f, 1.240661666e-01f, + 4.244849697e-05f, 1.468722336e-02f, -3.733127611e-03f, -3.432977200e-02f, + 1.035220623e-01f, 2.890729532e-02f, -1.648617089e-01f, 4.644592106e-02f, + 3.081816249e-02f, 1.976389810e-02f, 1.576238871e-02f, 1.669076979e-01f, + 3.355009109e-02f, 2.416199632e-02f, -1.121465042e-01f, 5.925774947e-02f, + 4.281139374e-02f, 7.615998387e-02f, -8.884132258e-04f, 8.084344864e-02f, + -8.100275695e-02f, 1.674167253e-02f, 1.239966378e-01f, 2.023925036e-01f, + -3.919922188e-02f, -8.307267725e-02f, -1.480277069e-02f, -1.002121121e-01f, + 9.934327751e-02f, 1.274990886e-01f, 2.977464721e-02f, 8.461038768e-02f, + 2.612582175e-03f, 3.715365427e-03f, -5.062259361e-02f, 1.426870674e-01f, + 1.748070419e-01f, -6.736948341e-02f, 1.141203567e-01f, -1.209180895e-02f, + 8.174180239e-02f, -4.131377861e-02f, -6.251389533e-02f, -1.770466417e-01f, + 1.243217103e-02f, -3.972449526e-02f, 1.034212708e-01f, 5.162575841e-02f, + 7.500089705e-02f, -7.603412867e-02f, -1.136595160e-01f, -7.732054591e-02f, + -2.272434533e-02f, 4.795952141e-02f, 1.182150766e-01f, -7.206681371e-02f, + 5.619643629e-02f, 3.065126948e-02f, -3.218428791e-02f, -1.139121279e-01f, + 1.465265304e-01f, -1.402470469e-01f, -4.512111098e-02f, 4.210019857e-02f, + -1.089012101e-01f, 1.303912252e-01f, -9.003990889e-02f, 2.863971144e-02f, + 7.786481827e-02f, -1.668862998e-02f, 5.148778111e-02f, -5.094249174e-02f, + 7.660768926e-02f, 6.106211222e-04f, -2.552021667e-02f, -8.078487217e-02f, + -6.888917089e-02f, 7.297968119e-02f, -8.042184263e-02f, 3.762656450e-02f, + -1.605341136e-01f, -2.022561580e-01f, -8.214201080e-04f, 6.472121924e-02f, + -2.984625846e-02f, 7.746096700e-02f, 1.206621677e-01f, 8.067482710e-02f, + 1.622063965e-01f, 1.350561082e-01f, -8.822054369e-04f, -2.802666835e-02f, + -1.008342505e-01f, 2.895505913e-02f, -6.007459387e-02f, -3.229238838e-02f, + 8.558521420e-02f, 6.251135468e-02f, 1.544231642e-02f, 1.233589873e-01f, + 1.424166560e-01f, 1.666677147e-01f, 4.966842756e-02f, 3.144317074e-03f, + 1.033408344e-01f, 1.886803098e-02f, -1.015201956e-01f, -6.342839450e-02f, + 1.114212498e-01f, -9.218543023e-02f, -5.475471541e-02f, -5.757346749e-02f, + 4.017692059e-02f, -2.932953648e-02f, -3.455941007e-02f, 1.809130609e-01f, + 1.110561863e-01f, -1.437205821e-02f, -1.184490100e-01f, -1.336005777e-01f, + 1.060899440e-02f, 1.080722827e-02f, -1.450031698e-01f, -1.150273383e-01f, + -8.310634643e-02f, -1.121952012e-01f, -4.352419078e-02f, -1.961650513e-02f, + -5.694239959e-02f, -1.331663132e-01f, 6.700227968e-03f, 7.580295950e-02f, + 1.443927288e-01f, 6.291846931e-02f, 1.070662066e-01f, -4.763870034e-03f, + -5.419183150e-02f, -8.639228344e-02f, 7.105075568e-02f, 2.238409594e-02f, + -2.125679143e-02f, -1.127979904e-01f, 3.106700443e-02f, -1.575700566e-02f, + -2.349988818e-01f, -1.916653477e-02f, 6.481505185e-02f, 1.170924027e-02f, + -6.353833526e-02f, 3.056143969e-02f, 1.805890119e-03f, 1.886574738e-02f, + 1.925737411e-02f, 7.804902853e-04f, -7.590054721e-02f, -1.383202970e-01f, + -1.410747506e-02f, -4.999427125e-02f, -4.257544130e-02f, -1.425247192e-01f, + 1.794696748e-01f, 6.931402534e-02f, 4.471462965e-02f, 1.058709621e-01f, + -1.044565663e-01f, 6.971968710e-02f, -1.039268747e-01f, -8.234902471e-02f, + 4.558122158e-02f, 6.028602272e-02f, -1.031206697e-01f, 8.325053751e-02f, + 8.731336892e-02f, 3.925916553e-02f, -6.284963340e-02f, -1.539455354e-01f, + 2.218397893e-02f, 3.207510710e-02f, 3.215648234e-02f, -2.461367100e-02f, + 1.494400054e-01f, -5.918502435e-02f, -6.143028662e-02f, -1.672985405e-01f, + -2.582081594e-02f, -2.820560150e-02f, 1.743711829e-01f, -1.317286938e-01f, + -3.086396493e-02f, 8.722406626e-02f, -7.513866574e-02f, -1.082289219e-02f, + 1.328399498e-02f, 9.747900814e-02f, -2.106961608e-01f, -1.662290245e-01f, + -7.466346771e-02f, -5.884192511e-02f, 1.046030223e-01f, 7.955022901e-02f, + 1.043630391e-02f, 4.036020860e-02f, 1.961817145e-01f, -8.295332640e-02f, + -7.893963158e-02f, 2.269680426e-02f, -2.079528570e-01f, -6.380405277e-02f, + 9.043126553e-02f, 1.666635126e-01f, -4.270055518e-02f, -3.508061543e-02f, + 1.232394204e-01f, -6.711199880e-02f, 1.895118691e-02f, -5.344200134e-02f, + -6.768931448e-02f, 7.878120989e-03f, 2.075293660e-02f, 4.823233560e-02f, + 3.871752322e-02f, 2.213976905e-02f, -1.051141471e-01f, 9.857859462e-02f, + 2.685922757e-02f, 1.916622221e-01f, 6.746339798e-02f, 6.038244441e-02f, + 3.602425754e-02f, -1.802730560e-02f, -5.177038535e-02f, 1.059187874e-01f, + -1.923571713e-02f, -1.178112030e-01f, -1.534983423e-02f, 1.583337598e-02f, + -3.511970397e-03f, -2.409105375e-02f, 1.539511681e-01f, -1.344445497e-01f, + -1.083596796e-01f, 5.928654969e-02f, -4.487907514e-02f, 7.738375664e-02f, + 8.534550667e-02f, -3.509752825e-02f, -1.466312557e-01f, -3.980395198e-02f, + 3.102337942e-02f, -6.395044271e-03f, -1.383797973e-01f, -8.345820010e-02f, + -1.351449937e-01f, -1.803363711e-01f, 1.435915381e-01f, -2.619939297e-02f, + 1.150726005e-01f, 5.543535575e-02f, 6.006297469e-02f, -5.414023623e-02f, + -5.217771605e-02f, -3.735327721e-02f, 7.118583471e-02f, -1.248773709e-01f, + -7.399558276e-02f, 1.248097420e-01f, 1.280618366e-02f, -4.832336307e-02f, + 9.919646196e-03f, -5.053469911e-02f, 1.784950644e-01f, 6.885336339e-02f, + -9.813553840e-02f, 6.472239643e-02f, 1.119719520e-01f, -1.639418676e-02f, + 9.590872563e-03f, -1.396860834e-02f, -3.968059085e-03f, 2.444876730e-02f, + 1.150723174e-01f, -3.295450285e-02f, -1.628478169e-01f, -7.112371922e-02f, + 3.072930574e-01f, 3.126729280e-02f, 4.628806561e-02f, -1.095959768e-01f, + 1.986001804e-02f, -1.461622771e-03f, -3.384929150e-02f, 3.137886897e-02f, + 9.257027507e-02f, 3.594250605e-02f, -3.863651678e-02f, -1.832143031e-02f, + -1.836150885e-01f, 1.443971097e-01f, 7.635886222e-02f, -1.645215228e-02f, + 6.228853390e-02f, 1.522164196e-01f, 2.188805193e-01f, 2.398791350e-02f, + 3.793098405e-02f, -4.361025617e-02f, -5.096598342e-02f, 9.411807358e-02f, + -1.083176136e-01f, 1.328596771e-01f, -4.720932990e-02f, 3.075359389e-02f, + -1.385484189e-01f, -8.572399616e-02f, 5.382070318e-02f, -1.468304098e-01f, + 2.927066386e-02f, -1.878884062e-02f, 9.486240894e-02f, 2.908904292e-02f, + 2.152573690e-02f, -4.768641666e-02f, 1.023130305e-02f, 5.827967450e-02f, + -1.937840506e-02f, 4.849889874e-02f, -1.629863493e-02f, 1.206944659e-01f, + 2.269894257e-02f, 9.519812651e-03f, -1.004139632e-01f, 1.677028090e-01f, + 1.888213307e-02f, -1.467328169e-03f, 1.882399246e-02f, -1.156683732e-02f, + 1.007625461e-01f, 7.272283733e-02f, 4.876600578e-02f, 3.588619083e-02f, + 1.744104177e-02f, -3.872306272e-02f, 8.098534495e-02f, 1.342067844e-03f, + 1.237438470e-01f, -1.464795228e-02f, -1.739464700e-02f, -6.745079905e-02f, + -5.224030465e-02f, -3.328226507e-02f, -1.281712651e-01f, -9.565407038e-02f, + 1.202741936e-01f, -8.005491644e-02f, 4.719431978e-03f, -1.103896350e-01f, + 9.805762768e-02f, -1.589115709e-02f, -1.416119635e-01f, -2.225299031e-01f, + -2.183924429e-02f, -6.194126233e-02f, 3.200573474e-02f, -1.546715647e-01f, + -1.271570381e-02f, 1.377834231e-01f, 6.454363931e-03f, -3.984135762e-02f, + -1.349679083e-01f, -4.362831637e-02f, 4.292390775e-03f, -1.989272535e-01f, + 2.215954475e-02f, -2.655093186e-02f, -1.741710678e-02f, -5.514873192e-02f, + 9.040146135e-03f, -8.366656303e-02f, -2.026800066e-03f, 5.489822477e-03f, + -1.723922640e-01f, -3.659060597e-02f, -9.430839121e-02f, -1.090222076e-01f, + 1.896762103e-02f, 4.239949584e-02f, -1.798390895e-01f, 7.951804996e-02f, + -1.597205997e-01f, -2.765177190e-02f, -1.380324513e-01f, 5.630788207e-02f, + -1.883197576e-01f, 9.123519994e-04f, 1.534550358e-02f, 8.345679380e-03f, + -1.597521752e-01f, 1.113159209e-02f, 1.159849465e-01f, 1.346223652e-01f, + 2.083988115e-02f, 2.562159114e-02f, 9.803300351e-02f, -1.080197021e-01f, + -1.323457211e-01f, -8.716221899e-03f, 1.147698089e-01f, 8.193721622e-02f, + -1.106915250e-01f, -4.877904803e-02f, 2.743265405e-02f, 3.679198027e-02f, + -2.888114750e-02f, -9.342366457e-02f, -6.139985099e-02f, 2.309986763e-02f, + 2.158948407e-02f, 6.007376686e-02f, 1.359149218e-01f, 4.711005837e-03f, + 5.975426361e-02f, -1.526459679e-02f, -1.036059484e-01f, 5.913197249e-02f, + -9.832974523e-02f, -1.603268832e-02f, -6.827855855e-02f, 5.963821709e-02f, + -1.683953218e-03f, -1.584023237e-02f, 6.214492954e-03f, -1.231147572e-01f, + -2.057522982e-01f, -1.494741589e-01f, -1.424975842e-01f, -6.650152802e-02f, + 1.288123615e-02f, -1.281770617e-01f, 1.330003738e-01f, 1.173051521e-01f, + 4.210016131e-02f, -8.813621104e-02f, -8.480419405e-03f, -9.918406606e-02f, + 1.577892713e-02f, -1.180802435e-01f, 9.134197980e-02f, -3.635330126e-02f, + 1.111388057e-01f, -1.943539232e-01f, 3.789368272e-02f, -3.886034340e-02f, + -3.888482600e-02f, -2.953091823e-02f, 9.234233201e-02f, -3.761278465e-02f, + 5.400625244e-02f, 8.365174383e-02f, 4.683005624e-03f, -8.604732156e-02f, + 9.715378284e-03f, 4.700974002e-02f, -8.340470493e-03f, -1.094953716e-01f, + 1.033671126e-01f, 3.151976317e-02f, -1.231132299e-01f, -6.921134144e-02f, + 3.440140560e-02f, 8.267008699e-03f, 7.945426740e-03f, -5.303750560e-02f, + -3.372435272e-02f, 2.822310291e-02f, -1.986310631e-02f, -1.031252444e-01f, + 3.224911168e-02f, -3.900553286e-02f, 1.968174614e-02f, 9.406177327e-03f, + 1.925768144e-02f, -5.534536019e-02f, -1.386074424e-01f, 4.820284620e-02f, + -6.008096039e-02f, 4.132458568e-02f, 1.184245646e-01f, 2.931619994e-02f, + 8.544070274e-02f, -4.443935677e-02f, -1.140889302e-01f, -9.729145467e-02f, + 2.244289070e-01f, 2.944479324e-02f, 1.200187951e-01f, 7.870973647e-02f, + 6.864857674e-02f, -2.219367623e-01f, -1.527959555e-01f, 3.185793012e-02f, + -3.968215315e-04f, 5.115417019e-02f, 1.123822257e-01f, -1.982515864e-02f, + 1.136427745e-01f, 5.350962281e-02f, -2.357444726e-02f, 1.119098663e-01f, + 5.903470516e-02f, -1.079245359e-01f, -6.990130246e-02f, -7.718881965e-02f, + 2.177658491e-02f, 5.440157279e-02f, -1.052560881e-01f, -1.299387068e-01f, + -5.039423704e-02f, 4.362066835e-02f, 3.253113851e-02f, 4.356836528e-02f, + 1.309879422e-01f, -2.029996365e-02f, -2.881400473e-02f, -1.187243462e-01f, + -1.470458210e-01f, -1.154064834e-01f, 1.329863258e-02f, -2.594115026e-02f, + 9.571100026e-02f, -4.578661919e-02f, 1.383405030e-01f, -7.140769064e-02f, + 1.062832028e-02f, 7.650996000e-02f, 3.316634521e-02f, -1.422807276e-01f, + 4.983179644e-02f, -4.363848642e-02f, 1.036237106e-01f, 8.086401969e-02f, + 1.347856224e-02f, -5.569457635e-02f, 1.070998013e-01f, 8.983378112e-02f, + -2.689668722e-02f, -3.742065281e-02f, 6.619213149e-03f, 8.400815725e-02f, + 1.279883385e-01f, -8.067919314e-02f, 7.059407234e-02f, -1.670657657e-02f, + 4.533445463e-02f, -8.163854480e-03f, -6.403806061e-02f, 3.821917251e-02f, + 1.012495980e-01f, 1.832385734e-02f, -8.886042982e-02f, 4.134470224e-02f, + -3.819089383e-02f, -2.258089036e-01f, 1.612815540e-03f, 1.528936028e-01f, + 2.122250795e-01f, -4.042952135e-02f, 2.531019785e-02f, -1.031832024e-01f, + 7.053903490e-02f, 1.845294684e-01f, -7.248888910e-02f, -5.114259571e-02f, + -5.921071023e-02f, 7.061500102e-02f, 2.312361076e-02f, -1.657255888e-01f, + -1.425512731e-01f, 7.589542121e-02f, 2.250142209e-02f, 1.365833580e-01f, + 4.999727383e-02f, 7.391086221e-02f, 9.837495536e-02f, 1.656650156e-01f, + 3.590083495e-02f, -5.859510507e-03f, 2.234336548e-02f, -5.288650095e-02f, + 4.469595850e-02f, 2.402181551e-02f, -5.849222466e-02f, 4.672725126e-02f, + 8.413375914e-02f, -1.634504348e-01f, -1.196312159e-01f, -1.285887230e-02f, + 1.181336045e-01f, -1.723784655e-01f, -2.407236584e-02f, -9.089282155e-02f, + 3.366601421e-03f, 8.647339791e-02f, -1.194612309e-02f, -1.736832433e-03f, + 2.416649275e-02f, -1.146887615e-02f, 2.496466786e-02f, -1.439455003e-01f, + 1.374980360e-01f, -4.318145290e-02f, 1.802080125e-01f, -1.210413990e-03f, + 4.409025237e-02f, 8.828933537e-02f, -7.584117353e-02f, -4.103773460e-02f, + -7.979757339e-02f, -2.555619180e-01f, 8.648728835e-04f, 9.747342765e-02f, + -5.742729455e-02f, -7.140693814e-02f, -8.762227744e-02f, 2.843882889e-02f, + -4.074590281e-02f, -1.056854352e-01f, -3.516359255e-02f, -4.417221528e-03f, + -1.141311526e-01f, -1.160073876e-01f, 3.610298783e-02f, 7.017489523e-02f, + -1.272377521e-01f, -8.487515152e-02f, -4.998460785e-02f, 4.938138276e-02f, +}; + +constant float TURBOQ_Q_128[128 * 128] = { + 1.640247852e-01f, 1.120213866e-01f, 1.091258973e-01f, -7.848165929e-02f, + 1.042653844e-01f, 2.660138719e-02f, -4.317650944e-02f, -2.633668482e-02f, + -1.582561135e-01f, 5.779674649e-02f, -7.179947197e-02f, -1.224754378e-01f, + 1.348546892e-01f, 8.188736439e-02f, 1.893242262e-02f, -2.738992684e-02f, + 7.194276154e-02f, 7.781628519e-02f, -9.345290810e-02f, -8.615189046e-02f, + 8.211882669e-04f, -4.402102157e-02f, 1.001779512e-01f, -2.928997576e-02f, + -7.589484006e-02f, 8.259098232e-02f, 1.005533114e-01f, -4.255407490e-03f, + -2.328242362e-02f, 9.837425314e-03f, -4.256776720e-02f, -3.680342808e-02f, + -1.058959141e-01f, 2.146033198e-02f, -2.228954434e-02f, -2.816637792e-02f, + -1.591591351e-02f, 1.827838719e-01f, 2.996339649e-02f, 1.025654674e-01f, + 6.972130388e-02f, 6.978467852e-02f, 4.718124494e-02f, -5.004017055e-02f, + -2.021348476e-02f, 5.081553757e-02f, -8.981288970e-02f, 1.167897508e-01f, + -2.567840274e-03f, 1.294247210e-01f, -4.516235366e-02f, -9.424663335e-02f, + -1.163168997e-01f, -4.747733846e-02f, 8.388905972e-02f, 1.135984063e-01f, + -2.005488425e-02f, 5.305870622e-02f, 1.296135224e-02f, 2.476181835e-02f, + 6.132695079e-02f, 7.042735070e-02f, -7.888709754e-02f, -1.071959734e-01f, + -1.004581824e-01f, 1.483734250e-01f, 9.987806529e-02f, 6.421341002e-02f, + -1.326782554e-01f, 2.135095419e-03f, -7.264472544e-02f, 5.243413523e-02f, + -7.696548849e-02f, -3.033953346e-02f, 8.708509803e-02f, -5.080710724e-02f, + -3.537945077e-02f, -5.439579859e-02f, 2.666963451e-02f, -1.918940619e-02f, + -2.122339047e-02f, -1.635961086e-01f, 1.660108119e-01f, -3.677839413e-02f, + -1.856231838e-01f, -1.465696543e-01f, 1.568618119e-01f, -1.579271108e-01f, + 6.141147763e-02f, 2.332109213e-02f, -4.714291915e-02f, 1.211555749e-01f, + -5.773273110e-02f, 9.634171613e-03f, 4.643013701e-02f, -8.647415787e-02f, + -6.811382622e-02f, -4.214186687e-03f, -3.456807137e-02f, 1.115881205e-01f, + -9.314934909e-02f, -6.614483148e-02f, -6.017120555e-02f, 7.186679635e-03f, + 4.208553582e-02f, -5.723677203e-02f, -8.287372440e-02f, 5.773472413e-02f, + 2.167556435e-01f, -2.481012791e-02f, -1.549691427e-02f, 5.992067233e-02f, + 4.587886855e-03f, 1.128259227e-01f, 1.403856426e-01f, 4.537262395e-02f, + -1.677362770e-01f, -1.348412633e-01f, 4.325889796e-02f, 1.215651855e-01f, + 8.806804568e-02f, 1.969060451e-01f, 1.163799036e-02f, -4.205705971e-02f, + -8.310634643e-02f, -1.351449937e-01f, -1.723922640e-01f, 5.903470516e-02f, + -1.157175284e-02f, -3.082128800e-02f, 5.559910461e-02f, -1.882943884e-02f, + 3.572931513e-02f, 8.818918467e-02f, -8.137139678e-02f, 5.797429755e-02f, + 1.426166855e-02f, -6.616896391e-02f, -6.939532608e-02f, 1.609181613e-01f, + -1.970609277e-01f, -1.167286932e-02f, 9.322056174e-02f, 3.865261003e-02f, + 3.752190620e-03f, 3.547614813e-02f, 9.459961951e-02f, 2.915035561e-02f, + -7.954611629e-02f, 2.281942219e-02f, 1.421085596e-01f, 3.030934930e-02f, + 6.342255324e-02f, 1.140975133e-01f, -1.467361115e-02f, -2.148667276e-01f, + -9.625741094e-02f, -6.675060093e-02f, -3.849605471e-02f, -1.326352209e-01f, + -6.592458487e-02f, -3.269538656e-02f, 6.415350735e-02f, -7.508172840e-02f, + 5.739835650e-02f, -8.766739070e-02f, -3.190267831e-02f, -5.045636371e-02f, + 1.828823797e-02f, 2.703558654e-02f, 5.469064415e-02f, -2.065410614e-01f, + 7.045514882e-02f, -1.490088645e-02f, 4.299667850e-02f, -4.056569561e-02f, + 3.935091197e-02f, 2.346772850e-01f, -3.672533110e-02f, 7.934629172e-02f, + -5.395788699e-02f, -1.623871326e-01f, -1.025571078e-01f, -2.024009675e-01f, + -7.122152299e-02f, -7.725270092e-02f, 4.063440487e-02f, 2.142690867e-02f, + -8.235093951e-02f, -1.329471171e-01f, 1.794595085e-02f, -3.777272254e-02f, + 1.024966389e-01f, -7.664322108e-02f, 1.593474671e-02f, -4.183651879e-02f, + 2.216200829e-01f, 2.440458164e-02f, -1.028409973e-02f, 8.481955528e-02f, + 4.574692249e-02f, 5.160860345e-02f, 1.675846055e-02f, 7.746816427e-02f, + 4.691111296e-02f, 2.588243596e-02f, -1.164974738e-02f, -3.199759638e-03f, + -4.200269282e-02f, 5.543942377e-02f, -8.081111126e-03f, 1.223798469e-01f, + 8.192944527e-02f, 1.063299105e-01f, -2.234130725e-02f, -5.981960893e-02f, + -2.334851213e-02f, 8.646372706e-02f, -3.023085184e-02f, 2.016120404e-02f, + -9.616598487e-02f, -7.978001982e-02f, -2.590900287e-02f, -6.148294359e-02f, + 7.194469869e-02f, 1.625522971e-03f, -2.220767140e-01f, 1.848533750e-01f, + -5.820999295e-02f, 7.505165413e-03f, 1.062964275e-02f, 8.079532534e-02f, + 6.660193950e-02f, 1.620952040e-01f, 2.175910771e-02f, -4.472459108e-02f, + 1.411480922e-02f, -8.971376717e-02f, -1.535572261e-01f, -9.038613737e-02f, + 1.381956041e-01f, -6.628100295e-03f, 4.081444442e-02f, -6.363773253e-03f, + -6.916264445e-02f, 1.632213406e-02f, 1.407695860e-01f, 1.112622470e-01f, + 2.199393883e-02f, 1.355997622e-01f, 8.226493001e-02f, -1.124577150e-01f, + -1.121952012e-01f, -1.803363711e-01f, -3.659060597e-02f, -1.079245359e-01f, + -5.487721413e-02f, -7.929472625e-02f, 6.704656035e-02f, 4.010017961e-02f, + -1.141445264e-01f, -8.660780638e-02f, 2.058571577e-02f, 7.571752649e-03f, + -8.979093283e-03f, 1.140135229e-01f, 6.597943604e-02f, -8.970688283e-02f, + 4.407308623e-02f, -9.917283058e-02f, -6.434544176e-02f, -1.536850119e-03f, + 1.171776503e-01f, -2.081149817e-02f, -3.823716659e-03f, -2.149114572e-02f, + -1.379884034e-01f, -7.957047224e-02f, 7.759000361e-02f, -5.148911104e-02f, + -2.083135396e-02f, 4.776858538e-02f, -1.726497896e-02f, -7.059736550e-02f, + -1.382675469e-01f, 9.387797117e-02f, -2.303011715e-02f, -7.057084888e-02f, + 9.394838661e-02f, -4.694177210e-02f, -2.999535203e-02f, 9.351304732e-03f, + 1.968492870e-04f, -6.281124800e-02f, 3.330034763e-02f, 3.636836773e-03f, + -5.478039384e-02f, 9.431238472e-02f, -1.388654113e-01f, 3.667816147e-02f, + -5.976938829e-02f, 9.917369485e-02f, 4.997939616e-02f, -4.056219041e-05f, + 1.059485748e-01f, 2.494824380e-01f, 1.163857207e-01f, -1.055085137e-01f, + 2.173437737e-02f, 6.479564309e-02f, -1.378909051e-01f, 6.177465245e-02f, + 1.151299011e-02f, 1.153612733e-01f, -4.131489620e-02f, -3.207859769e-02f, + 3.489222005e-02f, 2.471973374e-02f, -1.223237738e-01f, 2.076444030e-02f, + -2.578403242e-02f, -7.000693679e-02f, 1.547587477e-02f, 1.285035163e-01f, + 7.375219464e-02f, -6.350102276e-02f, 1.049383581e-01f, 1.356408894e-01f, + -3.584200144e-02f, 3.721451387e-02f, 2.042658441e-02f, 1.072205529e-01f, + -1.382874325e-02f, 4.358215630e-02f, -5.330232531e-02f, 2.150176093e-02f, + -4.368539527e-02f, 5.120675638e-02f, 7.527090609e-02f, -1.099104732e-01f, + -9.165716916e-02f, 3.097836114e-02f, -6.796605140e-02f, -3.278611600e-02f, + 1.129428819e-01f, 2.582921386e-01f, -7.621350884e-02f, -1.577335894e-01f, + -1.446146816e-01f, -8.508407325e-02f, 1.060443297e-01f, 1.642080545e-01f, + 1.340960115e-01f, -6.746972352e-02f, 9.711682051e-02f, 2.747821994e-02f, + 2.142446488e-02f, 2.156204730e-02f, -9.770365804e-02f, -1.301151514e-01f, + 9.291835874e-02f, 1.637020707e-01f, -1.794270873e-01f, 4.349879175e-02f, + 1.911363378e-02f, -1.158544049e-01f, -1.601737924e-02f, -1.094348654e-01f, + -1.198905185e-01f, -7.192577422e-02f, 4.239731282e-02f, 2.283701114e-02f, + -3.446026519e-02f, 8.661317825e-02f, -1.604177654e-01f, -6.526178122e-02f, + 9.515569359e-02f, -5.216075480e-02f, -1.684493124e-01f, 1.407867670e-01f, + -4.352419078e-02f, 1.435915381e-01f, -9.430839121e-02f, -6.990130246e-02f, + -6.045513973e-02f, -1.677575707e-01f, 7.144518197e-02f, -8.193201385e-03f, + 7.172933966e-02f, -6.918171048e-02f, -1.392455306e-02f, -1.467885673e-01f, + -1.413813978e-01f, -6.881249696e-02f, 1.006709263e-01f, -1.205476075e-01f, + 7.503567636e-02f, 9.070380032e-02f, 7.207007706e-02f, 1.272946037e-02f, + -2.567649074e-02f, -5.614086241e-02f, -1.800329238e-02f, -8.937095106e-02f, + 9.957383573e-02f, 2.235408174e-03f, 2.301408537e-02f, 1.093536690e-01f, + -1.410573255e-03f, 5.290494487e-02f, -1.551726907e-01f, 3.876364976e-02f, + -7.812315226e-02f, -3.190927580e-02f, 1.048383117e-01f, -1.123630330e-01f, + -1.063013226e-01f, 1.195626780e-01f, -1.153292507e-01f, -2.926195972e-02f, + -9.249143302e-02f, 7.770096511e-02f, 7.269366831e-02f, -1.096785516e-01f, + 4.582948983e-02f, -9.033470601e-02f, -9.508065134e-02f, 1.233207956e-01f, + -2.637994476e-02f, 5.754935741e-02f, 1.713122765e-04f, 5.367684737e-02f, + -1.841735393e-01f, -4.985311627e-02f, -3.287528455e-02f, -1.224882603e-01f, + -2.407191321e-02f, -8.770655841e-02f, 8.218120784e-02f, 4.712580144e-02f, + 1.291388571e-01f, -1.232835501e-01f, -8.260945231e-02f, 9.655071795e-02f, + -2.143233549e-03f, -1.396549791e-01f, 4.403679445e-02f, -6.940118223e-02f, + -1.494716387e-02f, -1.364426166e-01f, 6.123542041e-02f, -8.810232393e-03f, + 9.263729677e-03f, -2.086055931e-03f, -7.424739003e-02f, 7.335300744e-02f, + 3.778137639e-02f, -5.993353948e-02f, 1.579862982e-01f, 5.915289279e-03f, + 9.933646768e-03f, -1.847182512e-01f, -3.564507887e-02f, 9.084685147e-02f, + -9.117450565e-03f, -1.061538607e-02f, -1.726078391e-01f, 1.189851090e-01f, + 3.907433152e-02f, 5.188079178e-02f, -8.366673440e-02f, 7.769052684e-02f, + -1.152812690e-01f, -3.626176715e-02f, -4.775048699e-03f, 4.779912531e-02f, + 9.043646604e-02f, -1.631637514e-01f, 1.459854543e-01f, 7.892531157e-02f, + -1.166953593e-01f, 1.918924856e-03f, -1.135211214e-01f, -1.358984038e-02f, + -1.634886265e-01f, 7.194375247e-02f, -9.489098191e-02f, -2.303013392e-02f, + -2.126681432e-02f, 2.275848761e-02f, -6.620833278e-02f, 2.654156275e-02f, + -1.391011477e-01f, -5.993150920e-02f, 7.258906215e-02f, -1.796791255e-01f, + -2.876598574e-02f, -1.349940896e-01f, 1.388414949e-01f, 4.880845547e-02f, + -1.452849358e-01f, 3.359212354e-02f, 8.323502541e-02f, -1.267073750e-01f, + -8.774898946e-02f, -2.321566641e-02f, 2.832731791e-02f, 1.240661666e-01f, + -1.961650513e-02f, -2.619939297e-02f, -1.090222076e-01f, -7.718881965e-02f, + 2.577261766e-03f, 3.614524752e-02f, 9.100082517e-02f, -9.831982106e-02f, + -1.113202125e-01f, 1.399582624e-01f, -1.382264942e-01f, 5.683955178e-02f, + 7.557895035e-02f, -3.450088948e-02f, -7.871665061e-02f, -3.649216669e-04f, + -6.929594278e-02f, -4.106092453e-02f, 1.300415397e-01f, 1.776386611e-02f, + 1.092301086e-01f, -8.221269399e-02f, 5.052482709e-02f, -2.306853980e-02f, + 3.718974441e-02f, 8.924797177e-03f, 3.481898904e-01f, 1.526148617e-01f, + -7.290364802e-02f, 5.923076067e-03f, 1.341352910e-01f, -5.436078832e-02f, + -9.543272667e-03f, -2.466890812e-01f, -4.991935566e-02f, -1.841910928e-02f, + -6.516259164e-02f, -2.034050226e-02f, -1.280750185e-01f, 4.761784151e-02f, + -1.482978836e-02f, -4.917601123e-02f, 1.014427170e-01f, -1.056034267e-01f, + -4.440187942e-03f, 3.230017796e-02f, 7.890423760e-03f, 3.351810202e-02f, + 1.097819954e-02f, -9.763700888e-03f, -6.925823539e-02f, 1.278048158e-01f, + -1.460565720e-02f, -1.110451743e-01f, -2.726762369e-02f, -4.939341545e-02f, + -6.129155681e-02f, 1.445656270e-01f, 6.731291115e-02f, 1.254731268e-01f, + -5.587515235e-02f, 8.812225610e-02f, 1.273108870e-01f, 8.348948509e-02f, + -5.216947943e-02f, -1.189655811e-01f, 2.685058489e-02f, 1.311518997e-01f, + 9.000159055e-02f, 2.998320386e-02f, 1.863115840e-02f, 1.314797699e-01f, + -8.578296751e-02f, -1.847383976e-01f, 3.617297858e-02f, -1.269307137e-01f, + 3.450296447e-02f, -1.987341326e-03f, 4.776027519e-03f, -8.041771129e-03f, + -5.735871568e-02f, 1.284612268e-01f, 7.275307178e-02f, 4.601064697e-02f, + 3.530661389e-02f, -1.055603251e-01f, 7.239600271e-02f, 1.286076605e-01f, + 9.569633752e-02f, 3.399479762e-02f, -3.370897472e-02f, 2.532873116e-02f, + 1.520933956e-02f, -6.491874903e-02f, -6.827271730e-02f, 2.341748402e-02f, + 1.215034500e-01f, 1.239666343e-01f, -6.725673378e-02f, 1.073906571e-02f, + 6.851825118e-02f, 6.896593422e-02f, 6.156749278e-02f, -5.179523677e-02f, + 7.489304990e-02f, -4.181966651e-03f, 1.211304814e-01f, -1.212849654e-02f, + 1.792513132e-01f, 9.781688452e-02f, -8.567479253e-02f, 1.203610152e-01f, + -5.863974802e-03f, 8.173865825e-02f, 9.847254306e-02f, -1.800158471e-01f, + 2.901223116e-02f, 9.332359582e-02f, 9.583091736e-02f, 4.452273133e-04f, + 1.206658129e-02f, 1.075830460e-01f, 6.839565933e-03f, -1.688371599e-01f, + 1.434332691e-02f, 3.496445343e-02f, -7.807313465e-03f, 4.244849697e-05f, + -5.694239959e-02f, 1.150726005e-01f, 1.896762103e-02f, 2.177658491e-02f, + -3.500252264e-03f, 6.195365265e-02f, -9.696519375e-02f, -8.538829535e-02f, + 1.415259857e-02f, -1.124028191e-01f, -1.583635956e-01f, -7.507816888e-03f, + 4.367737472e-02f, 5.413556937e-03f, 7.435874082e-03f, 7.564754039e-02f, + 3.503163904e-02f, -7.694339007e-02f, 1.465891749e-01f, -4.767994583e-02f, + -5.765585974e-02f, 5.866114795e-02f, -2.227303982e-01f, 1.185778305e-01f, + 4.192847759e-02f, -6.109284237e-02f, -1.199920326e-01f, 3.487182409e-02f, + 1.060494035e-01f, 5.139733106e-02f, 8.231710643e-02f, -7.829397917e-02f, + 9.996208362e-03f, -2.329994142e-01f, -8.649794012e-02f, -5.407265946e-02f, + 5.513796583e-02f, 1.470469870e-02f, -3.611006960e-02f, -6.208548322e-02f, + 7.349331677e-02f, -6.081810594e-02f, -8.446764201e-02f, 3.050859459e-02f, + 7.980895042e-02f, 2.761230767e-01f, -5.349311978e-02f, -3.088769736e-03f, + -1.854470670e-01f, 2.608142793e-02f, 8.943728358e-02f, -9.810056537e-02f, + -1.346705705e-01f, 1.364202588e-03f, -1.663847864e-01f, 1.685736179e-01f, + 9.060588479e-02f, -1.071501672e-01f, 5.220939592e-02f, 5.269398913e-02f, + 3.488430521e-03f, 1.055508405e-01f, 2.081436217e-01f, 8.893682063e-02f, + 4.222261161e-02f, -2.304974012e-02f, 1.704865992e-01f, -2.759714238e-02f, + -6.633031368e-02f, -9.178408980e-02f, -1.086704209e-01f, -1.296869814e-01f, + -5.240873899e-03f, 4.554929957e-02f, 1.047079712e-01f, 9.208497405e-02f, + -3.546055406e-02f, 3.078211844e-02f, 9.517323226e-02f, -7.824393362e-02f, + -6.107557938e-02f, -9.635195881e-02f, 2.433775924e-02f, -3.851474077e-02f, + 7.168697566e-02f, 1.299410164e-01f, 1.458589081e-02f, -9.884828329e-02f, + 2.573235519e-02f, -1.105244905e-01f, 8.343824744e-02f, 2.669533156e-02f, + 7.300744951e-02f, 2.936186455e-02f, 1.246701833e-02f, -7.884378731e-02f, + 1.664223336e-02f, 2.733212151e-02f, 3.265208798e-03f, 4.213416949e-03f, + -1.180447713e-01f, -6.523490697e-02f, -1.648605429e-02f, -1.144153550e-01f, + -8.261736482e-02f, 1.430002153e-01f, -1.729549468e-02f, -8.506622165e-02f, + -8.157175034e-03f, 3.599831462e-02f, -1.749439985e-01f, -8.018030971e-02f, + 1.350981891e-01f, -9.034875780e-02f, 1.414830238e-01f, -2.403759956e-02f, + -6.414058618e-03f, -1.437691413e-02f, 5.320692435e-02f, -1.010977998e-01f, + 3.935344517e-02f, 6.288956851e-02f, 8.456712589e-03f, -2.888626605e-02f, + 7.722365204e-03f, 6.567770615e-04f, 5.521277711e-02f, 1.468722336e-02f, + -1.331663132e-01f, 5.543535575e-02f, 4.239949584e-02f, 5.440157279e-02f, + 1.250369251e-01f, -1.309013665e-01f, 9.356457740e-02f, 8.083884418e-02f, + -3.694735095e-02f, -9.844603017e-03f, -1.181275677e-02f, -4.177656490e-03f, + 7.398324087e-03f, -4.912832379e-02f, 5.185730755e-02f, 1.046750396e-01f, + -9.099501371e-02f, -6.288802624e-02f, -3.824950662e-03f, -5.528584123e-02f, + 1.069205161e-02f, 1.157930195e-01f, 3.333200514e-02f, -5.421609618e-03f, + -4.760752246e-02f, -1.405471750e-02f, -4.286365584e-02f, -3.208409622e-02f, + 1.741049588e-01f, 7.391235977e-02f, -2.192636952e-03f, 2.628532611e-02f, + -1.866746247e-01f, 6.419754773e-02f, -7.135103643e-02f, -9.788480587e-03f, + 7.428167155e-04f, -3.812362254e-02f, 6.327138096e-02f, -1.648007147e-02f, + 1.536661573e-02f, -7.642676681e-02f, 9.948171675e-02f, -3.781489283e-02f, + -6.605371833e-02f, 1.047142199e-03f, 3.757541999e-02f, 6.327862293e-02f, + -1.475681961e-01f, -5.352391675e-02f, -1.485948116e-01f, -5.705403164e-03f, + -4.821176827e-02f, 1.551715583e-01f, 9.250666946e-02f, -2.660160325e-02f, + 9.168343246e-02f, 7.891791873e-03f, -6.305367500e-02f, 7.476797327e-03f, + -6.734926254e-02f, 2.405163832e-02f, -9.013967216e-02f, 5.871365219e-02f, + 1.417739838e-01f, 1.724504121e-02f, 2.223766968e-02f, -1.843498200e-01f, + -4.673772678e-02f, -9.854948521e-02f, 8.331256360e-02f, -1.990418136e-02f, + 1.102590654e-02f, -5.893118307e-02f, 1.421406586e-02f, -9.940647334e-02f, + 1.605662405e-01f, -2.213190347e-01f, -3.745424375e-02f, -2.665282190e-01f, + 6.140362937e-03f, -6.853554398e-02f, 1.252612174e-01f, -3.521789238e-02f, + 1.214509755e-01f, -9.430265427e-02f, -1.231792793e-01f, 1.333513204e-02f, + -4.311941192e-02f, 2.741472051e-02f, 4.355762899e-02f, -2.366999834e-04f, + -1.297367364e-01f, -1.301301569e-01f, -1.389927417e-01f, 4.587430134e-02f, + -6.858892739e-02f, 5.557017401e-02f, -9.957214445e-02f, 1.348514110e-01f, + -3.726577014e-02f, 7.242530584e-02f, 5.803386867e-02f, 4.443962499e-02f, + 6.949345767e-02f, -5.875022151e-03f, 1.895801872e-01f, -4.660724476e-02f, + -1.102344915e-01f, 1.458574086e-03f, 1.093714461e-01f, 3.897389770e-02f, + 1.982360035e-01f, 6.011810526e-02f, 1.912572831e-01f, -1.065663397e-01f, + 5.629735067e-02f, 7.010275871e-02f, -4.446677119e-02f, -1.435420960e-01f, + -1.398112439e-02f, 6.206164509e-02f, -4.551894963e-02f, 1.141618788e-01f, + 3.857865557e-02f, -1.099819168e-01f, 2.437691577e-02f, -3.733127611e-03f, + 6.700227968e-03f, 6.006297469e-02f, -1.798390895e-01f, -1.052560881e-01f, + 2.045899257e-02f, 5.805378780e-02f, 1.205397546e-01f, 5.296736211e-02f, + 1.170516666e-02f, -2.316072118e-03f, -6.326292455e-02f, -7.109260559e-02f, + -1.417270899e-01f, -4.718905687e-02f, 1.060284674e-01f, 3.967408463e-02f, + 4.917219281e-02f, -2.933598682e-02f, -1.283808798e-01f, -3.930315748e-02f, + 1.595755965e-01f, 3.791031241e-02f, 7.151371986e-02f, -1.457751542e-01f, + -1.675558090e-02f, 5.935609713e-02f, 5.493032932e-02f, 3.253357019e-03f, + 5.463229492e-02f, -3.197421506e-02f, 1.253426634e-02f, 1.563391089e-01f, + 1.337360442e-01f, -1.526371092e-01f, 4.758236557e-02f, 3.955567256e-02f, + -1.320331991e-01f, -5.092275888e-02f, -7.532440126e-02f, -3.620195016e-02f, + 1.662346721e-01f, 1.034817174e-01f, -1.009423882e-01f, 4.596726224e-02f, + -1.472107917e-01f, 1.345204934e-02f, -1.099475473e-01f, -5.882523488e-03f, + -7.724159397e-03f, -7.882504910e-02f, -3.325994313e-02f, 7.247542031e-03f, + 1.582443267e-01f, 2.351956218e-01f, 1.304610372e-01f, -5.743815750e-02f, + -1.774833649e-01f, 1.670425199e-02f, -5.745428056e-02f, -5.754530057e-02f, + 6.407216936e-02f, -9.641976655e-02f, 6.394002587e-02f, 1.056885868e-01f, + -7.809346914e-02f, -1.378430799e-02f, 1.474511176e-01f, 3.157430515e-02f, + -2.527083457e-02f, -9.008251131e-02f, 3.039314412e-02f, -5.973499641e-02f, + 2.628386766e-02f, 1.456973702e-01f, -2.657158300e-02f, 2.367061563e-02f, + -9.532219172e-02f, 7.739623636e-02f, -1.821308136e-01f, 1.624172926e-02f, + -7.936444134e-03f, 5.199211463e-02f, -2.634873055e-02f, -8.835216053e-03f, + -5.488776043e-02f, 1.531550884e-01f, 6.713103969e-03f, -3.721943870e-02f, + -3.262070194e-02f, -8.929746598e-02f, -1.386941522e-01f, 1.384735457e-03f, + 1.164452061e-01f, -7.145190239e-02f, 8.592616767e-02f, 1.526964158e-01f, + 1.889344305e-01f, 3.744703159e-02f, -9.089886211e-03f, 1.288394928e-01f, + -3.646720946e-02f, 3.102723137e-02f, 8.566123992e-02f, 2.576321363e-02f, + -1.398634911e-02f, 1.982979774e-01f, -2.087984048e-02f, -7.405637205e-02f, + -1.091654301e-01f, 9.597985446e-02f, 6.526074372e-03f, -7.272655517e-02f, + 9.653411061e-02f, 1.649335772e-01f, 1.130845994e-01f, 6.515637040e-02f, + -8.849536628e-02f, 4.139119387e-02f, 1.098574046e-02f, -9.916736186e-02f, + 2.732045832e-04f, 6.573282927e-02f, 7.156764716e-02f, -8.777081221e-02f, + 6.124235317e-02f, 4.175044969e-02f, 7.038751990e-02f, -3.432977200e-02f, + 7.580295950e-02f, -5.414023623e-02f, 7.951804996e-02f, -1.299387068e-01f, + -1.008859053e-01f, -8.320989460e-02f, 1.832043193e-02f, 1.310888976e-01f, + -5.604729429e-02f, 7.090898231e-03f, -1.089402139e-01f, 6.599362940e-02f, + 1.832067221e-02f, 5.508706719e-02f, -1.008524820e-01f, -8.743062615e-03f, + 2.865239605e-02f, -4.659465700e-02f, 8.066683263e-02f, -3.086825460e-02f, + -2.714235485e-01f, 1.352847517e-01f, 1.629978418e-02f, -1.026630178e-01f, + -4.089913890e-02f, -9.645058215e-02f, 1.029919237e-01f, -1.834883820e-03f, + 1.187313348e-02f, -1.132886037e-01f, 3.851760551e-02f, -1.233908907e-01f, + 6.580511481e-02f, -1.875779778e-02f, -1.018777713e-01f, 3.378754482e-02f, + -6.220718101e-02f, -2.160206251e-02f, 1.154414564e-01f, 8.384031802e-02f, + -1.358097792e-01f, -1.117260158e-01f, -1.228336841e-01f, -5.451013334e-03f, + 8.660594374e-02f, -6.039367616e-02f, 8.200357109e-02f, 2.507662214e-02f, + -7.724516839e-02f, 3.885858133e-02f, -1.085868254e-01f, -3.279537708e-02f, + -3.755416349e-02f, 6.675495952e-02f, 2.196004242e-01f, 3.668926656e-02f, + -1.242982447e-01f, -2.341658995e-02f, -1.217460912e-02f, 4.985871259e-03f, + 1.310922354e-01f, -2.050322108e-02f, 1.804792434e-01f, 7.595826685e-02f, + 2.706681378e-02f, -1.345156580e-01f, -7.288559526e-02f, -1.396805346e-01f, + 4.451373219e-02f, -5.678822473e-02f, 2.272511087e-02f, -4.344261438e-02f, + 1.017530337e-01f, 4.881595075e-02f, -7.382592559e-02f, 4.727083072e-02f, + -1.705796570e-01f, 1.389278471e-01f, -1.427608542e-02f, -2.555783140e-03f, + -8.899957687e-02f, 7.449576259e-02f, -1.402819064e-02f, 1.139560267e-01f, + 1.464160532e-01f, -1.421172470e-01f, 1.097035110e-01f, 3.913712129e-02f, + 6.964132190e-02f, -1.211711578e-02f, -1.391802914e-02f, -1.172041222e-01f, + -3.749658167e-02f, 1.859569363e-02f, 9.584216774e-02f, 7.144346833e-03f, + 1.377119571e-01f, -1.729254797e-02f, 4.405515268e-02f, -1.264082342e-01f, + -4.714494944e-02f, -9.134339541e-02f, 6.672082096e-02f, -1.360957026e-01f, + 4.376002029e-02f, 1.277308166e-01f, 5.979102105e-02f, 2.846852876e-02f, + -1.400407311e-02f, -1.263264418e-01f, 3.351648152e-02f, -6.227046624e-02f, + 3.161687776e-02f, 4.113052040e-02f, 4.176437110e-02f, -3.310308233e-02f, + -5.233861879e-02f, -9.994673729e-02f, -1.336219348e-02f, 1.585463881e-01f, + 3.156720474e-02f, -1.230545714e-01f, -8.922592551e-02f, 7.250517607e-02f, + 2.080096304e-02f, -1.279262006e-01f, -1.260128021e-01f, 1.035220623e-01f, + 1.443927288e-01f, -5.217771605e-02f, -1.597205997e-01f, -5.039423704e-02f, + -7.586523890e-02f, 1.313631535e-01f, -3.325725719e-02f, 8.824758232e-02f, + 1.189414933e-01f, 1.131741554e-01f, 5.603322759e-02f, 5.636140704e-03f, + -8.538348973e-02f, -1.825024039e-01f, 1.078424677e-01f, 1.083738580e-01f, + 8.063656092e-02f, 7.908221334e-02f, -1.106180716e-02f, 8.990632743e-02f, + -7.114215195e-02f, 1.860777885e-01f, -6.388692558e-02f, 1.886499077e-01f, + 1.080198139e-01f, 9.260868281e-02f, -2.077492420e-03f, -9.373489022e-02f, + -1.132369265e-01f, -4.505438555e-04f, 6.295707077e-02f, 8.352085948e-02f, + 8.540490270e-02f, -2.994374000e-02f, -1.242665425e-01f, 3.023060039e-02f, + -9.189722687e-02f, -3.083871678e-02f, 1.348665683e-03f, -4.289598763e-02f, + 1.907625943e-01f, -4.529080167e-02f, 5.713494495e-03f, -8.918543160e-02f, + -9.847996384e-02f, -6.130858790e-03f, -1.295864955e-02f, -1.721319184e-02f, + 6.347212940e-02f, 1.234872360e-02f, -6.848096848e-02f, 8.204507083e-02f, + -5.315503106e-03f, -1.919444092e-02f, 1.045744643e-01f, 5.220194906e-02f, + -5.050248653e-02f, -3.208478540e-02f, -1.640171558e-01f, -2.306250110e-02f, + -1.875213720e-02f, 3.475731239e-03f, -1.548064053e-01f, 2.570655756e-02f, + -3.807521984e-02f, 1.064956635e-01f, 7.095144689e-02f, -7.023657858e-02f, + -1.469389070e-02f, -2.605302446e-02f, -5.042297021e-02f, -1.405483205e-02f, + -3.382790461e-02f, -1.299822628e-01f, 1.459046304e-01f, 1.792371273e-02f, + 5.110542849e-02f, 5.479147285e-02f, -3.124515153e-02f, -4.352713376e-02f, + -6.556135416e-02f, 3.152487800e-02f, 7.437238842e-02f, 1.872226447e-01f, + 5.595104396e-02f, -3.603248298e-02f, -1.141392738e-01f, 1.093663722e-01f, + 1.088953167e-01f, -9.523515403e-02f, 6.653450429e-02f, 1.275789440e-01f, + 5.853300542e-02f, 8.476977050e-02f, -1.603536010e-01f, 2.353674360e-02f, + -8.002694696e-02f, 7.032965869e-02f, 1.738590151e-01f, -4.679001868e-02f, + -8.891955018e-03f, 7.832973450e-02f, -1.374979466e-01f, -2.109673619e-01f, + 1.094014645e-01f, 1.055739224e-01f, -1.849517524e-01f, -5.594021454e-02f, + -1.098730136e-02f, 5.547355860e-03f, -4.812453315e-02f, 1.830500513e-01f, + -3.474065661e-02f, 2.028687857e-03f, -7.717192918e-02f, -5.339540169e-02f, + 1.685214974e-02f, -3.281655535e-02f, 1.328546703e-01f, 2.566467226e-02f, + 2.855463512e-02f, 2.774252184e-02f, -7.673115283e-02f, 1.372754127e-01f, + 7.751704007e-02f, 6.232019141e-02f, -1.729113460e-01f, 2.890729532e-02f, + 6.291846931e-02f, -3.735327721e-02f, -2.765177190e-02f, 4.362066835e-02f, + -7.236827910e-02f, 3.330302611e-02f, -2.967791818e-02f, -2.046426386e-01f, + -1.725009233e-01f, -1.380656660e-01f, -6.037535146e-02f, 1.405763924e-01f, + -2.420930006e-02f, 3.199563920e-02f, 8.758887998e-04f, -1.404789686e-01f, + -6.739828736e-02f, -1.163565665e-01f, -9.474471956e-02f, 6.349481642e-02f, + -1.220727805e-02f, 1.828249991e-01f, 5.324058607e-02f, -1.500218809e-01f, + 9.429096431e-02f, 9.989961982e-02f, 6.643895060e-02f, 1.821443788e-03f, + 4.501348734e-02f, 1.065772474e-01f, -2.868247032e-02f, 3.033338487e-02f, + 2.312884293e-02f, 3.998640925e-02f, -5.832552537e-02f, 7.617405802e-02f, + -2.319855802e-02f, -1.604000665e-02f, 1.523866802e-01f, -2.283456037e-03f, + 4.771149531e-02f, -1.044838782e-02f, -3.421200812e-02f, -1.699861325e-02f, + 2.283546701e-02f, 2.873920370e-03f, 6.747498363e-02f, -6.656844914e-02f, + -3.330913931e-02f, -7.660847902e-02f, 1.976230741e-02f, -7.689644117e-03f, + 8.707185835e-02f, -1.438044757e-01f, -9.682171047e-03f, 4.409004468e-03f, + 1.117422245e-03f, 3.037227876e-02f, -8.396266401e-02f, -4.057637975e-02f, + 1.542198807e-01f, 1.079971939e-01f, 6.041480228e-02f, -5.061285198e-02f, + 1.269865781e-01f, 8.861456811e-02f, 1.222073659e-01f, 1.252273470e-01f, + -1.276194304e-01f, -1.465761196e-02f, 9.796536714e-02f, -2.013176866e-02f, + 9.677303955e-03f, 9.249535203e-02f, -8.862923086e-02f, -9.011500329e-02f, + -6.949002296e-02f, -8.775179088e-02f, 6.277257204e-02f, -7.180999219e-02f, + 8.607338369e-02f, -2.179029584e-02f, -7.200066000e-02f, 9.670183063e-03f, + 6.193103269e-02f, -2.273170501e-01f, -1.416403148e-02f, -1.185443923e-01f, + 7.541716844e-02f, -4.675909877e-02f, -2.152543366e-01f, 2.497340366e-02f, + 1.184932366e-01f, -3.590732068e-02f, 4.007856548e-02f, -2.636440843e-02f, + -8.302626200e-03f, 6.441331655e-02f, 1.037461683e-01f, 7.101910561e-02f, + 4.053192213e-02f, 1.917818189e-02f, -2.730068564e-01f, -9.926130995e-03f, + -3.213392338e-03f, -1.056014001e-01f, -6.202981248e-02f, -7.929614931e-02f, + -1.372593641e-01f, 1.523205042e-01f, -2.378928289e-02f, -2.449279279e-02f, + -9.626956284e-02f, -1.137355044e-01f, 1.004672330e-02f, -1.410046369e-01f, + 2.505682595e-02f, -3.119715676e-02f, 5.774740875e-02f, 2.017486840e-03f, + 8.809353411e-02f, -6.607539952e-02f, -4.389200360e-02f, -7.714618696e-04f, + -2.155081742e-02f, 1.129736304e-01f, 1.047166437e-01f, -1.648617089e-01f, + 1.070662066e-01f, 7.118583471e-02f, -1.380324513e-01f, 3.253113851e-02f, + 5.690545077e-04f, 1.344884280e-02f, 2.533445060e-01f, -4.303312302e-02f, + -3.874227405e-02f, -5.940086767e-02f, -2.154039219e-03f, -8.439125866e-02f, + -1.121691018e-01f, -4.505351931e-02f, -2.436217479e-02f, -4.392636567e-02f, + 8.696078509e-02f, -1.410549134e-01f, -1.168970764e-01f, 1.126862168e-01f, + 4.662071913e-02f, -1.015044823e-01f, 1.196557842e-02f, 1.231392547e-01f, + 3.080198367e-04f, -2.021032721e-01f, 1.181947067e-03f, 6.956514716e-02f, + 4.228970781e-02f, -1.242071539e-01f, 1.257888377e-01f, -1.305585653e-01f, + -6.012237072e-02f, -8.801865391e-03f, 1.784961298e-02f, -7.332979888e-02f, + -1.223233417e-01f, -4.358400032e-02f, 1.638215594e-02f, -6.543439627e-02f, + -1.257090550e-02f, 1.605048217e-02f, -1.661918163e-01f, -7.541250437e-02f, + -1.396901160e-02f, -1.300215721e-01f, 1.842794269e-01f, 3.934759181e-03f, + 7.268264890e-02f, -2.139041200e-03f, -1.617197134e-02f, -3.924374655e-02f, + 8.174896240e-02f, -4.063918442e-02f, -9.324140847e-04f, 1.000480950e-01f, + -3.880901262e-02f, 7.693139836e-03f, 6.970170885e-02f, -2.917026728e-02f, + -3.863490745e-02f, -6.189252436e-02f, 8.859009482e-03f, 2.262589708e-02f, + -5.403303728e-02f, 7.362084091e-02f, 1.220812649e-02f, 6.733411551e-02f, + -1.047135368e-01f, 8.559362032e-03f, -1.166845113e-01f, 9.562436491e-03f, + -1.725633070e-02f, 6.081208121e-03f, 1.391992718e-01f, -8.697614819e-02f, + 4.561755061e-02f, 8.883917332e-02f, -8.550219238e-02f, -1.121921092e-01f, + -1.307047307e-01f, -1.830094308e-01f, -9.653227031e-02f, -7.435882092e-02f, + -1.108288467e-01f, -8.578766137e-02f, -1.013184860e-01f, 1.154588815e-02f, + 9.820251167e-02f, 1.030526459e-01f, -1.342226714e-01f, -5.972221121e-02f, + 1.974432021e-01f, 5.650187656e-02f, -8.323301375e-02f, 2.922687214e-03f, + 1.712283306e-02f, -1.762111336e-01f, 3.326105699e-02f, 8.168638684e-03f, + -1.266371310e-01f, 1.086925715e-01f, 4.910689779e-03f, -6.552845985e-02f, + -5.280299112e-02f, -1.395338923e-01f, 1.156496853e-01f, -1.428698897e-01f, + 1.442047805e-01f, -6.001295522e-02f, 2.736699767e-02f, 7.700513583e-03f, + -3.420696827e-03f, -1.679590046e-01f, 1.246741936e-01f, -1.043052226e-02f, + -1.062708497e-01f, 7.810308784e-02f, -8.327548951e-02f, -4.088869691e-02f, + 2.251144312e-02f, -2.121410146e-02f, -7.718682289e-02f, 1.829045564e-01f, + -8.514747024e-02f, -7.263919711e-02f, 3.217374440e-03f, 4.644592106e-02f, + -4.763870034e-03f, -1.248773709e-01f, 5.630788207e-02f, 4.356836528e-02f, + 1.164149269e-01f, -5.199444667e-02f, -9.702711552e-02f, 1.558983028e-01f, + 2.222799137e-02f, 1.071940288e-01f, -6.795249879e-02f, -1.143714562e-01f, + -1.180491820e-01f, -1.690509915e-02f, 3.903799504e-02f, -1.161894724e-01f, + 5.349497125e-02f, 6.844744086e-02f, -9.549645334e-02f, 2.329035103e-02f, + 3.298956528e-02f, 5.764078349e-02f, 1.282314211e-01f, 1.596424356e-02f, + 4.112217948e-02f, 2.234492078e-02f, 1.222936511e-01f, 1.701321006e-01f, + -9.368789941e-02f, -2.482040972e-02f, -1.111553516e-03f, -7.094989717e-02f, + 3.577683866e-02f, 9.957570583e-02f, 2.417186275e-02f, 3.499151394e-02f, + 1.079110354e-01f, 7.647649851e-03f, 2.342116833e-02f, 6.236956269e-02f, + 1.430547833e-01f, -7.919699699e-02f, -6.927821785e-02f, -7.029166073e-02f, + -1.623211652e-01f, 1.740962416e-01f, -5.510716140e-02f, 6.441510469e-02f, + -1.051397249e-01f, -7.912755758e-02f, 1.156889796e-01f, -1.323903650e-01f, + 4.282421619e-02f, -1.265125126e-01f, 2.447867952e-02f, 2.458755486e-02f, + -1.459114701e-01f, 1.188982651e-01f, 5.384706333e-02f, -1.680001318e-01f, + 4.195726290e-02f, -8.831900358e-02f, 8.440442383e-02f, 8.081762493e-02f, + 5.228988081e-02f, -7.202129066e-02f, -1.651390642e-02f, 1.892275661e-01f, + 5.789456517e-02f, 8.900240809e-02f, 2.115370706e-02f, -8.707509935e-02f, + -3.938936070e-02f, 9.614554793e-02f, -4.902637377e-02f, -4.260297120e-02f, + 2.418382764e-01f, -5.983211473e-02f, 1.114348844e-01f, -2.733229846e-02f, + 2.731545269e-02f, -5.227561295e-02f, -9.198082238e-02f, -4.424832761e-02f, + 1.727657020e-02f, 2.067382075e-02f, -6.729786098e-02f, 2.504137903e-02f, + -9.629075974e-02f, -3.000677750e-02f, 2.154907212e-02f, 1.443715543e-01f, + 2.144588716e-02f, 7.593844086e-02f, 1.136955805e-02f, -1.195767149e-01f, + -4.254499823e-02f, -7.188166678e-02f, -7.308431715e-02f, -1.885591596e-01f, + 9.503743052e-02f, -9.727612883e-02f, 1.418873072e-01f, 6.461296976e-02f, + -7.628214546e-03f, 7.593303174e-02f, -5.661224946e-02f, 3.125771508e-02f, + 5.959030706e-03f, -3.659289330e-02f, 4.570624977e-02f, -9.341100603e-02f, + -1.175833028e-02f, -5.540066957e-02f, 1.562069952e-01f, -6.194419041e-02f, + 1.092168763e-01f, 9.771584719e-02f, 9.905923903e-02f, 1.401270833e-02f, + 2.361929044e-02f, -1.864236593e-02f, -3.048145585e-02f, 1.151058301e-01f, + 1.543970406e-01f, -2.692823298e-02f, -5.350283906e-02f, 3.081816249e-02f, + -5.419183150e-02f, -7.399558276e-02f, -1.883197576e-01f, 1.309879422e-01f, + 3.602996469e-02f, -1.834046468e-02f, -7.494086772e-02f, -3.191622719e-02f, + -1.230119839e-01f, 7.348648459e-02f, 1.300663352e-01f, 1.990462244e-01f, + -4.372988269e-02f, -7.620166242e-02f, -1.756435633e-01f, -9.202062152e-03f, + 1.137768775e-01f, 6.137236953e-02f, -1.083855852e-01f, -7.275122404e-02f, + -1.684194244e-02f, 1.251454465e-02f, -6.724286824e-02f, -1.569536328e-02f, + 9.407953173e-02f, -2.725364454e-02f, -1.372287720e-01f, 1.284527183e-01f, + -5.453942716e-02f, -1.854216307e-01f, -1.116287634e-01f, 1.124890223e-01f, + -5.368383601e-02f, -4.407359660e-02f, -1.098178923e-01f, -8.209394664e-02f, + -5.704281479e-02f, -4.060918093e-02f, 1.482207607e-02f, -6.662439555e-02f, + -1.569950432e-01f, -8.278698474e-02f, -1.944413036e-01f, 9.538157843e-03f, + -7.472835947e-03f, -5.957091227e-03f, -5.481038615e-02f, -3.809636831e-02f, + -9.581529349e-02f, 1.431167219e-02f, 5.625179037e-02f, 1.078883931e-01f, + 9.920131415e-02f, -1.045951024e-01f, 1.275161188e-02f, -7.451710105e-02f, + 1.562719978e-02f, 1.429630816e-01f, -4.612172488e-03f, -1.678023604e-03f, + 2.687684027e-03f, 7.284428924e-03f, 1.037282199e-01f, 1.635202765e-01f, + -6.404080242e-02f, -7.185968757e-02f, 2.202737145e-02f, -1.270808578e-01f, + -7.287259400e-02f, 2.721506916e-02f, -5.580087379e-02f, 1.351395398e-01f, + 1.084223464e-01f, -3.675071150e-02f, -1.340505481e-01f, 5.265474319e-02f, + 1.837532371e-01f, 1.664908677e-01f, 5.967160314e-02f, 7.269040495e-02f, + 1.367855966e-01f, -8.856254071e-02f, -1.599729434e-02f, 3.907213733e-02f, + 4.296579212e-02f, 4.541342705e-02f, -1.617665291e-01f, -8.939871192e-02f, + 1.824784726e-01f, -2.188732848e-02f, -9.085210413e-02f, -7.057162374e-02f, + 3.574367613e-02f, 1.088897884e-01f, -2.302640229e-01f, 6.839893758e-02f, + -9.055049717e-02f, 1.193616539e-01f, -1.104579493e-01f, -2.143838815e-02f, + -7.497410476e-02f, -9.952375293e-02f, 9.189287666e-04f, 1.091927066e-01f, + 1.892233640e-02f, -1.366878767e-02f, 1.981634274e-02f, -5.024953559e-02f, + -6.369115412e-02f, 5.519892275e-02f, 3.977512196e-02f, 3.785595298e-02f, + 5.565166473e-02f, 1.155426130e-01f, -4.457652196e-02f, 7.377918065e-02f, + -3.704968095e-02f, 9.287550114e-03f, -2.871123515e-02f, -1.764468290e-02f, + -1.683459878e-01f, -3.957006335e-02f, 3.647802025e-02f, 1.000371482e-02f, + 8.388452232e-02f, 7.270899415e-02f, 4.119543731e-02f, 1.976389810e-02f, + -8.639228344e-02f, 1.248097420e-01f, 9.123519994e-04f, -2.029996365e-02f, + 2.728689648e-02f, 1.033282652e-01f, 8.845572174e-02f, -3.296414018e-02f, + -7.305698842e-02f, -5.284119397e-02f, -1.076482534e-01f, -8.383614011e-03f, + 9.449893236e-02f, -5.154705048e-02f, -5.422468856e-02f, -4.955900088e-02f, + 3.523162380e-02f, 5.823199078e-02f, 1.592950150e-02f, -2.507983148e-02f, + 1.059047431e-01f, 1.790942997e-02f, -1.018682029e-02f, 3.200631961e-02f, + 1.112500057e-01f, -7.858814299e-02f, -2.082492411e-02f, 1.148684695e-01f, + 1.322825253e-01f, -8.462277055e-02f, -2.027143538e-02f, -1.629770175e-02f, + 4.937405512e-02f, -4.253154248e-02f, -4.405224323e-02f, -1.808375269e-01f, + 1.328058243e-01f, -7.127147168e-02f, 1.877804473e-02f, 1.537696421e-01f, + 1.680509932e-02f, 2.127990685e-02f, -3.041564859e-02f, -2.769370005e-02f, + 6.894236058e-02f, 7.208399475e-02f, 3.353890032e-02f, -1.798994243e-01f, + 1.277710795e-01f, -1.168920845e-01f, 8.418300748e-02f, 1.289605051e-01f, + -1.600501314e-02f, 7.922781259e-02f, 1.070125774e-01f, -3.009453043e-02f, + 2.417758480e-02f, -1.806566678e-02f, -1.289063543e-01f, 3.620902449e-02f, + -6.769778579e-02f, -1.425787657e-01f, 1.020835042e-01f, -2.868381701e-02f, + 3.394287825e-02f, -4.876054078e-02f, -1.760207862e-01f, 5.610756204e-02f, + -1.044927463e-01f, -3.747623786e-02f, -7.873612642e-02f, -9.012128413e-02f, + -8.313645422e-02f, 1.042705867e-02f, -1.123960540e-01f, 7.458574139e-03f, + 7.073125988e-02f, 2.755815722e-02f, -1.086176112e-01f, 2.330308035e-02f, + 5.471687019e-02f, 4.821381345e-02f, 1.625567488e-02f, 1.487394422e-01f, + -5.123406649e-02f, -1.598758399e-01f, 6.715551019e-02f, -3.697774932e-02f, + -8.928046376e-02f, -8.622247726e-03f, -2.414507605e-02f, 1.106246486e-01f, + -1.818448901e-01f, -2.092685103e-01f, 4.017629847e-02f, -6.566846371e-02f, + -1.177939102e-01f, -8.890727907e-02f, 2.811328135e-02f, -7.826394401e-03f, + -8.431156725e-02f, -8.816810697e-02f, -2.014349960e-02f, 2.367290668e-02f, + 3.482105955e-02f, -1.233727857e-02f, -1.174969077e-01f, -2.181774378e-01f, + -3.843205795e-02f, -2.576705813e-01f, -1.530155391e-01f, 2.280965075e-02f, + -1.435526311e-01f, 3.800707310e-02f, -8.784008026e-02f, 2.883483283e-02f, + 8.587896079e-02f, -2.298776805e-02f, 6.673102267e-03f, -1.874052584e-01f, + -9.662999958e-02f, 2.120734006e-01f, -1.703699678e-02f, 5.445972458e-02f, + 6.663227081e-02f, -6.508475542e-02f, 3.320801631e-02f, 1.576238871e-02f, + 7.105075568e-02f, 1.280618366e-02f, 1.534550358e-02f, -2.881400473e-02f, + 5.149085075e-02f, 1.347622722e-01f, 3.310741484e-02f, -7.912807167e-02f, + -1.755234152e-01f, -1.388179255e-03f, -7.399438322e-02f, -1.078979820e-01f, + 4.484360665e-02f, -1.223491952e-01f, -6.747812778e-02f, 3.372322768e-02f, + 7.726351917e-02f, 2.381588519e-01f, 4.904581979e-02f, 2.831833437e-03f, + 6.637354195e-02f, -8.932666481e-02f, -1.057263240e-01f, -8.762777597e-02f, + -8.708666265e-02f, 4.753059894e-02f, -3.744143993e-02f, -5.320895091e-02f, + 1.623823941e-01f, 4.091917723e-02f, 1.978034154e-02f, -5.238921195e-02f, + 5.515396222e-02f, 9.974208474e-02f, -4.832256585e-02f, -1.909787059e-01f, + -1.351043880e-01f, -2.554710805e-01f, -3.577539697e-02f, 2.004903741e-02f, + 6.170823425e-02f, -4.423950333e-03f, -9.698171914e-02f, 1.187907010e-01f, + 1.159157231e-02f, -9.477381408e-02f, 4.028632864e-02f, 3.210618347e-02f, + -2.869072743e-02f, 8.713071793e-02f, 1.877781563e-02f, -3.167314082e-02f, + 9.620513767e-03f, -1.005325988e-01f, 4.136442021e-02f, 1.119037047e-01f, + -1.599475592e-01f, -2.350022830e-02f, -4.797095805e-02f, 3.307040781e-02f, + -7.349175960e-02f, 3.563426435e-02f, -8.571232110e-02f, 4.001685232e-02f, + 1.325960010e-01f, -7.831207663e-02f, 2.766327746e-02f, 9.213858098e-02f, + -1.015333533e-01f, 2.225210518e-02f, -4.833561182e-02f, -4.500014707e-02f, + -6.364169717e-02f, 1.315351576e-01f, -2.057045884e-02f, 7.169757038e-02f, + 3.496122733e-02f, -3.913511708e-02f, 1.041389927e-01f, 1.572948322e-02f, + 8.066232502e-02f, 4.798709881e-03f, 5.087854341e-02f, -2.486358024e-02f, + -4.732454941e-02f, 1.418627682e-03f, -4.443016369e-03f, -9.698661417e-02f, + -7.725266367e-02f, 1.274826676e-01f, 5.206756294e-02f, 3.252447397e-02f, + 4.260192811e-02f, -1.192013845e-01f, -1.167469658e-03f, -3.913015127e-02f, + -8.612131327e-02f, 7.471803576e-02f, -1.250115335e-01f, 1.021656767e-01f, + 6.491300464e-02f, -1.198471896e-02f, 3.196984529e-02f, -1.680819094e-01f, + 1.078770682e-01f, 1.034478098e-01f, 5.058933422e-02f, 9.986180067e-02f, + 3.405662999e-02f, 2.051532567e-01f, 1.354653388e-01f, 8.690211922e-02f, + -4.039934650e-02f, -5.747359619e-02f, 5.583507475e-03f, 6.967492402e-02f, + 1.257286370e-01f, -8.411757648e-02f, 1.169612408e-01f, 2.336633652e-01f, + -5.601981655e-02f, -4.607102275e-02f, -7.291617990e-02f, -1.312949695e-02f, + -1.247541830e-01f, -3.804504126e-02f, -7.754470571e-04f, 1.669076979e-01f, + 2.238409594e-02f, -4.832336307e-02f, 8.345679380e-03f, -1.187243462e-01f, + 4.444332793e-02f, 4.364634678e-02f, 4.215176031e-02f, -9.204202890e-02f, + 2.128029242e-02f, -3.162841871e-02f, 9.402145445e-02f, -1.016957462e-01f, + -1.429197788e-01f, -3.674512357e-02f, 1.996761560e-02f, 2.094359249e-01f, + -4.900547862e-02f, -2.381454036e-02f, 8.389946818e-02f, 1.483420143e-03f, + -9.417495131e-02f, -1.169996262e-01f, 7.806126773e-02f, -3.450973425e-03f, + 7.195179164e-02f, 8.167368174e-02f, -2.096207347e-03f, 6.998250633e-02f, + 1.688073128e-01f, -2.212088257e-01f, 1.096377596e-01f, -3.569208086e-02f, + -3.253316972e-03f, 8.324378729e-02f, -9.970089793e-02f, -6.370598823e-02f, + 2.483894378e-01f, -5.876117572e-02f, 4.245307297e-02f, 6.948818266e-02f, + 1.682872474e-01f, 2.376586758e-02f, 1.323675364e-01f, -4.492531298e-04f, + -4.651099071e-02f, -6.313338876e-02f, -9.583819658e-02f, -6.037000567e-02f, + -2.623365726e-03f, 6.057669595e-02f, -2.942284383e-02f, -1.207464281e-02f, + -5.134499818e-02f, -1.678052247e-01f, 1.009594947e-01f, -1.945983060e-02f, + -4.298694432e-02f, 1.068446189e-01f, 4.306574911e-02f, 1.293155402e-01f, + 1.032008305e-01f, -2.521440014e-02f, -5.966810137e-02f, -1.288580243e-02f, + -6.398044527e-02f, -3.027702682e-02f, 4.155780002e-02f, 8.218814433e-02f, + 6.856403500e-02f, 6.151036546e-02f, -3.933135793e-02f, 7.918126881e-03f, + 7.197479904e-02f, -1.259087622e-01f, -1.091292202e-01f, -3.282502294e-02f, + -2.596339583e-01f, 1.493972689e-01f, 2.939166874e-02f, 6.756034493e-02f, + 9.791559540e-03f, -1.125438362e-01f, 1.139627472e-01f, -1.409451216e-01f, + 7.949623466e-02f, 3.390863910e-02f, 9.263300896e-02f, 1.117339730e-02f, + 1.113972813e-01f, 1.444520149e-02f, 1.123197451e-01f, 6.686052680e-02f, + -7.629462052e-03f, 6.429818273e-02f, -6.582109927e-05f, 7.246585190e-02f, + -2.137478907e-03f, 1.960750110e-02f, -6.644934416e-02f, 7.292110473e-02f, + 7.289290428e-02f, 7.669578493e-02f, -4.294497892e-02f, 2.049400359e-01f, + 3.281537816e-02f, 1.545930095e-02f, -1.773826778e-01f, -1.573310196e-01f, + -5.467610434e-02f, -5.155164376e-02f, -3.002543375e-02f, -2.778206021e-03f, + 1.085059047e-01f, -1.427991241e-01f, 7.189161330e-02f, 1.419145893e-02f, + -4.806896672e-02f, -6.487012375e-03f, -1.221140474e-02f, 3.668528423e-02f, + 3.521738574e-02f, -4.582180828e-02f, 6.386280991e-03f, 7.746899873e-02f, + -3.691039607e-02f, -2.224744298e-02f, 1.328267455e-01f, 3.355009109e-02f, + -2.125679143e-02f, 9.919646196e-03f, -1.597521752e-01f, -1.470458210e-01f, + 5.482946709e-02f, -1.472436730e-02f, 1.009661052e-02f, 1.504987478e-01f, + 1.084092632e-02f, 3.610771522e-02f, 6.253241003e-02f, -2.286630869e-02f, + 1.874599755e-01f, -2.422424406e-02f, -6.102490425e-02f, 1.226009652e-01f, + 1.617634892e-01f, 3.056611493e-02f, 4.274398834e-02f, 7.607641071e-02f, + -4.621118307e-02f, 3.007954918e-02f, 4.972914234e-02f, 1.229369566e-01f, + 1.162096784e-01f, -5.824922770e-02f, 3.721614555e-02f, 2.259734273e-02f, + 1.448100954e-01f, 7.786312141e-03f, -7.751961797e-02f, 1.842068434e-01f, + -1.439944059e-01f, -1.623788625e-01f, -1.923957653e-02f, 1.369002163e-01f, + 3.904697299e-02f, 1.896544360e-02f, -3.147429600e-02f, 9.045583196e-03f, + 9.362132102e-02f, 1.560264826e-01f, -3.656418994e-02f, 3.983603418e-02f, + 9.024432302e-02f, 2.916769125e-02f, 1.272575706e-01f, 8.480200917e-02f, + -9.721542150e-02f, -8.690914512e-02f, 4.765622318e-02f, 9.127245843e-02f, + 1.356175691e-01f, -8.951050043e-02f, -5.868652090e-02f, 2.332630381e-02f, + -1.037492156e-01f, -1.597884744e-01f, -5.615840852e-02f, 2.005489916e-01f, + 5.968865007e-02f, -9.043305181e-03f, 5.278257281e-02f, -9.082113206e-02f, + 3.400501981e-02f, 1.672701836e-01f, -2.125173062e-02f, 1.677082479e-02f, + 1.001011804e-01f, 4.761722684e-02f, 1.095970869e-01f, -6.508667022e-02f, + 1.429924071e-01f, 7.551077753e-02f, 1.119730696e-01f, 2.806820907e-02f, + 7.388227433e-02f, -3.934684768e-02f, -3.821772337e-02f, 2.517275326e-02f, + 1.324890405e-01f, -3.996284679e-02f, 1.199381053e-02f, -7.312396169e-02f, + -8.025845885e-02f, -1.044073850e-01f, 4.778145812e-03f, -3.587571904e-02f, + 8.961793780e-02f, 1.344324499e-01f, -2.849006467e-02f, -1.437366009e-01f, + 7.677379251e-02f, -5.512464419e-02f, 8.635948598e-02f, -1.499468237e-01f, + -3.372809291e-02f, 3.175612167e-02f, 9.532879293e-02f, -4.045614228e-02f, + 1.782104522e-01f, 2.682688273e-02f, -2.834281139e-02f, 1.283403486e-01f, + 7.950029522e-02f, 8.021705598e-02f, -6.116357446e-02f, 1.066376362e-02f, + -2.554658800e-02f, -4.838978872e-02f, -6.450913846e-02f, -3.806613013e-02f, + -4.448051006e-02f, 9.671142697e-02f, 7.112550735e-02f, -1.245517209e-01f, + -1.282342970e-01f, 1.175419837e-01f, 4.032382369e-02f, 9.223464876e-02f, + -1.537486315e-01f, -6.535742432e-02f, 7.522520423e-02f, -1.157276426e-02f, + -5.910414085e-02f, -1.192471161e-01f, -1.052154377e-01f, 2.416199632e-02f, + -1.127979904e-01f, -5.053469911e-02f, 1.113159209e-02f, -1.154064834e-01f, + -4.924599826e-02f, 6.674906611e-02f, 1.735099964e-02f, 7.697107643e-02f, + 1.058815941e-01f, -2.177672461e-02f, -1.609012932e-01f, -8.901104331e-02f, + -4.264619574e-02f, -1.495160908e-02f, 1.722438843e-03f, 1.089338288e-01f, + 2.549501881e-02f, -1.383258589e-02f, -1.878186315e-02f, 1.980370656e-02f, + -9.044906497e-02f, -7.346201688e-02f, -1.277331412e-01f, 5.145413056e-02f, + -2.885857224e-01f, -1.935049295e-01f, 1.206526011e-01f, 7.989329286e-03f, + -1.713629067e-01f, -1.344331950e-01f, -3.452129662e-02f, 1.163100265e-02f, + -9.480141103e-02f, 3.538480029e-02f, 4.111989215e-02f, -7.202195004e-03f, + -6.382519752e-02f, 5.565485358e-02f, 1.675269902e-01f, -7.645250857e-02f, + 1.487658173e-01f, 1.498511992e-02f, 6.087827496e-03f, 6.593170762e-02f, + -3.341599181e-02f, 6.669296324e-02f, 4.697284102e-02f, 6.006222591e-02f, + -2.056458034e-02f, 1.159456298e-01f, 1.289892104e-02f, 6.540761888e-02f, + 4.702616856e-02f, -4.052785411e-02f, 1.013090909e-01f, 4.211575538e-02f, + 9.420888126e-02f, 2.471957356e-02f, -4.135981575e-02f, -3.652607789e-03f, + 2.178779617e-02f, 1.761137694e-01f, -1.073712669e-02f, 4.074539244e-02f, + -4.290531203e-02f, -3.427142277e-02f, -8.292762190e-02f, 9.353220463e-02f, + -6.840130687e-02f, 9.563764930e-02f, 1.004637778e-01f, -2.859764732e-02f, + -1.571810059e-02f, 1.217530146e-01f, 3.820329532e-02f, -6.518766284e-02f, + -1.287803352e-01f, 7.362747192e-02f, 8.265654743e-02f, -5.028030649e-02f, + -2.641647356e-03f, 1.171243377e-02f, -1.374980360e-01f, -8.330710232e-02f, + 7.822693139e-02f, -2.899246104e-02f, -2.198242247e-01f, 6.641301513e-02f, + -7.497838885e-02f, 1.511504129e-02f, -1.442820951e-02f, -1.704057902e-01f, + -1.401157528e-01f, -3.825604217e-03f, -6.425383687e-02f, 1.028859541e-01f, + 3.073113225e-02f, 5.892193317e-02f, 9.751416743e-03f, 4.416933656e-02f, + 8.648926020e-02f, -9.752468765e-02f, 1.980086602e-02f, 5.720750615e-02f, + 3.340802342e-02f, -2.682230063e-02f, -8.404024690e-02f, -5.481218174e-02f, + -1.347624511e-01f, -1.447267830e-02f, -1.044284105e-01f, 3.810402751e-02f, + -1.507639736e-01f, 8.676708490e-02f, 5.540921912e-02f, 8.602133952e-03f, + 2.171549499e-01f, -3.831596673e-02f, 7.396969944e-02f, 2.020145534e-03f, + -6.992133707e-02f, 1.098240837e-01f, 1.446747929e-01f, 8.645287156e-02f, + -1.441984177e-01f, -4.110816866e-02f, 6.783384830e-02f, -1.121465042e-01f, + 3.106700443e-02f, 1.784950644e-01f, 1.159849465e-01f, 1.329863258e-02f, + -9.511081129e-02f, -3.732949495e-03f, -2.367295623e-01f, 8.279810101e-02f, + 2.168313833e-03f, 1.478218436e-01f, 8.116941899e-03f, -1.768027805e-02f, + -1.054680068e-02f, -7.074589282e-02f, -3.681527078e-02f, -8.486482501e-02f, + 1.609615609e-02f, -1.035190467e-02f, 7.644656301e-02f, -3.980781883e-02f, + 1.740324348e-01f, 3.042834401e-01f, 1.136800367e-02f, 7.098781317e-02f, + 6.660498679e-02f, -1.893401742e-01f, 6.975901872e-02f, 3.332053870e-02f, + -1.210283712e-01f, 2.629041113e-02f, 1.593564600e-01f, 1.145098358e-02f, + -1.144029796e-01f, -3.763332590e-02f, 2.012437768e-02f, -9.712424129e-03f, + 1.031216457e-01f, 8.697059005e-03f, 8.078967780e-02f, 7.633539848e-03f, + -1.055471897e-01f, 1.366834193e-01f, 3.233470395e-02f, 2.509883977e-02f, + 6.573867053e-02f, -2.105338871e-01f, -1.118440330e-01f, -7.621160150e-02f, + -1.091873273e-01f, -3.030200303e-02f, 5.925160646e-02f, -6.693201512e-02f, + 5.729445443e-02f, 5.713420734e-02f, 2.862186171e-02f, -8.582123369e-02f, + -8.253332227e-02f, -5.176485330e-02f, 4.918120801e-02f, 1.042571217e-01f, + -1.086841002e-01f, 3.871713579e-02f, -1.414839625e-01f, -1.147020757e-01f, + 1.896338612e-01f, -1.356179416e-01f, 4.540300928e-03f, 1.152580604e-01f, + 1.967852749e-02f, 5.931191519e-02f, 6.396416575e-02f, -5.536966398e-02f, + 1.083119288e-01f, 8.108979673e-04f, 1.884271950e-02f, 3.728149086e-02f, + -1.458101720e-02f, 1.637753844e-01f, -3.130448982e-02f, -1.080633625e-01f, + -1.562573165e-01f, -1.307178885e-01f, -7.732916623e-02f, -5.708580464e-02f, + 1.996209472e-02f, 4.376974702e-02f, -3.385645151e-02f, -1.025629789e-01f, + 7.785657793e-02f, 1.532727927e-01f, -1.237156428e-02f, 1.228790283e-01f, + -3.654028475e-02f, -1.292659342e-01f, -3.024897887e-04f, 1.107926890e-01f, + 9.851396084e-02f, -9.942776524e-03f, -4.116633162e-02f, 2.566407062e-02f, + 2.083631232e-02f, 7.610105723e-02f, 5.226684362e-02f, -6.539611518e-02f, + -8.918926120e-03f, -4.327159375e-02f, 1.559227984e-02f, -3.615648672e-02f, + -9.059427679e-02f, 3.084348328e-02f, -1.775385067e-02f, -1.022816896e-01f, + 9.046238661e-02f, -8.474724740e-02f, -1.937197298e-01f, 2.108885674e-03f, + 4.446997121e-02f, -1.124421507e-02f, 1.157473102e-01f, -1.369948313e-02f, + 1.764291152e-02f, -2.830953151e-02f, -5.269623920e-02f, 2.472356521e-02f, + 7.259851694e-02f, 4.168039188e-03f, 8.568748832e-02f, 5.925774947e-02f, + -1.575700566e-02f, 6.885336339e-02f, 1.346223652e-01f, -2.594115026e-02f, + 1.581997722e-01f, -4.827861488e-02f, -1.917689443e-01f, 4.133168235e-02f, + -1.906654835e-01f, -5.294062570e-02f, 8.571242541e-02f, -3.886388615e-02f, + -5.404914916e-02f, -4.705519974e-02f, -1.009560451e-01f, -3.837379627e-03f, + -7.100730389e-02f, -1.616040245e-04f, -1.504082829e-01f, -3.035619110e-02f, + 3.889369965e-02f, -8.807264268e-02f, 8.826279640e-02f, -6.583005935e-02f, + 5.393288657e-02f, 8.303289860e-02f, -1.032218039e-01f, -4.603195935e-02f, + -1.688440591e-01f, 4.444195330e-02f, 3.154684976e-02f, -9.703218192e-02f, + -1.955152899e-01f, -2.729103714e-02f, -5.155008659e-02f, -8.803188801e-02f, + -6.787952781e-02f, -3.826561570e-02f, 1.032012142e-02f, 4.771513492e-02f, + 6.105436757e-02f, 7.909939438e-02f, 6.867235899e-02f, 1.323933005e-01f, + 3.415078297e-02f, 7.805086672e-02f, 1.388889086e-02f, 6.043068133e-03f, + -1.724306121e-02f, -1.013520360e-01f, -1.328375190e-01f, -9.213171899e-02f, + -8.398709446e-02f, -9.468633682e-02f, -3.559439257e-02f, -8.282939345e-02f, + 3.938932344e-02f, 1.045079622e-02f, -9.205467254e-02f, -9.249331057e-02f, + -2.641822211e-02f, -7.628601789e-02f, -1.094127167e-02f, 7.139879465e-02f, + -1.191950068e-01f, -4.490722343e-02f, -7.182530127e-03f, 1.529173646e-02f, + 1.296016872e-01f, -1.208805013e-02f, 8.636360988e-03f, -4.625404254e-02f, + 1.423892975e-01f, -1.320164464e-02f, 7.451510057e-03f, -4.205849394e-02f, + -1.340084970e-01f, 9.423030540e-03f, -1.387663484e-01f, 8.389665745e-03f, + -4.047992080e-02f, 2.753026970e-02f, -6.757993251e-02f, -3.531789780e-02f, + 4.762736708e-02f, 5.564645678e-02f, 1.493255422e-02f, -2.605257370e-02f, + -3.654454276e-02f, -8.078983426e-02f, -1.038263291e-01f, -1.280064285e-01f, + -3.384809569e-02f, -2.719520330e-01f, -8.761495352e-02f, 4.341674596e-02f, + 1.926250197e-02f, 1.657794118e-01f, 1.863125861e-01f, 1.056445166e-01f, + 1.136179864e-01f, -3.084677458e-02f, -6.873994321e-02f, -1.336048841e-01f, + -1.081155241e-01f, -5.567873013e-04f, -2.432464808e-02f, -1.071477383e-01f, + 1.668886840e-01f, -1.037545279e-01f, -6.574201584e-02f, -2.148188092e-02f, + -2.432807162e-02f, -1.599534601e-02f, 1.042298004e-01f, 6.228406727e-02f, + 9.572965652e-02f, -1.345089823e-01f, 3.279348463e-02f, -8.389266208e-03f, + -5.113791302e-02f, -6.914340705e-02f, -7.593801618e-02f, 7.199842483e-02f, + -7.750841323e-03f, -3.638447076e-02f, -1.473527104e-01f, 4.281139374e-02f, + -2.349988818e-01f, -9.813553840e-02f, 2.083988115e-02f, 9.571100026e-02f, + 1.041606739e-01f, 1.986805350e-02f, 1.937360503e-02f, 6.660797447e-02f, + 6.164658070e-02f, -1.365687996e-01f, 9.734235704e-02f, 1.363649517e-01f, + -1.189257801e-01f, 1.160795689e-01f, 1.428614259e-01f, -1.737219840e-02f, + -6.616961956e-02f, -1.015972067e-02f, 1.066224575e-01f, -6.229060888e-02f, + -2.789491601e-02f, 9.020631760e-02f, 4.835269600e-02f, 5.051212758e-02f, + 2.880105376e-02f, -5.522470549e-02f, -6.981424522e-03f, -2.808331978e-03f, + -1.917368732e-02f, 1.433738880e-02f, -1.106018499e-01f, -5.293368548e-02f, + 1.189321354e-01f, -1.026564185e-02f, -1.182831228e-01f, 1.729506254e-02f, + -1.286914498e-01f, -1.064687446e-01f, 8.295608312e-02f, 9.652377106e-03f, + 8.910231292e-02f, 6.134530157e-02f, -1.214327887e-01f, -1.234875694e-01f, + 1.554203331e-01f, 8.496695012e-02f, -1.399809122e-02f, 1.782498062e-01f, + -7.752556354e-02f, 6.781973690e-02f, 8.624506742e-02f, -1.488184556e-02f, + 8.603813499e-02f, 1.694164355e-03f, -7.689815015e-02f, 7.959040254e-02f, + -1.283780336e-01f, -8.101328276e-03f, -2.505543642e-02f, 5.427753925e-02f, + -8.951693773e-02f, -6.038459763e-02f, -2.868261561e-02f, -1.000446677e-01f, + 6.671165675e-02f, -1.593114436e-01f, -9.762480110e-02f, 1.558321863e-01f, + -1.056260988e-01f, 9.025167674e-02f, -7.292015362e-04f, 3.903378919e-02f, + 9.669051506e-03f, -1.000596434e-01f, -7.348103076e-02f, -4.290143773e-02f, + -4.739374295e-02f, -7.611130923e-02f, -2.323993668e-02f, 3.320119157e-02f, + 5.779990181e-02f, 1.021343917e-01f, -5.634428817e-04f, -7.960002869e-02f, + 3.526838031e-03f, 1.119537726e-01f, -5.012823269e-02f, 2.021097690e-01f, + 3.880057018e-03f, -7.992248237e-02f, -8.507055789e-02f, -8.856631070e-02f, + -1.111057252e-01f, 9.331361204e-02f, 5.526652560e-03f, -1.900729239e-01f, + 1.221042126e-01f, 6.564633548e-02f, -8.384706080e-02f, 1.963202208e-01f, + -1.392516494e-02f, 1.584599018e-01f, -2.027107179e-01f, -1.462066080e-02f, + -1.407666802e-01f, -2.560654189e-03f, 1.147245318e-01f, -4.584296793e-02f, + 2.284971764e-03f, -1.550002098e-01f, 6.177684292e-02f, 1.394810677e-01f, + 1.216387283e-02f, -3.897367790e-02f, -7.615364343e-02f, 1.472786069e-01f, + -4.387613735e-04f, 7.161781192e-02f, 9.849764407e-02f, -4.756637663e-02f, + -3.558954224e-02f, -6.174011528e-02f, 1.463983208e-02f, -3.100048564e-02f, + 1.484176368e-01f, -1.227497384e-01f, -1.794583164e-02f, 7.615998387e-02f, + -1.916653477e-02f, 6.472239643e-02f, 2.562159114e-02f, -4.578661919e-02f, + -6.093833596e-02f, -2.049538791e-01f, 1.282212287e-01f, -1.923407614e-02f, + 8.567461371e-02f, -1.620800048e-01f, -7.064229995e-02f, -1.949661970e-01f, + -2.323249355e-02f, -3.442737833e-02f, -8.522495627e-02f, 6.324545294e-02f, + -1.281826496e-01f, 8.635719866e-02f, 7.227560133e-02f, -1.416282654e-01f, + -3.029427491e-02f, 6.075376272e-02f, 1.128613874e-01f, 8.761416376e-02f, + 2.187615447e-02f, -1.223193388e-02f, -1.081972383e-02f, 2.163358405e-02f, + 9.486310184e-02f, 1.037824899e-01f, 1.289057359e-02f, 6.228887290e-02f, + -2.592296526e-02f, -1.756707579e-02f, 3.731387435e-03f, -7.344452292e-02f, + 5.478781834e-02f, -3.736209869e-02f, 4.342320934e-02f, -9.937100112e-02f, + -5.856194720e-02f, 2.389081940e-02f, -9.550502151e-02f, 9.222232550e-02f, + -2.888001502e-02f, 2.103368193e-02f, -2.537052929e-01f, 7.424408197e-02f, + 1.018375158e-01f, 1.719852164e-02f, 2.785794251e-02f, -8.933644742e-03f, + 3.091135062e-02f, -1.115574222e-02f, -3.533444926e-02f, 1.344366930e-02f, + 5.967345834e-02f, 3.054206818e-02f, -4.485579953e-02f, -1.434158720e-02f, + 1.577338874e-01f, -8.920629323e-02f, 3.178953007e-02f, -1.504277810e-02f, + -5.349491909e-02f, -7.422978431e-02f, -3.169471631e-03f, 5.534462631e-02f, + -1.456735432e-01f, 9.698623419e-02f, 1.288628131e-01f, 4.372547567e-02f, + 5.539768189e-02f, -7.671301067e-02f, -1.928314269e-01f, -6.116426364e-02f, + 1.076351758e-02f, -1.364317723e-02f, -2.649343573e-02f, -3.873369843e-02f, + -5.602107570e-02f, -1.523090452e-01f, 8.361010998e-02f, 4.837682471e-02f, + -8.075886965e-02f, -4.841618612e-02f, -3.672846034e-02f, -6.279180292e-03f, + 2.337148413e-02f, 4.072729126e-02f, -1.226985361e-02f, -1.716202348e-01f, + 9.142751992e-02f, -1.044503748e-01f, 5.620498210e-02f, -6.638090312e-02f, + -6.725913286e-02f, 2.059525549e-01f, 1.869746298e-02f, -5.053012446e-02f, + -9.779587388e-02f, 1.033680290e-01f, 3.626731783e-02f, -7.998134941e-03f, + 2.649229765e-02f, 2.469073236e-02f, -6.588480622e-02f, 1.257921159e-01f, + 1.133789644e-01f, 7.554259896e-02f, -1.101504341e-01f, -4.696296528e-02f, + 9.661247954e-03f, 4.554448277e-02f, -7.854272425e-02f, 4.647180811e-02f, + 6.779110525e-03f, 1.089131832e-01f, -4.518761858e-02f, 1.641600728e-01f, + 1.675471514e-01f, 1.605647206e-01f, -7.952695712e-03f, 1.730929762e-01f, + 7.244292647e-02f, 7.579488307e-02f, -2.082374394e-01f, -8.884132258e-04f, + 6.481505185e-02f, 1.119719520e-01f, 9.803300351e-02f, 1.383405030e-01f, + 3.783135489e-02f, -6.130156689e-04f, 7.619700581e-02f, -8.475825936e-02f, + 5.573216453e-02f, 2.800920233e-02f, 6.670086086e-02f, 1.991615165e-03f, + 3.956533223e-02f, -1.472357363e-01f, 1.930674352e-02f, -5.286843702e-02f, + 3.003658913e-02f, -1.753009558e-01f, 3.581304103e-02f, 6.506751757e-03f, + -1.958585344e-02f, 4.746370763e-02f, -3.241929039e-02f, -9.539258666e-03f, + -4.274640977e-02f, 1.771540642e-01f, -7.329443842e-02f, 5.428750068e-02f, + -6.246886402e-02f, -5.014457181e-02f, 3.664561315e-03f, -3.445471823e-02f, + -3.438418359e-02f, 6.553143729e-03f, 6.361521780e-02f, 2.271073461e-01f, + 1.271395534e-01f, 1.084207743e-01f, -4.760510847e-02f, 9.017474204e-02f, + -4.975118116e-02f, -1.024200618e-01f, -1.789784580e-01f, -1.487151235e-01f, + 1.500415653e-01f, -2.172960341e-01f, 6.493739202e-04f, -8.070001006e-02f, + -1.023091152e-01f, 1.075429916e-01f, -2.529920340e-01f, 1.367758512e-01f, + -2.830725536e-02f, 1.647106558e-02f, 7.870838046e-02f, 9.498886019e-02f, + 4.603506997e-02f, -9.646764398e-02f, -8.694210649e-02f, 5.397473276e-02f, + 5.313010141e-02f, 7.921929657e-02f, 4.447695240e-02f, -1.230946779e-01f, + -6.405239552e-02f, -3.270254936e-03f, 4.976629466e-02f, 1.951696873e-01f, + 1.139268093e-02f, 4.950363189e-02f, -3.671141714e-02f, -3.603984788e-02f, + -4.444902763e-02f, 1.604793370e-01f, -1.216515750e-01f, 2.613179944e-02f, + 7.715866715e-02f, 8.445658721e-03f, -1.447734889e-02f, -1.410394558e-03f, + 6.850139797e-02f, -4.648066591e-03f, 7.831165195e-02f, -1.108788606e-02f, + -1.771377772e-01f, 1.869879514e-01f, 2.422888018e-02f, -5.256301165e-02f, + -5.759259686e-02f, -5.759624392e-02f, -4.091740586e-03f, -7.022276055e-03f, + -4.009709507e-02f, -2.742566168e-02f, -1.638143808e-01f, -2.576085925e-02f, + -1.522623282e-02f, -1.152386237e-02f, 1.086232737e-01f, 9.297970682e-02f, + 7.167261094e-02f, -3.717505606e-03f, 6.595389545e-02f, -8.988860250e-02f, + -1.592572778e-01f, -5.032209307e-02f, 4.559428245e-02f, 5.183585733e-02f, + 1.040142179e-01f, 2.354890481e-02f, -1.584632248e-01f, -2.354063280e-02f, + 4.350248352e-02f, 1.036903262e-01f, 4.901074991e-02f, 1.410172880e-02f, + 1.945152283e-01f, 4.974894971e-02f, -5.168222822e-03f, 1.125984192e-01f, + 2.983709425e-02f, 7.912100106e-02f, 9.274542332e-02f, 1.095443815e-01f, + 1.012624428e-01f, -7.353338413e-03f, 5.056738481e-02f, 8.084344864e-02f, + 1.170924027e-02f, -1.639418676e-02f, -1.080197021e-01f, -7.140769064e-02f, + 1.765946299e-01f, 3.025661595e-02f, 5.274266936e-03f, -1.637682319e-02f, + 1.493216008e-01f, 2.965682931e-02f, 7.436437905e-02f, -1.700871810e-02f, + 1.427721679e-01f, -3.894356638e-02f, -1.471266001e-01f, -7.719632238e-02f, + -1.136050001e-01f, 1.117563695e-01f, -7.822281867e-02f, -9.808355011e-03f, + 2.284807712e-02f, -9.239916503e-02f, -4.349827766e-02f, 1.591116376e-02f, + 8.695368655e-03f, 9.266797453e-02f, 2.072821837e-03f, 2.188802138e-02f, + 1.580105275e-01f, -3.549527749e-02f, 9.720599651e-02f, -1.380870044e-01f, + 2.044365108e-01f, -4.681076854e-02f, 2.677975036e-02f, 1.619974268e-03f, + -3.511858406e-03f, 7.722017914e-02f, 1.067087203e-01f, -1.613018215e-01f, + -1.154165938e-01f, 3.952812031e-02f, 2.613322809e-02f, -9.916471690e-02f, + 5.050209537e-02f, 5.764856562e-02f, -8.738020808e-02f, 7.957950234e-02f, + -1.658404060e-02f, 7.393049449e-02f, 8.556152880e-02f, 6.107891724e-02f, + 8.178127557e-02f, -3.047557548e-02f, 7.722190022e-02f, -1.057191119e-01f, + 4.204639792e-02f, 6.414574385e-02f, -2.277227640e-01f, 1.051295400e-01f, + -5.385218561e-02f, -1.197430119e-01f, 6.833476573e-02f, 5.046813563e-02f, + 7.769647241e-02f, 1.023224592e-01f, -1.051305234e-01f, -1.058080643e-01f, + -3.662599996e-02f, 1.822706312e-02f, 1.113315597e-01f, -6.788110733e-02f, + -3.196867928e-02f, 6.540852785e-02f, 8.984109759e-02f, 1.016132683e-01f, + 8.913766593e-02f, 6.567967683e-02f, 1.256745011e-01f, -7.599908113e-02f, + -1.218164861e-01f, -3.586577950e-03f, -5.271925777e-02f, -1.669623405e-01f, + 1.058056429e-01f, 1.950317174e-01f, 1.405940056e-01f, 5.921705812e-02f, + 8.303884417e-02f, 5.468008667e-02f, -2.147057801e-01f, -6.739762425e-02f, + 9.199727210e-04f, -3.757236060e-03f, 2.553201839e-02f, 1.082720086e-01f, + 5.637653545e-02f, -3.851937503e-02f, 1.516874880e-01f, -6.543575227e-02f, + 7.670544833e-02f, 1.769177616e-01f, 4.109719023e-02f, -1.075468287e-01f, + -1.692381315e-02f, -2.405970357e-02f, -8.092623204e-02f, 4.036463052e-02f, + -1.122654900e-01f, -4.073197022e-03f, 3.560910746e-02f, 1.139359996e-01f, + -2.982126549e-02f, -4.860531539e-02f, 2.878134511e-02f, 9.859222919e-03f, + 1.302113086e-01f, 1.461581443e-03f, -9.829806536e-02f, 1.694327965e-02f, + 2.610285394e-02f, 9.053602815e-02f, -1.234054044e-01f, -6.280542165e-02f, + -1.502036466e-03f, -1.170166302e-02f, 4.985411838e-02f, -8.100275695e-02f, + -6.353833526e-02f, 9.590872563e-03f, -1.323457211e-01f, 1.062832028e-02f, + 5.723712221e-02f, 2.155472636e-01f, -2.959591709e-02f, 3.959369287e-02f, + -7.909738272e-02f, -2.075816095e-01f, 4.815776646e-02f, 2.432710677e-02f, + 1.546826120e-02f, -9.446092695e-02f, 3.577680886e-02f, -8.899669163e-03f, + 1.659025671e-03f, -9.926510602e-02f, 5.924586952e-02f, -3.094951808e-02f, + 1.322118491e-01f, 5.192522425e-03f, 6.270682067e-02f, 9.677957743e-03f, + -5.506681651e-02f, -1.740691252e-02f, 1.818182319e-02f, -7.787109166e-02f, + -1.081430092e-01f, -9.746945649e-02f, -4.190356657e-02f, -9.536894411e-02f, + -2.379268408e-02f, -6.377064437e-02f, -3.587838635e-02f, 1.178998202e-01f, + 5.953139439e-02f, 7.594114542e-02f, -2.932263538e-02f, -3.758563474e-02f, + 1.386538241e-02f, 3.739216924e-02f, -9.725715965e-03f, -6.012893282e-03f, + 5.334410444e-02f, 5.495950952e-02f, 7.374008745e-02f, 1.628125459e-01f, + 9.994621575e-02f, 3.987446055e-02f, -8.590819687e-02f, -1.665927283e-02f, + -9.348478168e-02f, -2.109475806e-02f, 1.268101186e-01f, 1.549188048e-02f, + -1.123268679e-01f, -1.092996970e-01f, -5.115058273e-03f, -6.498590577e-03f, + -4.421780631e-02f, -2.830590010e-01f, -7.436084747e-02f, 1.039123759e-01f, + -2.993896417e-02f, -6.457352638e-02f, 9.396774322e-02f, 1.418108791e-01f, + -5.098615587e-02f, -5.831035227e-02f, 1.111220047e-01f, -2.172779888e-01f, + 3.547105193e-02f, -1.942579299e-01f, 1.682491414e-02f, 9.138512611e-02f, + 1.319951713e-01f, 2.952150814e-02f, 1.895539016e-01f, 1.751826555e-01f, + -6.326209754e-02f, -9.688792750e-03f, -5.441313982e-02f, -7.058569696e-03f, + 5.402039737e-02f, -1.471539885e-01f, 5.002151057e-02f, -6.444428116e-02f, + 9.682726860e-02f, -8.692636341e-02f, 1.649975777e-02f, -2.989869379e-02f, + 2.935351059e-02f, 1.377640665e-02f, 5.989795923e-02f, -1.072386466e-02f, + -1.389041394e-01f, 3.122188337e-02f, -9.677106887e-02f, 8.563062549e-02f, + -6.161952857e-03f, -4.120438918e-02f, 1.204770952e-01f, 5.292104930e-02f, + -6.317670643e-02f, -1.800355911e-01f, 5.325923860e-02f, 1.240095794e-01f, + -1.937276870e-01f, 7.714571059e-02f, -7.636594027e-02f, 3.984316438e-02f, + 1.415528506e-01f, 1.347929835e-01f, -6.930124760e-02f, -5.450068042e-02f, + -5.543101951e-02f, -9.200133383e-02f, -7.296758145e-02f, -4.538296908e-02f, + 3.787228838e-02f, 3.746076673e-02f, -1.679210109e-03f, 3.624708578e-02f, + -1.754938066e-01f, 4.182129353e-02f, -7.014707476e-02f, 1.674167253e-02f, + 3.056143969e-02f, -1.396860834e-02f, -8.716221899e-03f, 7.650996000e-02f, + 4.882783070e-02f, 1.506265718e-02f, -3.053830378e-02f, -2.600818500e-02f, + 1.270510405e-01f, 2.549960045e-03f, 6.440255791e-02f, 2.309251140e-04f, + 1.486220062e-01f, 1.588471420e-02f, 3.497739322e-03f, -9.086444974e-02f, + 3.170919791e-02f, 2.311602235e-02f, -5.386801437e-02f, 5.052414909e-02f, + -6.218375266e-02f, -7.564079016e-02f, 3.949750960e-02f, -2.391532063e-02f, + 1.085483506e-01f, 9.597149491e-02f, -2.158258669e-02f, 1.950384825e-01f, + 9.640953690e-02f, 8.401008695e-02f, 9.497951716e-02f, 9.853841364e-02f, + -1.147990972e-01f, -3.919871151e-02f, -6.936078519e-02f, 4.691309482e-02f, + -4.753234982e-02f, -1.271636784e-02f, 3.414617851e-02f, 4.281800240e-02f, + -3.827026486e-02f, -9.825196862e-02f, 8.212974668e-02f, 4.955096170e-02f, + 2.372812480e-02f, -2.825451270e-02f, 4.195346311e-02f, 1.021696404e-01f, + 1.089420393e-01f, 6.852159649e-02f, 7.602018304e-03f, -4.467436671e-02f, + 1.465277076e-01f, 7.046625018e-02f, 5.172167718e-02f, 1.206110045e-01f, + 2.250179835e-02f, -9.840305895e-02f, 4.521802068e-02f, -9.205977619e-02f, + 8.603923023e-02f, 2.149794251e-02f, -2.176880091e-02f, 1.741432995e-01f, + 1.284982562e-01f, -2.607419193e-01f, 4.424523562e-02f, 5.304847658e-02f, + 8.174752444e-02f, -1.104162708e-01f, -1.030864939e-01f, 9.171255864e-03f, + -1.218599901e-01f, 1.730958372e-01f, 1.136169359e-01f, -1.754593253e-01f, + -1.519380659e-01f, -6.848453730e-02f, 1.893142611e-02f, 9.578912705e-02f, + -1.853421144e-02f, -6.533654779e-02f, 7.121862471e-02f, -5.720845237e-02f, + 9.334652126e-02f, -8.968814462e-02f, -5.756166577e-02f, 4.095529765e-02f, + -4.389059171e-02f, -1.960650831e-02f, 7.950850576e-02f, -1.118551120e-01f, + 1.880589277e-01f, 6.471350044e-02f, -3.785325959e-02f, 1.734171249e-02f, + 2.478160895e-02f, 1.148417499e-02f, 5.692335311e-03f, 6.392055750e-02f, + 1.373424567e-02f, 6.068163365e-02f, 4.650847241e-02f, 1.728817821e-02f, + -3.038431460e-04f, -1.935895085e-01f, -2.360027134e-01f, 7.298099250e-02f, + -3.101807646e-02f, -4.739443213e-02f, 3.022919782e-02f, -2.195017412e-03f, + 7.667818666e-02f, 8.815580606e-02f, -1.615383476e-01f, -7.231311500e-02f, + 8.365513384e-02f, -1.006054878e-01f, -7.440774143e-02f, -8.597208560e-02f, + -1.458804011e-01f, 6.278460473e-02f, -9.941612184e-02f, -1.085611060e-02f, + 2.142239362e-01f, -7.099869102e-02f, 4.922697693e-02f, 1.239966378e-01f, + 1.805890119e-03f, -3.968059085e-03f, 1.147698089e-01f, 3.316634521e-02f, + -7.414751500e-02f, 4.753318429e-02f, -9.558034688e-02f, 2.781789005e-02f, + 8.596383035e-02f, -1.033626497e-01f, -9.989922494e-02f, 3.876068816e-02f, + 1.476111822e-02f, 4.083812982e-02f, -8.566554636e-02f, 3.617540002e-02f, + -2.363158204e-02f, 1.150816865e-02f, -1.505400240e-01f, 1.254941374e-01f, + -9.875402600e-02f, -8.536754176e-03f, -9.907449037e-02f, -6.988089532e-02f, + -4.311006889e-02f, 1.133043095e-01f, -1.592171565e-02f, -5.257293582e-02f, + 4.839500040e-02f, -9.222347289e-02f, 1.730679423e-01f, -7.303217053e-02f, + -5.446977913e-02f, -5.289005861e-02f, 1.046427339e-01f, -8.108900487e-02f, + 9.426132590e-02f, 5.717816949e-02f, 9.177103639e-03f, -4.190114513e-02f, + 2.794702910e-02f, 1.120002046e-01f, -1.006409749e-01f, -8.624359965e-02f, + -3.239097539e-03f, 1.458146260e-03f, -9.586743265e-02f, -3.950007260e-02f, + 2.364338189e-02f, -6.062001735e-02f, -3.091862425e-02f, 7.334828377e-02f, + 1.105930191e-02f, 9.601449966e-02f, 1.198216714e-02f, -1.854690462e-01f, + 2.713092975e-02f, 3.469784558e-02f, 2.185599692e-02f, -7.537022978e-02f, + -2.178448141e-01f, 4.609014466e-02f, 4.187476635e-02f, -1.113108993e-01f, + 4.826858640e-02f, 2.471222356e-02f, 1.032675430e-01f, 1.041353717e-01f, + 8.200012892e-02f, -2.382237650e-02f, 6.182141975e-02f, 7.370899431e-03f, + 6.853571534e-02f, -7.021228224e-02f, -6.738200784e-02f, -7.281439006e-02f, + 1.146871299e-01f, -1.360063553e-01f, 1.021852270e-01f, -7.196401805e-02f, + -1.214102134e-01f, -8.783073723e-02f, 2.066364139e-02f, -2.352147736e-02f, + 8.123400807e-02f, -1.155212224e-01f, 8.486476541e-02f, 1.161502972e-01f, + 9.484246373e-02f, -1.502914280e-01f, 1.165599748e-01f, -1.163501665e-01f, + 1.526898891e-01f, -1.689857105e-03f, -1.004655436e-01f, -4.745997861e-02f, + -2.401699871e-02f, -1.108081862e-01f, -7.582617551e-02f, 9.528478235e-02f, + 1.394616161e-02f, -6.753103435e-02f, -1.317745596e-01f, 3.950199857e-02f, + -1.619255170e-02f, 4.355356842e-02f, -1.295379084e-02f, 1.311377138e-01f, + -5.530477501e-04f, -5.113155767e-02f, 7.395079732e-02f, -1.185497418e-01f, + -2.642135024e-01f, 1.487792730e-01f, 1.075678617e-01f, 1.750560105e-01f, + -1.242011786e-01f, -3.294469416e-02f, 1.247953847e-01f, 5.120487884e-02f, + -1.074578427e-02f, 4.224863276e-02f, -9.886390716e-02f, 4.082066007e-03f, + 5.958621204e-02f, 7.324551232e-03f, 5.192366987e-02f, 2.023925036e-01f, + 1.886574738e-02f, 2.444876730e-02f, 8.193721622e-02f, -1.422807276e-01f, + -9.465973824e-03f, 2.411343344e-02f, -8.294350468e-03f, -6.936178356e-02f, + 5.361556262e-02f, 1.693995893e-01f, -2.308239937e-01f, -3.221332328e-03f, + 5.636742339e-02f, 1.010355428e-01f, 3.109726869e-02f, 4.147307202e-02f, + -7.950161397e-02f, 2.127982490e-02f, -6.003535539e-02f, 4.313826934e-02f, + -6.883238442e-03f, 1.819014549e-02f, -1.614757925e-01f, 7.566579431e-02f, + 7.031191140e-02f, 8.027319610e-02f, -1.675052047e-01f, 4.546088725e-02f, + -4.482871667e-02f, -1.111381873e-01f, -1.594477147e-01f, 2.385069244e-02f, + 5.273343250e-02f, 9.061459452e-02f, -1.150249764e-01f, 1.814415306e-02f, + -6.599585712e-02f, -4.303490371e-02f, 4.501893185e-03f, 1.774379760e-01f, + 1.809266955e-01f, -4.027434811e-02f, 4.806422442e-02f, 1.468155812e-02f, + 1.136671305e-01f, -2.419024892e-02f, 1.179333553e-01f, 9.120251983e-02f, + 5.959563330e-02f, 7.815891504e-02f, -7.639451325e-02f, 2.561194636e-02f, + 1.070119515e-01f, 1.451918185e-01f, -1.372522861e-01f, -1.445789784e-01f, + 7.615926675e-03f, 8.511772007e-02f, 2.842542715e-02f, 1.420179754e-01f, + -4.283661768e-02f, 1.536286715e-02f, 1.711705886e-02f, 8.979890496e-03f, + 7.284490493e-06f, 1.604374498e-02f, 1.031586304e-01f, 4.548324645e-02f, + 2.784325555e-02f, -2.455518954e-02f, 8.376986533e-02f, -1.209394634e-01f, + 1.462637484e-01f, -4.680515453e-02f, -1.264495999e-01f, -7.573682815e-02f, + 4.312570393e-02f, -1.544585451e-02f, 4.983480647e-02f, 1.321483124e-02f, + -1.172070131e-01f, -1.462640017e-01f, -9.179827571e-02f, 3.595175222e-02f, + -6.030466408e-02f, 1.694715917e-01f, 2.739989571e-02f, -7.521007792e-04f, + -1.487320960e-01f, 1.434213221e-01f, -7.742059976e-02f, -4.192377627e-02f, + 1.491892636e-01f, -7.033371832e-03f, 8.568586409e-02f, 3.713206202e-02f, + -3.007248975e-02f, 1.345709153e-02f, -1.218475178e-01f, -2.642341703e-02f, + -3.205929697e-02f, 8.123708516e-02f, 5.718239024e-02f, 1.918895356e-02f, + -5.989924446e-02f, 4.615174979e-02f, 3.032947890e-02f, -8.201640099e-02f, + 1.453566551e-01f, -1.300873011e-01f, 8.378355950e-02f, 2.460078336e-02f, + -1.366957370e-02f, 1.101345345e-01f, -1.125941277e-01f, -2.238289118e-01f, + -3.067836165e-02f, -2.209851146e-01f, 6.362223532e-03f, -2.641283721e-02f, + 4.191178456e-02f, -3.046206385e-02f, -3.532499075e-02f, 8.306972682e-02f, + -5.357605219e-02f, 9.724070877e-02f, -4.618212953e-02f, -3.919922188e-02f, + 1.925737411e-02f, 1.150723174e-01f, -1.106915250e-01f, 4.983179644e-02f, + 2.237100750e-01f, -1.372784972e-01f, 2.187420055e-02f, 9.664333612e-02f, + 3.737502545e-02f, 1.691966206e-01f, -1.425171643e-01f, 1.736552715e-01f, + -4.291920736e-02f, -3.779853228e-03f, 7.917151600e-02f, -7.099247724e-02f, + 1.428893954e-01f, -5.495519936e-02f, 3.459751606e-02f, -4.560882226e-03f, + 8.511170000e-02f, 1.553285588e-02f, -7.499890029e-02f, -5.046536028e-02f, + 3.548310325e-02f, -5.527212098e-02f, 1.335097998e-01f, -2.825629711e-02f, + 1.025770679e-01f, -4.506622627e-02f, -1.087165698e-01f, 1.851180941e-02f, + -5.410375074e-02f, 1.344080716e-01f, 7.901155204e-02f, 1.525886077e-02f, + 4.763861187e-03f, 4.035081365e-04f, 2.761311270e-02f, -7.743218541e-02f, + -8.882691711e-02f, 1.262092441e-01f, -9.491543472e-02f, -1.161348820e-02f, + 1.160238832e-01f, 3.851876780e-02f, -7.728500757e-03f, -6.435798109e-02f, + -1.891922392e-02f, 4.366226122e-02f, 2.057776600e-02f, 1.226571202e-01f, + 7.846831344e-03f, -1.409806162e-01f, 4.411228746e-02f, 1.281414330e-01f, + 2.607635558e-01f, -2.865612693e-02f, -4.509799927e-02f, -3.596022353e-02f, + -2.808690630e-02f, -1.036464050e-01f, -7.092768699e-02f, -4.815415666e-02f, + 2.859038673e-02f, -5.756900832e-02f, 7.384692878e-02f, 1.602901965e-01f, + -2.521388419e-02f, -9.193600714e-02f, -1.341337860e-01f, -4.098739848e-02f, + 3.908382729e-02f, -5.122844130e-02f, 7.009845227e-02f, 3.547107428e-02f, + -1.213366240e-01f, -1.209637672e-01f, -1.610372812e-01f, 1.438698024e-01f, + -4.216901585e-02f, -6.463421136e-02f, 2.060710788e-01f, -8.913912624e-02f, + 2.600035369e-01f, -1.952487230e-02f, -2.900845185e-02f, 3.465529531e-02f, + -2.959755622e-02f, 1.873175427e-02f, -1.004448012e-01f, -5.910035595e-02f, + -1.049913559e-02f, -2.198680863e-02f, 7.489933632e-03f, 1.082931273e-02f, + -4.053233564e-02f, -4.997079074e-02f, -7.097702473e-02f, -9.080306441e-02f, + 2.940322272e-02f, 4.320704192e-02f, 1.363409162e-01f, -3.583614528e-02f, + 5.559482053e-02f, 6.810254604e-02f, -5.626229942e-02f, 9.831461357e-04f, + 8.168452978e-02f, 6.719886512e-02f, -6.983632687e-03f, 1.959440298e-03f, + -4.464563727e-02f, 1.816295553e-03f, 3.125648946e-02f, 1.171748564e-01f, + -1.137857363e-01f, -1.303297877e-01f, 1.038162485e-01f, -4.373814166e-02f, + 1.002263576e-01f, -1.010780688e-02f, 3.449993581e-02f, 2.601681463e-02f, + -2.132473141e-02f, 2.479733676e-01f, -7.879912108e-02f, -8.307267725e-02f, + 7.804902853e-04f, -3.295450285e-02f, -4.877904803e-02f, -4.363848642e-02f, + -9.759178758e-02f, 2.473424189e-02f, 1.074945852e-01f, -5.388914794e-02f, + -3.645145893e-02f, 8.386040479e-02f, -9.751521796e-02f, 6.024642661e-02f, + -3.002213081e-03f, 9.206679463e-02f, 1.263766736e-01f, -3.290873021e-02f, + 2.281640843e-02f, 1.400723010e-01f, 5.315008108e-03f, 1.699442416e-02f, + 1.923878677e-02f, -4.060259461e-02f, 8.658879995e-02f, 4.362876713e-02f, + -5.422043800e-02f, 1.516892016e-01f, -4.532816261e-02f, -5.906891450e-02f, + 7.299281191e-03f, 1.136286184e-02f, -6.064248458e-02f, -1.163594704e-02f, + 5.680934712e-02f, -1.343869865e-01f, -8.284381032e-02f, 1.094100848e-01f, + -2.011674829e-02f, -9.678123891e-02f, 1.954516917e-01f, 5.339882523e-02f, + -1.366233826e-01f, -3.632351756e-03f, 4.372398555e-02f, 1.783293039e-01f, + -5.054004863e-02f, 5.930713937e-02f, -5.765450001e-02f, 1.134863123e-01f, + 5.053977668e-02f, 2.285903506e-02f, -9.351879358e-02f, 3.597388417e-02f, + -1.619962305e-01f, 4.507451132e-02f, 7.211755216e-02f, 7.195466012e-02f, + 1.760656685e-01f, 1.325246226e-02f, 7.710786909e-02f, 3.254330158e-02f, + 1.307071149e-01f, -5.041233730e-03f, 1.476371735e-01f, -1.116668433e-01f, + -5.896472186e-02f, -9.920690209e-03f, -1.177821308e-01f, 1.056383625e-01f, + -7.012231648e-02f, -4.760638997e-02f, -3.423145041e-02f, 1.917876303e-01f, + 1.845900565e-01f, -2.965265699e-02f, 1.134575754e-01f, 2.393605374e-02f, + 1.207031161e-01f, 1.901783608e-02f, -1.193179861e-01f, -1.203750148e-01f, + -8.372600190e-03f, -8.734513819e-02f, -6.956535578e-02f, -1.117885858e-01f, + -1.762544364e-02f, -3.759808093e-02f, 8.927774616e-03f, 8.864618838e-02f, + 4.065765440e-02f, 7.030436397e-02f, -1.488236152e-02f, 2.359084189e-01f, + 5.871485546e-02f, 2.778375149e-02f, 3.128130687e-03f, 3.305368498e-02f, + -4.626526684e-02f, -7.548033446e-02f, -7.337661088e-02f, 3.009889461e-02f, + 7.950840890e-02f, 5.380018055e-02f, -3.608818352e-02f, 3.215761855e-02f, + -9.186339378e-02f, -2.027245797e-02f, -1.352850348e-02f, -3.569798172e-02f, + -1.547943354e-01f, -1.825560071e-02f, -7.255885750e-02f, -5.484227836e-02f, + 9.597089142e-02f, 1.833160520e-01f, 1.015523914e-02f, 1.339559853e-01f, + 6.735794991e-02f, -4.057256505e-02f, 2.058115900e-01f, 1.199638173e-01f, + -1.257905513e-01f, -6.484833546e-03f, -1.622894704e-01f, 1.190718263e-02f, + -6.991379708e-02f, -2.201837860e-02f, 4.139953107e-02f, -1.480277069e-02f, + -7.590054721e-02f, -1.628478169e-01f, 2.743265405e-02f, 1.036237106e-01f, + -2.898307145e-02f, 1.557107419e-01f, 4.200850800e-02f, 2.185084075e-01f, + -6.783182919e-02f, 2.435115539e-02f, -4.649540409e-03f, 2.225868404e-03f, + -4.492523149e-02f, -6.789522618e-02f, -7.436139276e-04f, -4.366629571e-02f, + 5.261591077e-02f, 5.296626687e-02f, -9.206743911e-03f, 1.659024209e-01f, + 1.567157358e-01f, -3.796036169e-02f, -5.459353328e-02f, -3.354290873e-02f, + 1.110724881e-01f, -7.748145610e-02f, -3.420859203e-02f, 1.136657074e-01f, + 1.777613908e-01f, -3.140487894e-02f, -5.812463351e-03f, -7.670131326e-02f, + -2.605351992e-02f, -1.158749461e-01f, -7.170356810e-02f, 2.031079493e-02f, + 1.144513860e-01f, 1.240825001e-02f, -1.885602251e-02f, -1.653875969e-02f, + 1.284882985e-02f, -2.500092238e-02f, -4.134680703e-02f, 4.400940612e-02f, + 1.555698272e-02f, -7.821142673e-02f, -7.124750316e-02f, -2.321132459e-03f, + 1.332202554e-01f, 2.542069554e-01f, -7.166640460e-02f, 3.304174542e-02f, + 9.127561934e-03f, 5.538472533e-02f, -7.564045489e-02f, -2.094113827e-01f, + 6.124286354e-02f, 2.875607694e-03f, 9.883165359e-02f, -2.184594795e-02f, + 1.291210949e-01f, 9.962689131e-02f, -1.962778121e-01f, -8.454478532e-02f, + -2.527840063e-02f, 1.387059223e-02f, -5.834511295e-02f, -1.703448780e-02f, + -5.071324483e-02f, 1.122608781e-02f, 1.745675802e-01f, -3.315021470e-02f, + -1.232246589e-02f, 1.008914039e-01f, -3.376660869e-03f, -7.530352101e-03f, + -1.527213007e-01f, 2.629074082e-02f, -8.871613443e-02f, 2.497219667e-02f, + -5.041542277e-02f, -1.270028017e-02f, 4.157733917e-02f, 6.743440777e-02f, + 1.246794313e-02f, -1.652870141e-02f, -5.081782490e-02f, 4.934968799e-02f, + 8.869837970e-02f, -1.092805341e-01f, -1.076622307e-01f, -2.247432806e-02f, + -2.935090289e-02f, 5.287713930e-02f, -1.745532849e-03f, -2.185987085e-01f, + -1.196013018e-01f, 1.041540410e-02f, -6.193464994e-02f, -1.189959794e-01f, + -3.000082076e-02f, -1.569394469e-01f, -1.463387161e-01f, -1.814069785e-02f, + 1.863419265e-02f, 2.036576904e-02f, 1.218247712e-01f, 2.809775993e-02f, + -3.670337051e-02f, -1.581164263e-02f, 1.607804149e-01f, -5.812369287e-03f, + 1.311801672e-01f, 2.392064966e-02f, 1.461615413e-01f, -1.831511594e-02f, + 1.949143559e-01f, -8.866960555e-02f, -1.124538016e-02f, 1.320795156e-02f, + 1.791598946e-01f, 3.463720903e-02f, 3.334204108e-02f, -1.469439566e-01f, + 9.768068045e-02f, -5.681189895e-02f, -2.898270078e-02f, -1.002121121e-01f, + -1.383202970e-01f, -7.112371922e-02f, 3.679198027e-02f, 8.086401969e-02f, + 1.383596510e-01f, -5.732127279e-02f, -3.067903593e-02f, -2.434962243e-02f, + 6.151274219e-02f, -8.260295540e-02f, 3.162541986e-02f, 2.841114253e-02f, + -8.817354217e-03f, -7.811551541e-02f, 7.830609381e-02f, -1.390443183e-02f, + 2.518662997e-02f, 1.236078814e-01f, -9.052594006e-02f, -5.944225565e-02f, + -1.560655236e-01f, -1.189950034e-01f, 1.325958520e-01f, -1.340517849e-01f, + -8.433850855e-02f, 7.755568624e-02f, 5.015878379e-02f, 1.396215260e-01f, + 4.339488596e-02f, 7.711390406e-02f, 2.003583312e-01f, 4.720539227e-02f, + -8.571783081e-03f, 6.529252231e-02f, -1.271891743e-01f, 8.148075640e-02f, + -4.561552033e-02f, -1.063261181e-01f, 5.038492382e-02f, -8.155576140e-02f, + 8.537193388e-02f, 3.829212487e-02f, 1.718815565e-01f, 6.959623098e-02f, + 2.471044660e-02f, -1.274019852e-02f, 1.733099520e-01f, -1.552456319e-01f, + -1.266189069e-01f, -1.380028203e-02f, 3.781310841e-02f, -4.251122475e-02f, + 7.299468666e-02f, 4.080898315e-02f, -1.294187903e-01f, 9.323906898e-02f, + -8.114848286e-03f, -6.514597684e-02f, 1.304386407e-01f, 1.042980030e-01f, + 2.457967773e-02f, 1.145669725e-03f, -1.756430417e-01f, -1.125407219e-01f, + -1.880678684e-01f, 9.812509269e-02f, 3.032128885e-02f, 8.324596100e-03f, + -7.401966304e-02f, -1.171908155e-01f, 3.671529889e-02f, -4.182671383e-02f, + 1.221323907e-01f, 3.830258921e-02f, -1.095234603e-02f, -1.964791864e-02f, + 1.834176481e-01f, 2.235405594e-01f, -5.059004202e-02f, 6.397499889e-02f, + -4.384320974e-02f, 1.788410172e-02f, 6.273315102e-02f, 7.250363380e-02f, + 5.673715472e-02f, -8.238016814e-02f, -3.560259007e-03f, -2.694515139e-02f, + 1.160843484e-02f, -6.179838255e-02f, -8.415182680e-02f, 4.774693865e-03f, + 7.014632865e-05f, 4.123814870e-03f, 5.736142769e-02f, -2.649629489e-03f, + 8.106929064e-02f, -2.081290632e-01f, -3.878095001e-02f, -7.647149265e-02f, + -5.161328614e-02f, -8.774995804e-02f, 2.204362676e-02f, -3.045823239e-02f, + -7.361260802e-02f, 3.720690683e-02f, 1.481440663e-01f, 7.733147591e-02f, + -3.463997319e-02f, -4.882705957e-02f, -1.122051999e-01f, 6.276476383e-02f, + -2.984999679e-03f, -1.702336594e-02f, -2.633398212e-02f, 7.364945114e-02f, + 8.569605649e-02f, -7.014455274e-03f, 5.273020267e-02f, 1.048032194e-02f, + 8.813461289e-03f, 1.112125665e-01f, -4.333763197e-02f, -3.703536093e-02f, + 3.235839307e-02f, 8.400682360e-02f, -7.868112624e-02f, 9.934327751e-02f, + -1.410747506e-02f, 3.072930574e-01f, -2.888114750e-02f, 1.347856224e-02f, + 3.394550458e-02f, -4.248822853e-02f, 1.954666525e-02f, -3.899675561e-03f, + -1.105409041e-01f, -1.095619518e-02f, 4.080293328e-02f, 7.425889373e-02f, + 1.597798318e-01f, -3.021183051e-02f, 3.948456421e-02f, 8.912674338e-02f, + 8.427225053e-02f, 3.850247338e-02f, 7.201837376e-03f, 1.237682253e-02f, + 1.456387043e-01f, 1.092479825e-01f, 1.199261844e-01f, 3.529180959e-02f, + 7.019142061e-02f, -1.952851936e-02f, -1.073890016e-03f, -2.892685309e-02f, + -6.284336746e-02f, -3.950963169e-02f, -2.500217967e-02f, -1.316263229e-01f, + 1.865698211e-02f, 4.763991386e-02f, -6.352877617e-02f, 4.497437552e-02f, + -5.981622636e-02f, 9.423378110e-02f, 1.058535501e-01f, -1.596550345e-01f, + 6.427902728e-02f, -9.796600044e-02f, 3.574697301e-02f, 1.687399484e-02f, + -5.779611319e-02f, -1.134367660e-02f, -1.009045094e-01f, 1.169177294e-01f, + 1.857250035e-01f, -8.738719672e-02f, 1.423808038e-01f, 1.182873696e-01f, + 1.642418951e-01f, -6.942418963e-02f, 3.818808869e-02f, -1.460925788e-01f, + -1.648867689e-02f, 3.518315777e-02f, 1.182884276e-01f, -9.015706182e-02f, + 2.296161838e-02f, 2.001130953e-02f, -1.016473398e-01f, -9.438941628e-02f, + -8.339431137e-02f, -3.588771820e-02f, 5.827945471e-02f, -1.353128701e-01f, + -9.452084452e-02f, -7.738756249e-04f, -1.708932221e-01f, 1.707103476e-02f, + -1.523511857e-02f, 9.449677169e-02f, 8.035378531e-03f, -4.467922822e-02f, + -3.555499762e-02f, -7.739066333e-02f, 5.044833571e-02f, -1.002706364e-01f, + -4.314829409e-02f, 6.157788914e-03f, -5.645812955e-03f, -9.540281445e-02f, + 6.564155966e-02f, 9.613523632e-02f, 1.026313007e-01f, -4.544686526e-02f, + -3.782565892e-02f, -6.111710891e-02f, 9.726506472e-02f, -2.200884372e-02f, + -5.777462572e-02f, -6.804838777e-02f, 4.373181611e-02f, -2.179979682e-01f, + 2.121991068e-01f, -1.219266877e-01f, 1.463716850e-02f, -2.744847350e-02f, + -1.201456264e-01f, -1.792144403e-02f, -5.878839642e-02f, 1.185580529e-02f, + 1.135773435e-01f, 4.020111263e-02f, 5.091427267e-02f, 1.471878774e-02f, + 1.202257797e-01f, 5.914646387e-02f, -2.861853838e-01f, 2.685358003e-02f, + 4.481588304e-02f, 1.748535037e-01f, -2.728775889e-02f, -4.247246683e-02f, + 5.507021770e-02f, -9.857074916e-02f, -4.556465894e-02f, 6.643451005e-02f, + -4.768345878e-02f, -8.761864901e-02f, 2.296346240e-02f, 1.668519974e-01f, + -1.358422637e-01f, 2.978732437e-02f, 1.700646579e-01f, 1.274990886e-01f, + -4.999427125e-02f, 3.126729280e-02f, -9.342366457e-02f, -5.569457635e-02f, + -7.249343395e-02f, 1.251497269e-01f, 2.025558054e-02f, 2.690127492e-02f, + 3.454865422e-03f, -1.293026656e-02f, 9.724219330e-03f, -6.935861707e-02f, + -7.513295859e-02f, 2.990126982e-02f, -1.597913355e-01f, 6.971641630e-02f, + 1.056849808e-01f, 1.078919619e-01f, 2.143257670e-02f, 6.527862698e-02f, + 5.069938302e-02f, 3.944908828e-02f, 3.862259537e-02f, -1.983823895e-04f, + 3.164518252e-02f, -8.179359883e-02f, -4.466624558e-02f, -1.626752689e-02f, + 1.503491402e-01f, 9.484610707e-02f, -1.341076642e-01f, 7.437535562e-03f, + -1.206288040e-01f, -2.807445265e-02f, 3.919057082e-03f, 4.125925526e-02f, + 2.618812490e-03f, 6.446915865e-02f, 1.635969430e-01f, 3.704437986e-03f, + 8.142388612e-02f, 5.313874781e-02f, 2.863476984e-02f, 8.553762920e-03f, + 6.867361814e-02f, -1.233635396e-01f, -8.587958664e-02f, 3.182755085e-03f, + -2.495482415e-01f, 1.984062977e-02f, -8.573834598e-02f, -2.247824222e-01f, + 1.879208907e-02f, 7.952529937e-02f, 3.166261688e-02f, -1.933096536e-02f, + 1.266140938e-01f, 1.268497556e-01f, 1.111163795e-01f, 4.921345506e-03f, + -2.961046807e-02f, -2.083847225e-01f, 1.580546349e-01f, -5.859396770e-04f, + -1.245183349e-01f, 3.938080743e-02f, 4.331748467e-03f, 8.475313894e-03f, + 1.360537112e-01f, 4.738820344e-02f, -1.041388288e-01f, 9.721752256e-02f, + 2.128398418e-02f, 8.133554459e-02f, 1.253390014e-01f, 7.518866658e-02f, + -2.884590439e-02f, 6.951663643e-02f, 1.841069311e-01f, -6.429537199e-03f, + 1.121632308e-01f, 7.791766524e-02f, 7.932912558e-02f, -4.529337585e-02f, + -8.070080727e-02f, -9.820146114e-02f, 9.401818365e-02f, 3.446915746e-02f, + -1.043046638e-01f, -2.614127658e-02f, -5.117013305e-02f, 2.677450143e-02f, + -4.587009922e-02f, -2.860585414e-02f, -1.545722131e-02f, 2.588865720e-02f, + 1.110418662e-01f, -9.549190849e-02f, -6.414692849e-02f, 9.259064496e-02f, + -4.827250168e-02f, -4.648547247e-02f, -4.995020851e-02f, -1.200201213e-01f, + 7.266523689e-02f, -1.272746921e-01f, -7.199659199e-02f, 1.893106848e-03f, + 4.676223546e-02f, 8.990743756e-02f, 8.202007413e-02f, 2.405577898e-01f, + -1.144555137e-01f, 1.479284614e-01f, -6.555706263e-02f, -4.236827046e-02f, + -7.603063434e-02f, 1.228079572e-02f, 5.228300765e-02f, -1.045880690e-01f, + 2.236331105e-01f, 1.548972819e-02f, 9.506408125e-02f, 1.049815714e-01f, + 8.318296075e-02f, 4.421762750e-02f, 1.741716987e-03f, 2.977464721e-02f, + -4.257544130e-02f, 4.628806561e-02f, -6.139985099e-02f, 1.070998013e-01f, + 1.641195454e-02f, 6.787586212e-02f, -7.143762708e-02f, 4.326180741e-02f, + -1.660490781e-01f, -2.086837590e-02f, -1.433332711e-01f, -1.736241020e-02f, + -1.245498657e-01f, 8.698844165e-02f, 7.068783161e-04f, -8.364331722e-02f, + 1.107733883e-02f, -7.225348055e-02f, 9.853433073e-02f, 2.888503484e-02f, + -2.250435390e-02f, -2.762103453e-02f, 2.947754785e-02f, 7.874558121e-02f, + -2.219884843e-01f, 2.399875410e-02f, -1.431526393e-01f, 2.040868402e-01f, + 1.222606450e-01f, -1.112902984e-01f, 3.468560986e-03f, 1.759663038e-02f, + 7.114627864e-03f, -5.271486193e-02f, -1.685044765e-01f, 1.060841307e-01f, + 3.560054302e-02f, -1.572057605e-02f, -8.095785975e-02f, -1.361822989e-02f, + 4.374943674e-02f, 1.560540795e-01f, 1.189916879e-01f, -4.354390875e-02f, + -1.209828779e-01f, -1.176050678e-01f, -1.007318590e-02f, 9.393436462e-02f, + -1.136458293e-01f, 1.117590517e-01f, 6.880503893e-02f, 1.329824030e-01f, + 8.509920537e-02f, 6.138893589e-02f, 5.586919188e-02f, 2.035970837e-01f, + 4.772214743e-04f, -1.769440807e-02f, -7.223606808e-04f, -1.220242083e-01f, + -8.294860832e-03f, 4.382047430e-02f, 1.809001900e-02f, -4.222386330e-02f, + -3.183642030e-02f, 1.347353309e-01f, 1.217694208e-02f, -6.601252407e-02f, + 2.809526213e-02f, 3.777932376e-02f, 1.114739180e-01f, 2.541172132e-02f, + -1.190242730e-02f, -1.474254578e-01f, -1.066485271e-01f, 1.897458173e-02f, + -7.830779068e-03f, -8.808691055e-02f, -3.855198249e-02f, 1.246805396e-02f, + -7.380419225e-02f, 5.796289071e-02f, 6.971066352e-03f, 3.387727588e-02f, + 6.705729663e-02f, 1.999353804e-02f, 4.548506439e-02f, -2.372230869e-03f, + 2.683009580e-02f, 6.297955662e-02f, 3.984165937e-02f, 2.986292355e-02f, + -9.711367637e-02f, -1.107343808e-01f, 2.806372195e-02f, -4.628771544e-02f, + 4.322855547e-02f, 4.500280693e-02f, 1.134418920e-01f, -9.099133313e-02f, + -1.719492078e-01f, 8.717923611e-02f, 9.143463522e-02f, 1.398120821e-02f, + -6.419816613e-02f, -4.987800494e-02f, -1.342745684e-02f, -2.621938847e-02f, + -4.289461300e-02f, 2.561480403e-01f, 3.122047056e-03f, -2.711354010e-02f, + -2.656138837e-01f, -6.642349064e-03f, -5.850278586e-02f, -1.014070120e-03f, + 1.996804774e-02f, -5.977878720e-02f, -1.241985932e-01f, -3.583772480e-02f, + -1.366108656e-01f, -1.238302290e-01f, -3.019837663e-02f, 5.072389916e-02f, + 1.734226048e-01f, 4.444606602e-02f, 5.125605315e-02f, 8.461038768e-02f, + -1.425247192e-01f, -1.095959768e-01f, 2.309986763e-02f, 8.983378112e-02f, + -1.128648780e-02f, 1.766871288e-02f, -2.322323024e-01f, 8.211325109e-02f, + -1.654815525e-01f, 1.197202280e-01f, 2.437194809e-02f, -2.495493144e-01f, + -4.820761830e-02f, 2.907451428e-02f, -1.080323663e-02f, 4.768854380e-02f, + -6.334124506e-02f, -8.795713633e-02f, 1.230662614e-01f, 1.867144369e-02f, + 8.169819415e-02f, 1.919266209e-02f, -1.934516802e-02f, 2.777748369e-02f, + 1.244016737e-01f, -8.365606889e-03f, -7.291823626e-02f, -1.282452838e-03f, + -4.302047193e-02f, -7.038179319e-03f, -7.832522690e-02f, -1.130925342e-01f, + -5.018430948e-02f, -2.359411865e-02f, 5.415644124e-02f, -8.542060852e-02f, + 3.549823910e-02f, -1.344316006e-01f, 1.246004999e-01f, 1.108306125e-01f, + -1.941734925e-02f, 8.006376028e-02f, 1.787340790e-01f, -5.869244412e-02f, + -3.852896392e-02f, 1.306760013e-01f, -1.391119696e-02f, 7.668594271e-02f, + -1.116870716e-02f, 6.411706656e-02f, -1.280094087e-01f, 4.519043118e-02f, + 1.982285678e-01f, -1.300200913e-02f, -1.805906184e-02f, 1.292766035e-01f, + 8.212563396e-02f, 1.831210777e-02f, -4.396728054e-02f, 1.108432561e-02f, + 5.335568637e-02f, 5.994806997e-03f, -1.994029619e-02f, 1.853295714e-01f, + -4.442562163e-02f, 3.636595979e-02f, 1.577750966e-02f, 1.397977583e-02f, + -1.095897108e-01f, 4.619769752e-02f, -1.868000999e-02f, 1.225984842e-01f, + -5.605372414e-02f, 2.081996351e-01f, 8.707771078e-03f, -3.838676214e-02f, + 9.381615371e-02f, -7.204473764e-02f, 4.562844057e-03f, 3.243336454e-02f, + -1.147959009e-01f, 1.848090999e-02f, 1.992537975e-01f, 3.128509969e-02f, + -1.586918235e-01f, -1.928285696e-02f, 3.780214489e-02f, 3.888751566e-02f, + 1.359655261e-01f, -1.844405383e-01f, -4.836095497e-02f, -1.458738744e-01f, + -1.111995578e-01f, 7.953069359e-02f, 5.108479038e-02f, 1.159383059e-01f, + -6.526093185e-02f, -1.815793067e-01f, -1.876409724e-02f, -5.888139084e-02f, + 1.120019853e-01f, 4.210013524e-02f, -6.831679493e-02f, -5.881861970e-02f, + -6.243792549e-02f, 4.979702458e-02f, 1.507588476e-01f, 2.982033475e-04f, + -6.332530826e-02f, -3.812851384e-02f, -6.475906819e-02f, -6.369740516e-02f, + -5.140720867e-03f, -1.536952239e-02f, -4.504399747e-02f, 2.383004408e-03f, + -1.592107862e-01f, 9.768295102e-03f, -3.674483672e-02f, 1.112052277e-01f, + -8.527827263e-02f, 4.226486012e-02f, -2.888050303e-02f, -1.872177795e-02f, + -2.351833694e-02f, 9.411886334e-02f, 8.529757708e-02f, 2.612582175e-03f, + 1.794696748e-01f, 1.986001804e-02f, 2.158948407e-02f, -2.689668722e-02f, + 1.002075076e-01f, -1.711658686e-01f, -1.326885819e-01f, -1.414203942e-01f, + -8.512333035e-02f, 2.355410531e-02f, 2.997930534e-02f, 3.468244337e-03f, + -1.493922919e-01f, -1.581779122e-01f, -4.457631707e-02f, 4.389693588e-02f, + 9.811469167e-02f, 1.040761992e-01f, 1.551894546e-01f, -7.633880526e-02f, + -9.300236590e-03f, 1.001364589e-01f, -3.311461583e-02f, 8.317075670e-03f, + -1.409860849e-01f, 1.041022912e-01f, 1.001040414e-01f, -6.732450426e-02f, + -2.683584951e-02f, 2.016894221e-01f, 9.289708734e-02f, -7.316040248e-02f, + 2.014598399e-01f, -1.311873049e-01f, -1.306987926e-02f, -1.153938845e-01f, + -8.810163476e-03f, 6.838562340e-02f, -2.299904265e-02f, 9.162873775e-02f, + -8.229436725e-02f, 5.210290477e-02f, 6.507917494e-02f, -3.034902923e-02f, + -4.815986007e-02f, -1.817878895e-02f, 6.782317907e-02f, -1.507004946e-01f, + 5.460089073e-02f, 1.095713302e-01f, 3.887095675e-02f, 1.790561527e-01f, + 1.168626249e-01f, 6.181957200e-02f, 2.876434848e-02f, 8.352554403e-03f, + 6.747119129e-02f, 5.519600213e-02f, 8.616814017e-02f, -8.953754604e-02f, + 8.231602609e-02f, -7.135648280e-02f, 2.956266887e-02f, 5.914049223e-02f, + 2.592384443e-02f, 1.162209809e-01f, -3.441529581e-03f, -5.339860916e-02f, + 7.348340750e-02f, -3.423701972e-02f, 1.040590331e-01f, -7.282491773e-02f, + -7.778059691e-02f, -9.374946239e-04f, 1.895603165e-02f, -9.700331092e-02f, + -1.748762466e-02f, 9.350145608e-02f, 7.836727053e-02f, 1.583172940e-02f, + 2.283175103e-02f, -1.202064827e-01f, 3.812853247e-02f, -2.124892622e-01f, + -6.963219494e-02f, 8.662057109e-03f, -6.358692795e-02f, -5.561193824e-02f, + -9.051082283e-02f, 7.415635884e-02f, 1.003500773e-03f, 3.565434739e-02f, + 3.686881973e-04f, 1.139580160e-01f, -7.301561534e-02f, -2.161343694e-01f, + 2.630556934e-02f, 3.623280302e-02f, -9.172330052e-02f, 3.027833439e-02f, + 1.026029661e-01f, 2.685156651e-02f, -5.716276169e-02f, -4.835856333e-02f, + -5.868358165e-02f, -1.066574380e-01f, 1.799663343e-02f, -1.437610090e-01f, + -7.143764198e-02f, -7.713884860e-02f, 1.082903333e-02f, -6.896480173e-02f, + -6.284247339e-02f, 1.674261391e-01f, 5.971907824e-02f, 8.034041151e-03f, + -8.352930844e-02f, -1.346110553e-01f, -5.183364823e-02f, -9.623192996e-02f, + 6.844395399e-02f, -8.713627607e-02f, 9.223446250e-02f, 4.634061828e-02f, + -2.354457974e-02f, -1.233249754e-01f, -1.981565058e-01f, 3.715365427e-03f, + 6.931402534e-02f, -1.461622771e-03f, 6.007376686e-02f, -3.742065281e-02f, + -4.379451275e-02f, 5.276159197e-02f, 9.577563033e-03f, 6.406237185e-02f, + 1.281193644e-01f, -2.524798512e-01f, 1.861269213e-02f, 1.525021391e-03f, + -4.606329277e-02f, -1.625745296e-01f, -5.260096118e-02f, -2.268893868e-01f, + 4.565449059e-02f, 1.067102551e-01f, -7.226180285e-02f, 7.608345896e-02f, + 4.279283807e-02f, 4.123691842e-02f, 1.535509229e-01f, 1.612446457e-01f, + -2.885179967e-02f, -8.792970330e-02f, 2.904610522e-02f, 9.507282823e-02f, + -5.419031531e-02f, 1.089362800e-01f, -9.110004455e-02f, -5.945701897e-02f, + 1.869895682e-02f, -3.825520352e-02f, -6.922221277e-03f, -3.834066913e-02f, + -1.307760477e-01f, 1.764738262e-01f, -2.066223882e-02f, 1.805219352e-01f, + 5.664195493e-02f, -2.186017344e-03f, 9.645597637e-02f, 6.796800345e-02f, + 1.367553025e-01f, 4.858647473e-03f, 8.079310507e-02f, -4.963031784e-02f, + -3.785747290e-02f, 1.150503308e-01f, 9.401886910e-02f, -5.795085337e-03f, + 6.926850230e-02f, -1.234096661e-01f, 1.785317510e-01f, 3.484706208e-02f, + 6.737272255e-03f, -5.958551541e-02f, -9.838644415e-02f, 9.406109154e-02f, + -2.863739990e-02f, -2.019238472e-02f, 2.017010003e-02f, -1.101202592e-01f, + 2.653625607e-02f, 1.138090715e-01f, 1.059828233e-02f, -1.574404538e-01f, + 2.187960781e-02f, -1.476477981e-01f, -1.074912250e-01f, 1.607023031e-01f, + 8.272057772e-02f, 2.027837187e-02f, -1.506126821e-01f, -3.865558282e-02f, + 3.506716341e-02f, -9.546533227e-02f, 4.560735449e-02f, 1.056749932e-02f, + 3.174508736e-02f, -5.896022543e-02f, 1.000156328e-01f, 5.000555143e-02f, + 2.939169295e-02f, 1.026038378e-01f, 6.055767834e-02f, 9.752515703e-02f, + 5.993418768e-02f, -5.157238245e-02f, 1.278012991e-01f, -2.105292678e-02f, + 3.460161015e-02f, 5.941455439e-02f, 7.793253660e-02f, 1.355678290e-01f, + 2.014222555e-02f, 1.317917705e-01f, -1.276017278e-01f, 2.620783262e-02f, + 1.490755677e-01f, -8.312223852e-02f, 7.074452192e-02f, 8.322761953e-02f, + -1.635475270e-02f, 8.052833378e-02f, 9.769854695e-02f, -1.451152563e-01f, + 1.056447551e-01f, 6.196412817e-02f, 9.007920511e-03f, -9.342531860e-02f, + 5.993535277e-03f, -1.606153883e-02f, 7.860674709e-02f, -1.958072931e-02f, + 5.323566869e-02f, -5.209313706e-02f, -1.939361217e-03f, -8.541721851e-03f, + 1.155665666e-01f, 1.665282808e-02f, -1.620665193e-01f, 4.264103994e-02f, + -1.298844814e-02f, 4.057233781e-02f, 9.986852854e-02f, -5.062259361e-02f, + 4.471462965e-02f, -3.384929150e-02f, 1.359149218e-01f, 6.619213149e-03f, + 9.757694788e-03f, 1.442037523e-01f, -2.848213539e-02f, 9.006492794e-02f, + 3.804990277e-02f, 2.133414522e-02f, 1.040932313e-01f, -9.022406489e-02f, + 4.984262213e-02f, 7.340566069e-02f, -1.064180434e-01f, 2.155689597e-01f, + 1.834654436e-02f, 2.201851644e-02f, -6.092439219e-02f, 8.096870035e-03f, + 7.854674011e-02f, 7.112898678e-02f, 4.622793570e-02f, 4.016216472e-02f, + -8.545390517e-02f, 9.454012662e-02f, 1.942241788e-01f, 8.032015711e-02f, + 2.896170132e-02f, -1.029081941e-01f, -2.280469090e-01f, -5.491732154e-03f, + 8.094461262e-02f, -3.990776464e-02f, 1.190094426e-01f, -1.839923300e-02f, + 2.821867540e-02f, 3.947360069e-02f, -1.667136550e-01f, -2.065252960e-01f, + 1.191649586e-02f, -1.236822903e-01f, 1.456219852e-01f, 9.445703030e-02f, + 1.423623040e-02f, -2.187531814e-02f, 1.023597419e-01f, 1.376008522e-02f, + -1.369074080e-02f, -4.744907469e-02f, -5.937418342e-02f, 6.567398668e-04f, + -3.766210377e-02f, 3.202543035e-02f, -5.664343759e-02f, -1.079997867e-01f, + 1.120836213e-01f, -1.867368817e-01f, -7.391867787e-02f, -5.765060708e-02f, + -9.725771844e-02f, 5.230674520e-02f, 1.686874926e-01f, -4.626178369e-02f, + 3.098249994e-02f, -8.741644025e-02f, -5.594921857e-02f, 3.972944990e-02f, + -4.584895074e-02f, -8.342522383e-02f, 3.584436700e-02f, 9.951250628e-03f, + -3.126008809e-02f, -8.661715686e-02f, -1.785423309e-01f, -1.247909963e-01f, + -1.238166466e-01f, 1.338897645e-01f, 3.325298429e-02f, -3.463192144e-03f, + 7.548627257e-02f, -1.147420108e-01f, 1.331488788e-01f, -3.221718222e-02f, + 2.125883102e-02f, -5.267679691e-03f, -1.945669651e-01f, -1.370344311e-01f, + -1.040818840e-01f, -1.182607375e-02f, -8.929405361e-02f, 7.166065276e-02f, + 1.724228822e-02f, 4.418800771e-02f, 1.231877729e-01f, -9.025099687e-03f, + -4.306084290e-02f, -3.357896209e-02f, 9.466525912e-02f, -1.161582768e-01f, + 7.037898153e-02f, 5.376229063e-02f, -4.222822934e-02f, -9.524332732e-02f, + -7.139349729e-02f, -2.454207838e-02f, 1.158195436e-01f, -2.535708249e-03f, + 1.658434980e-02f, 5.650838837e-02f, -2.925916761e-02f, 9.291992337e-02f, + 1.525671687e-02f, -3.488343209e-02f, 6.147390231e-02f, 9.542690217e-02f, + -7.735458761e-02f, 3.561853617e-02f, 5.434989929e-02f, -4.842383415e-02f, + -3.574964404e-02f, -1.436947882e-01f, -1.894791871e-01f, 4.488387331e-02f, + 7.654731721e-02f, -1.692078076e-02f, 8.009644598e-02f, 1.426870674e-01f, + 1.058709621e-01f, 3.137886897e-02f, 4.711005837e-03f, 8.400815725e-02f, + -3.588235006e-02f, 6.816957891e-02f, 1.034405902e-01f, 3.810063750e-02f, + -3.076123260e-02f, 4.664076492e-02f, 8.464687318e-02f, 9.618522227e-02f, + -9.779807180e-03f, 2.203525417e-02f, 1.844073832e-01f, 1.173916087e-01f, + 1.495459229e-01f, -5.324447900e-02f, 2.453126945e-02f, 1.138910353e-01f, + -1.391500887e-02f, 1.382702440e-01f, -2.332415618e-02f, -1.023557782e-01f, + -1.103880778e-01f, 3.329312429e-02f, 3.331006318e-02f, 1.146775782e-01f, + -6.526832283e-02f, 8.349974453e-02f, -5.679279938e-02f, 1.453337446e-02f, + 4.686039686e-02f, 1.288380940e-02f, -2.088630199e-01f, 1.443638839e-02f, + 8.483765274e-02f, 1.200354192e-02f, 2.603176236e-01f, -5.441701505e-04f, + -1.184962317e-01f, 2.373136766e-02f, -9.192032367e-02f, 7.479766756e-02f, + -8.230362833e-02f, 7.980097830e-02f, -6.146914884e-02f, -1.382569373e-01f, + 1.435972005e-01f, 4.418641329e-02f, 3.766947612e-02f, 6.126837432e-02f, + 1.428244356e-02f, -9.816828184e-03f, -1.080731302e-01f, -8.912479877e-02f, + -6.523139030e-02f, 1.225117296e-01f, 1.853099838e-02f, 1.775860637e-01f, + -1.158562377e-01f, -1.371558160e-01f, 1.013847217e-01f, -4.155210033e-02f, + 3.389534308e-03f, -2.608823217e-02f, 4.552852362e-02f, 2.274009585e-02f, + 1.123239771e-01f, -8.591048419e-02f, 2.763145790e-02f, 5.629366264e-02f, + -3.744802997e-02f, 4.463486373e-02f, -2.717488445e-02f, -3.769527748e-02f, + 1.939138770e-02f, -1.019195169e-01f, 4.815649986e-02f, 5.513893813e-02f, + 4.603909701e-02f, -3.800234990e-03f, 7.755363733e-02f, 1.541929841e-01f, + -2.146918699e-02f, 3.351471946e-02f, -4.779200628e-02f, 1.925279573e-02f, + -5.835679173e-02f, -2.326205745e-02f, 8.600451052e-02f, -1.237427965e-01f, + -1.352130249e-02f, -9.994710237e-02f, 4.174763709e-02f, 1.679609865e-01f, + -3.938692063e-02f, -8.510367572e-02f, 6.754124165e-02f, -5.952406675e-02f, + 1.105782315e-01f, 1.456930786e-01f, 6.126133958e-04f, -1.110643744e-01f, + -9.124717116e-02f, 9.715854190e-03f, -5.530084297e-02f, 2.006447874e-02f, + -1.664771885e-02f, 1.381503940e-01f, 9.991192818e-02f, -1.165774390e-01f, + 2.988789603e-02f, -1.872577071e-01f, 1.047544703e-01f, 2.162112668e-02f, + 1.306192856e-02f, -7.172418758e-03f, -1.486666054e-01f, -6.914300472e-02f, + -1.323825121e-02f, 4.764401540e-02f, 8.678025007e-02f, 5.527492240e-02f, + -1.632057577e-01f, -1.372343004e-01f, -3.616517410e-02f, 1.748070419e-01f, + -1.044565663e-01f, 9.257027507e-02f, 5.975426361e-02f, 1.279883385e-01f, + -1.246360019e-01f, 8.556992561e-02f, 6.170082465e-02f, 2.418542467e-02f, + 6.621341407e-02f, 2.005690783e-01f, 9.453509748e-02f, 6.945944577e-02f, + -5.679750070e-02f, 1.376822889e-01f, -7.828060538e-02f, 2.558209188e-02f, + -7.374466956e-02f, -4.537865147e-02f, 3.562708944e-02f, -6.286581606e-02f, + 1.604976654e-01f, -6.948556006e-02f, 9.633596241e-02f, -1.306015402e-01f, + -2.084934339e-02f, -4.392990470e-02f, -1.568102986e-01f, 1.155435368e-01f, + -9.102554061e-03f, 1.740542352e-01f, 4.053457454e-02f, 5.042428151e-02f, + 1.565307938e-02f, -1.157147586e-01f, 1.576774567e-01f, -3.700927272e-02f, + 4.096486664e-04f, -2.726163482e-03f, 4.596758261e-02f, 1.081331149e-01f, + 4.452948272e-02f, -7.600817829e-02f, -5.704680085e-02f, 3.744435962e-03f, + 6.148428842e-02f, 8.826714754e-02f, 1.432883888e-01f, -7.807884365e-02f, + -1.472618729e-01f, -1.207365189e-02f, 1.119226441e-01f, -7.582665235e-02f, + 5.633096397e-02f, -9.152564220e-03f, 9.551082551e-02f, -6.875512004e-02f, + 4.158756696e-03f, -2.189411782e-02f, 1.072869264e-02f, -1.918569393e-02f, + 2.465673089e-01f, -1.290652454e-01f, -4.150203988e-02f, -7.447785139e-02f, + -6.971974671e-02f, 9.533073008e-02f, -5.548080429e-02f, 9.817916155e-02f, + 8.169133961e-02f, -5.652973428e-02f, -7.920940407e-03f, -2.528796159e-02f, + -1.308332384e-01f, -1.229421422e-01f, -3.513631225e-02f, -6.454192847e-02f, + 3.379959986e-02f, 5.070615560e-02f, 1.365869120e-02f, -1.703185588e-01f, + -2.269730419e-01f, -2.554292791e-03f, 1.257544309e-01f, 1.107269675e-01f, + 1.528991312e-01f, 1.387658566e-01f, -3.074068017e-02f, -3.055942617e-02f, + 6.923395675e-03f, -7.021407038e-02f, 1.476492546e-02f, -1.426420361e-01f, + 2.225500159e-02f, -1.494038291e-02f, -5.982247368e-02f, -1.142628267e-01f, + -1.615898013e-01f, 4.305749387e-02f, -2.067890391e-02f, 1.235263329e-02f, + -1.071599051e-01f, 2.877026796e-02f, 6.324860454e-02f, -2.933404874e-03f, + -4.518363997e-02f, 3.436466795e-04f, -9.168007225e-02f, 7.714794576e-02f, + 2.240823768e-02f, 8.549109846e-02f, -2.306891792e-02f, 6.603576243e-02f, + -4.932361469e-02f, -1.513551921e-02f, -3.589524701e-02f, 3.872887045e-02f, + 1.954832301e-02f, -2.137695625e-02f, 1.351720691e-01f, 2.283453941e-02f, + -1.145591065e-01f, -1.308654994e-01f, 8.635503240e-03f, 3.149181232e-02f, + -2.019722909e-01f, -1.694249362e-01f, 5.472098291e-02f, -6.736948341e-02f, + 6.971968710e-02f, 3.594250605e-02f, -1.526459679e-02f, -8.067919314e-02f, + 1.531640347e-02f, -5.810615048e-02f, 1.280654222e-01f, -6.475153565e-02f, + 1.062979084e-02f, 5.040192977e-02f, 1.880276650e-01f, -7.793822885e-02f, + -1.100636572e-01f, -3.230742365e-02f, -6.470099837e-02f, -1.309756562e-02f, + -5.534812436e-02f, 1.678794809e-02f, -5.580049753e-02f, 4.319389164e-02f, + -6.518861651e-02f, 1.296403557e-01f, 1.435709093e-02f, -6.519657373e-02f, + 3.639515862e-02f, -1.204008982e-01f, -4.461875185e-02f, -1.711243987e-01f, + -1.804884970e-01f, -5.129263923e-02f, 1.725918613e-02f, -1.492238976e-02f, + 1.852500588e-01f, -7.215750962e-02f, -1.187179908e-01f, 2.241674066e-02f, + 1.689287275e-01f, -6.316670030e-02f, -8.207449317e-02f, -4.540602118e-02f, + 6.539245695e-02f, 2.589344233e-02f, 8.537326008e-02f, -5.340754613e-02f, + 9.943346493e-03f, 8.741401136e-02f, 1.045354530e-01f, 5.727007985e-02f, + -1.007907391e-01f, 4.591096938e-02f, 1.586720943e-01f, -1.870240085e-02f, + -3.413624689e-02f, 1.219522506e-01f, -2.142477222e-02f, 1.388697140e-02f, + 9.077788889e-02f, -1.998776793e-01f, 2.649583668e-02f, 3.566546366e-02f, + -6.427457090e-03f, -3.934779018e-02f, -4.249082133e-02f, -5.621693283e-02f, + 1.394648701e-01f, -7.704078406e-02f, 3.236653283e-02f, -1.612762921e-02f, + -1.327072680e-01f, 1.348348707e-02f, -1.478436440e-01f, 1.294360906e-01f, + 1.942116581e-02f, 9.167722613e-02f, 1.962332428e-02f, -1.297047585e-01f, + -9.240941703e-02f, 1.013445333e-01f, 6.511746440e-03f, 6.655533612e-02f, + -1.852534898e-02f, 1.894263327e-01f, -1.192191499e-03f, -9.004606909e-06f, + -6.611967087e-02f, -6.114414334e-02f, -3.513045143e-03f, -5.406129360e-02f, + 2.760904469e-02f, 5.524042621e-02f, -1.002355218e-01f, -5.384946242e-02f, + -5.300365761e-02f, -1.180639714e-01f, -1.859774739e-01f, 1.563337445e-02f, + -9.976040572e-02f, 3.647539392e-02f, -9.467588365e-02f, -8.620712161e-02f, + -5.189357698e-02f, 1.211353019e-01f, 4.748702794e-02f, 1.257174015e-01f, + -3.861990944e-02f, 2.253751270e-02f, -1.042541042e-01f, 1.046846136e-01f, + 5.404058099e-02f, 3.358882293e-02f, 1.005497351e-01f, -1.573302746e-01f, + -1.499312669e-01f, 1.701414436e-01f, 1.407155395e-01f, -1.220797524e-01f, + -7.324789651e-03f, -5.079934001e-02f, 3.422820568e-02f, 1.734447479e-02f, + 9.975885600e-02f, 1.040796563e-01f, -8.231017739e-02f, -6.384374201e-02f, + -9.329724312e-02f, 4.939796031e-02f, 7.728166878e-02f, 1.141203567e-01f, + -1.039268747e-01f, -3.863651678e-02f, -1.036059484e-01f, 7.059407234e-02f, + -1.007282212e-01f, -7.433447987e-02f, 2.193463035e-02f, 8.219923824e-02f, + 3.313359246e-02f, -1.183114294e-02f, -3.048976511e-02f, 5.728260148e-03f, + -9.964726865e-02f, 1.030443013e-01f, 4.408211634e-02f, -1.102541983e-01f, + -8.511465788e-02f, -1.073177233e-01f, -7.083084434e-02f, 1.131355837e-01f, + -3.114149719e-02f, 1.157757044e-01f, 1.301984042e-01f, -5.142520182e-03f, + 1.667050868e-01f, 3.022297658e-02f, 1.809329167e-02f, -8.682858944e-02f, + -1.643128134e-02f, -1.849162579e-01f, 7.429081202e-02f, 7.721727341e-02f, + -1.233822107e-02f, -1.969281733e-01f, -2.286814898e-02f, -1.353490055e-01f, + -1.012704149e-02f, 4.408659413e-02f, -1.074915379e-01f, 1.058058068e-01f, + -4.998610914e-02f, 3.776816186e-03f, 7.693544030e-02f, 5.485928804e-02f, + -9.184148163e-02f, 1.105305925e-01f, 1.228549331e-01f, -4.441532120e-02f, + -3.972866386e-02f, -1.623937786e-01f, -6.523287296e-02f, 2.568354644e-02f, + 1.353464276e-01f, -8.811144158e-03f, -3.968577832e-03f, 3.834085655e-04f, + -2.075765468e-02f, 5.366161838e-02f, -1.537121236e-01f, 1.112841591e-01f, + -2.984037856e-03f, 1.551808566e-01f, 4.587845504e-02f, -3.459659219e-02f, + -8.255058527e-02f, -4.399750009e-02f, 9.196910076e-03f, -4.018419981e-02f, + -1.060669497e-01f, 2.551176352e-03f, 9.435070679e-03f, -6.607404351e-02f, + 3.342060000e-02f, 9.127252549e-02f, -7.347970270e-03f, 1.001084223e-02f, + -5.320940912e-02f, -2.295248955e-02f, 1.040755287e-01f, 3.140140325e-02f, + 1.195821911e-01f, -1.816688925e-01f, 6.413532794e-02f, -1.329207867e-01f, + 1.090989169e-02f, -3.004726488e-03f, 8.912485093e-02f, -5.181320757e-02f, + 3.585069999e-02f, 2.125910297e-02f, 5.365489796e-02f, 7.788441330e-02f, + -2.126569152e-01f, 1.382891983e-01f, 9.499494731e-02f, -1.019133534e-02f, + -3.219182044e-02f, -1.223136410e-01f, -7.477255911e-02f, 1.048475057e-01f, + -1.418523043e-01f, 8.121625334e-02f, 8.166810125e-02f, -8.993018419e-02f, + -7.191344630e-03f, -8.366946131e-02f, -7.391086966e-02f, 1.921056360e-01f, + 9.225264937e-02f, 1.068078727e-01f, 9.751276672e-02f, 1.501556188e-01f, + -1.678169146e-02f, -6.852451479e-04f, 3.118644282e-02f, 1.390984505e-01f, + 2.110829800e-01f, -8.489137143e-02f, -2.394461073e-02f, -4.128526151e-02f, + -1.730520651e-02f, 5.479644984e-03f, 7.644812763e-02f, 3.980068490e-02f, + -1.064920276e-01f, 6.735242438e-03f, -2.118098140e-01f, -1.209180895e-02f, + -8.234902471e-02f, -1.832143031e-02f, 5.913197249e-02f, -1.670657657e-02f, + 1.468655020e-01f, 3.124381602e-02f, -8.488508314e-02f, -1.043638438e-01f, + 1.049583405e-01f, -3.527685627e-02f, -5.019995943e-02f, 1.118770242e-01f, + 5.713275075e-02f, 1.885411516e-02f, -2.153941803e-02f, 9.964037687e-02f, + -1.289066523e-01f, 1.243707910e-01f, 9.157792479e-02f, -8.447023481e-02f, + -4.659234360e-02f, -8.178677410e-03f, 7.498086244e-02f, 3.197366744e-02f, + 2.673314326e-02f, -2.674719989e-01f, -5.180814490e-02f, 5.540257785e-03f, + 5.821209028e-02f, 1.182550099e-03f, 3.194395453e-02f, 1.302333474e-01f, + 3.505235165e-02f, 9.664970450e-03f, -2.336202562e-02f, -1.801637746e-02f, + 6.684884429e-02f, 1.468886435e-01f, -1.089783832e-01f, -9.239725769e-02f, + 3.768320754e-02f, -2.015639655e-02f, 2.396985656e-03f, 2.279879712e-02f, + -9.226028621e-02f, -2.311671525e-01f, 1.931283325e-01f, -1.241285261e-02f, + 2.150136977e-01f, -4.989400133e-02f, 1.028379146e-02f, -1.496037841e-01f, + 1.206309441e-02f, 4.180286452e-02f, -2.173013613e-02f, 7.692027837e-03f, + 2.999601699e-02f, 7.892883569e-02f, -3.522342443e-02f, 1.288564652e-01f, + 2.048185654e-02f, 1.114784256e-01f, 9.078998864e-02f, 1.837585121e-02f, + -2.506923303e-02f, 2.066091634e-02f, -4.117407650e-02f, 1.015299559e-01f, + -6.039474905e-02f, 5.488338321e-02f, 4.378524423e-02f, 1.363015026e-01f, + 1.728013903e-02f, 4.640699551e-02f, -1.138031110e-02f, -4.524986446e-02f, + 1.195237562e-01f, -1.285352111e-01f, 8.793121576e-02f, 4.850063007e-03f, + -1.250751317e-01f, 1.037362665e-01f, -1.616832614e-02f, -3.617347777e-02f, + 8.294287324e-02f, 2.081064321e-02f, -6.706482917e-02f, -2.681217529e-02f, + 5.086003244e-02f, -2.446681708e-01f, -1.548848748e-01f, 4.560215026e-02f, + -9.293179214e-02f, -1.652497426e-02f, -1.530598290e-02f, 2.006446943e-02f, + 1.484223828e-02f, -6.347417831e-02f, 2.829069854e-04f, 5.834994465e-02f, + 8.649121225e-02f, -5.798770115e-02f, 4.135296494e-02f, -4.208221287e-02f, + -5.553217232e-02f, 4.793880880e-02f, -8.752787113e-02f, -1.498454809e-01f, + 6.306055933e-02f, 1.744862646e-01f, 5.720608681e-02f, -1.271603703e-01f, + 1.123372093e-01f, 1.178204431e-03f, -4.878811166e-02f, 5.383120850e-02f, + -9.890779853e-02f, -1.541603059e-01f, 7.493679971e-02f, 5.683822185e-02f, + -4.222354665e-02f, 6.760349870e-02f, 1.400996596e-01f, 1.936403848e-02f, + 3.786983341e-02f, -7.956679165e-02f, -1.133677140e-01f, 8.174180239e-02f, + 4.558122158e-02f, -1.836150885e-01f, -9.832974523e-02f, 4.533445463e-02f, + 1.037133764e-02f, 4.434443265e-02f, 5.414638296e-02f, 3.063843818e-03f, + -4.982243478e-02f, 6.377306581e-02f, 1.978471428e-01f, 2.241400070e-02f, + 1.010043398e-01f, -4.262726754e-03f, -1.083450839e-01f, -7.376623154e-02f, + -8.564122766e-02f, 1.716430932e-01f, 2.939210646e-02f, 3.779935837e-02f, + -4.928847402e-02f, 1.055536047e-02f, 1.748394407e-02f, -9.371804073e-03f, + 7.640285045e-02f, -2.318178304e-02f, -8.606320620e-02f, -8.297869004e-03f, + 5.951674655e-02f, -1.195295677e-01f, -1.698456556e-01f, -7.605927438e-02f, + 8.939195424e-02f, -8.068051189e-02f, 1.161952093e-01f, 4.683650285e-02f, + -2.687717089e-03f, -1.321974210e-02f, 2.106940188e-02f, -2.645769855e-03f, + -4.271391779e-03f, -3.358947858e-02f, 1.413960196e-02f, -7.260569371e-03f, + -5.111883953e-02f, 1.362760663e-01f, -2.093853503e-01f, -1.431036890e-01f, + 1.663372070e-01f, 5.955504999e-02f, -8.571069688e-02f, -5.668937415e-02f, + 8.608359843e-02f, 6.865270436e-02f, 5.781643465e-02f, 7.805754244e-02f, + 4.339605570e-02f, -1.858327389e-01f, 1.043222025e-01f, 1.764163077e-01f, + 6.131864712e-02f, 3.082235903e-02f, -2.842055261e-02f, 1.095353998e-02f, + -1.389583107e-02f, -2.179349028e-02f, 1.600287110e-01f, 4.264631774e-03f, + -3.806243092e-02f, 9.278026968e-02f, 1.090422124e-01f, -9.110168368e-02f, + -7.715934189e-04f, 1.414595637e-02f, 5.575679615e-02f, 1.616453379e-02f, + 5.382291600e-02f, -8.933914453e-02f, -1.281504929e-01f, 1.537353694e-01f, + -1.200135052e-01f, 6.171387061e-02f, -3.559599444e-02f, -7.075449079e-02f, + 9.847413749e-02f, -6.490395218e-02f, 3.291174397e-02f, 2.349554189e-02f, + -1.134535223e-01f, 5.934648961e-02f, 6.103274599e-02f, 9.024404734e-02f, + -3.428286873e-04f, 6.118452549e-02f, -1.057837233e-01f, 1.272908002e-01f, + 1.837239116e-01f, 6.901741773e-02f, 1.702238224e-03f, 7.626406103e-02f, + -7.299673557e-02f, -1.526223272e-01f, 2.163238823e-04f, 3.456674144e-02f, + -4.764202982e-02f, -9.631553292e-02f, 1.034482643e-01f, -2.751388215e-02f, + 6.416746974e-02f, 1.140019968e-01f, 2.694287710e-02f, -8.597312868e-02f, + -1.604403406e-01f, -1.534047723e-01f, 1.027664021e-01f, -4.540031031e-02f, + 2.084710402e-03f, 9.954312444e-02f, 1.529514045e-01f, -9.531276673e-02f, + -9.820103645e-02f, -1.010198444e-01f, -2.210598812e-02f, 1.881304979e-01f, + -8.556600660e-03f, -7.943657786e-02f, -1.488008052e-01f, -4.131377861e-02f, + 6.028602272e-02f, 1.443971097e-01f, -1.603268832e-02f, -8.163854480e-03f, + -5.763586238e-02f, 1.525596678e-01f, -6.475942582e-02f, 1.277110428e-01f, + 3.326978534e-02f, -1.332255155e-01f, 6.026708335e-02f, -1.369430423e-01f, + 2.750727721e-02f, 5.299338605e-03f, 7.976084948e-02f, -1.461299323e-02f, + -1.075268090e-01f, 2.241611667e-02f, 5.276694521e-02f, -1.066073310e-02f, + -7.544225454e-02f, -6.494892389e-02f, 2.796448767e-02f, -5.481872708e-02f, + 1.557399519e-02f, -5.275559053e-02f, 4.942834005e-02f, 9.713339061e-02f, + -1.551082283e-01f, 1.827319115e-01f, -3.297948092e-02f, -1.973498799e-02f, + -6.631008536e-02f, 2.765528485e-02f, -1.967451721e-01f, -1.552558988e-01f, + -1.780364662e-02f, -1.582681434e-03f, -1.051289663e-01f, -1.722312272e-01f, + 4.074930400e-02f, 5.647718161e-02f, -5.551446229e-02f, 8.726917952e-02f, + 1.613515168e-01f, -3.369386867e-02f, 3.455037251e-02f, -3.658617660e-02f, + 8.542683907e-03f, -2.031620294e-01f, -2.566918135e-01f, 2.468415648e-01f, + 1.655656286e-02f, -1.326829791e-01f, 4.503392056e-02f, -8.933668584e-02f, + 1.217691526e-01f, -1.764087193e-02f, -6.319130212e-02f, -1.384500973e-02f, + 1.802101135e-01f, 4.684339464e-02f, 1.181594282e-01f, 1.330601424e-02f, + 7.800602913e-02f, -3.235735372e-02f, 7.289580256e-02f, 2.837100998e-02f, + -1.565297949e-03f, -3.314681584e-03f, -7.914405316e-02f, 3.058613278e-02f, + -7.708833436e-04f, 6.269013137e-02f, 2.317796461e-02f, 5.847487971e-02f, + 1.207639836e-02f, -2.248958498e-02f, -4.170548916e-02f, 9.982997552e-03f, + -1.383313984e-01f, 8.993907273e-02f, -6.653273106e-02f, 5.893139541e-02f, + -5.988406390e-02f, 1.214098856e-01f, 9.839152545e-02f, 3.481470793e-02f, + -1.069924161e-01f, 9.469434619e-02f, 7.886680774e-03f, 1.069461331e-01f, + 7.318963110e-02f, 4.237233102e-02f, -1.124375910e-01f, -1.533570290e-01f, + 8.553840220e-02f, -4.502282292e-02f, -8.946845680e-02f, -1.121126190e-01f, + -5.141801760e-02f, 9.508043528e-02f, 8.271246403e-02f, 7.262656093e-02f, + 5.987034366e-02f, -4.906357452e-02f, 2.376631275e-02f, 9.622824378e-03f, + -1.959964037e-01f, 3.368188441e-02f, 1.638629586e-01f, 1.977038337e-03f, + -4.428313673e-02f, -7.780485600e-02f, -1.532571204e-02f, 8.358635008e-02f, + -1.314831972e-01f, -4.157818109e-02f, 1.416685060e-03f, -1.577107050e-02f, + 8.810935542e-03f, 7.449542731e-02f, 3.685723618e-02f, 1.200976595e-01f, + 1.457258314e-02f, -2.943076938e-02f, 7.057012059e-03f, -6.251389533e-02f, + -1.031206697e-01f, 7.635886222e-02f, -6.827855855e-02f, -6.403806061e-02f, + -3.942292556e-02f, -8.742832392e-02f, 6.425591558e-02f, -7.137911860e-03f, + -1.434289813e-01f, 1.240074858e-01f, -1.864304766e-02f, -5.858461186e-02f, + 3.295817971e-02f, -1.162786186e-01f, 6.491404027e-02f, 9.283442050e-02f, + 1.124773826e-02f, -1.560837775e-01f, 2.004408836e-02f, 3.509742208e-03f, + -1.044055298e-01f, -4.879802093e-02f, 2.342563495e-02f, -1.414168775e-01f, + -6.502098590e-02f, -2.026842162e-02f, -6.910832971e-02f, -3.263042122e-02f, + 1.471493975e-03f, -1.067027450e-01f, 6.851691753e-02f, -1.062628925e-01f, + 3.578237444e-02f, -1.044691429e-01f, -1.240275949e-01f, -9.045887738e-02f, + 5.319671333e-02f, 1.972886920e-01f, -2.480188943e-02f, 3.368592262e-02f, + 5.942734331e-02f, -3.241586685e-02f, -2.117382735e-02f, 1.887103319e-01f, + 7.923192531e-02f, -2.882952429e-02f, -2.313495986e-02f, 2.530926764e-01f, + 1.001437455e-01f, -5.763644353e-02f, 1.786181331e-02f, -1.050006896e-01f, + 1.828709990e-01f, -9.783188999e-02f, 9.048399329e-02f, 1.852094755e-02f, + 1.769506373e-02f, -5.726664141e-02f, 6.760851294e-02f, 6.818344351e-03f, + -8.225358278e-02f, -9.456007928e-02f, -1.099213399e-02f, -1.631463319e-01f, + 2.866776474e-02f, 1.408220083e-01f, -1.014461517e-01f, -7.393786311e-02f, + 5.622610077e-02f, -1.803301722e-01f, -4.092962667e-02f, 6.557318568e-02f, + -7.722702622e-02f, -1.259368286e-02f, -7.584346086e-02f, -1.406340022e-02f, + -1.274402533e-02f, -1.312151086e-03f, 8.394345641e-02f, 1.348421276e-01f, + 4.003836587e-02f, -1.316493005e-01f, -6.686743349e-02f, -1.375027560e-02f, + 1.351129562e-01f, 7.064433396e-02f, 2.965674922e-02f, -8.698072284e-02f, + -1.415420473e-01f, -2.122115716e-02f, -2.472716384e-02f, 2.109437063e-02f, + -2.176662162e-02f, -7.621343434e-02f, -1.718485504e-01f, 5.274451338e-03f, + -1.235406147e-03f, -3.760274127e-02f, -2.625571750e-02f, 1.630154066e-02f, + 5.059701391e-03f, 6.750511471e-03f, -7.635842264e-02f, -1.192653775e-01f, + -4.022402316e-02f, 2.197856642e-02f, 3.311807662e-02f, 6.614132971e-02f, + -6.444591284e-02f, -4.273744300e-02f, 7.665622234e-02f, -1.743205450e-02f, + 1.960226148e-02f, -8.301886916e-02f, -7.566907257e-02f, -8.855114132e-02f, + -6.387761235e-02f, 2.119598985e-01f, 2.091100663e-01f, 5.541416630e-02f, + -8.990025520e-02f, 1.279324293e-01f, 6.192612648e-02f, -5.451005697e-02f, + 1.728013903e-01f, 9.699517488e-02f, -5.661096424e-02f, -1.770466417e-01f, + 8.325053751e-02f, -1.645215228e-02f, 5.963821709e-02f, 3.821917251e-02f, + -1.500853151e-01f, 1.676572263e-01f, 3.881997615e-02f, 4.512922466e-02f, + -6.534202397e-02f, -8.145448565e-02f, -5.820035934e-02f, 2.159983814e-01f, + 2.841359004e-02f, 3.598090261e-02f, 4.125861824e-02f, 3.970803693e-02f, + -3.150980920e-02f, 2.345865034e-02f, -3.007477522e-02f, -1.156694070e-01f, + 8.903612383e-03f, 7.094467431e-02f, 1.426609885e-02f, 3.029913269e-02f, + 1.410654048e-03f, -2.261394076e-02f, 5.782126263e-02f, 3.521994874e-02f, + 2.553118393e-02f, -8.554366976e-02f, 4.735079780e-02f, 1.026913449e-01f, + 1.466784179e-01f, -7.789037377e-02f, -1.247480139e-01f, -1.066286936e-01f, + -5.692519993e-02f, 6.920181215e-02f, -3.288944811e-02f, 4.765429720e-02f, + -4.499843344e-03f, 4.760272428e-02f, -8.801126480e-02f, -2.829361334e-02f, + -7.664966583e-02f, -7.754189521e-02f, 4.003608227e-02f, -2.376666665e-02f, + -1.455259174e-01f, 8.990553766e-02f, -1.538139731e-01f, -4.135252163e-02f, + -4.457508773e-02f, -1.538471412e-02f, -2.555887215e-02f, -6.257878244e-02f, + 2.115659416e-01f, -3.779007867e-02f, 8.574548177e-03f, -2.317333370e-01f, + -1.506129559e-02f, -6.002895534e-02f, -2.926832736e-01f, 1.717119664e-01f, + -3.117436729e-02f, 8.100952208e-02f, -5.964700878e-02f, 3.447066993e-02f, + 4.656527936e-02f, 1.224420816e-01f, -1.133708842e-02f, 1.211590469e-01f, + 4.987590760e-02f, 2.115193009e-01f, -1.405858546e-01f, 9.214115143e-02f, + 1.195948049e-01f, -2.195850015e-02f, 6.132013351e-02f, 5.712429062e-02f, + -5.116083473e-02f, 3.427043557e-02f, 8.106740564e-02f, -1.905342638e-01f, + 4.917734489e-02f, -1.139321458e-02f, 5.087346211e-02f, -3.907802515e-03f, + -3.029060550e-02f, 1.666673422e-01f, 4.396096990e-02f, 8.130175062e-03f, + 4.502316937e-03f, -3.961828724e-02f, 6.581936032e-02f, -4.712165892e-02f, + 6.174737588e-02f, 4.959270358e-02f, 1.043706238e-01f, 1.440837793e-02f, + 7.225596160e-02f, 6.500633061e-02f, -2.589744143e-02f, 6.564767659e-02f, + -1.554328762e-02f, 5.537309125e-02f, -8.373172581e-02f, 1.589570343e-01f, + 1.529179364e-01f, -1.230187789e-01f, -7.826486230e-02f, -6.328912079e-02f, + 8.810135722e-02f, -1.367160678e-01f, 6.705610454e-02f, -6.087412685e-02f, + -8.939252794e-02f, 3.332077339e-02f, 5.103346705e-02f, -1.257811338e-01f, + -1.055414379e-01f, 8.702012151e-02f, -5.123049393e-02f, -2.113438956e-02f, + -7.393328846e-02f, -2.909643389e-02f, -3.466185415e-03f, 1.243217103e-02f, + 8.731336892e-02f, 6.228853390e-02f, -1.683953218e-03f, 1.012495980e-01f, + 1.910099685e-01f, 1.053785533e-02f, -1.089852601e-01f, 1.515809894e-01f, + -8.597292006e-02f, -2.025095373e-02f, -5.472016707e-02f, 8.028609306e-02f, + -6.686769426e-02f, 2.938306890e-02f, 1.417787969e-01f, -8.717385679e-02f, + -1.661268920e-01f, -3.111024946e-02f, 5.362615734e-02f, 3.636461869e-02f, + -5.232845619e-02f, -3.543959931e-02f, 6.520145386e-02f, 4.727523774e-02f, + -1.704317285e-03f, 8.255065233e-02f, -2.050979249e-02f, -5.108738784e-03f, + 1.207084283e-01f, 2.588710934e-02f, -8.229541034e-02f, -1.375058293e-01f, + -7.426293939e-02f, -5.538737029e-02f, -1.754789986e-02f, 1.413497329e-01f, + 9.295897186e-02f, 8.559440821e-02f, -1.906631887e-01f, 3.750431165e-02f, + 9.079084545e-02f, 4.868788272e-02f, -1.171635091e-01f, 5.853810534e-02f, + -9.099928290e-02f, -4.135188460e-02f, 1.083123405e-02f, -5.820458010e-02f, + 7.288125902e-02f, -4.658068717e-02f, 2.241128869e-02f, -1.772452146e-02f, + -1.549293287e-02f, 7.793119550e-02f, -9.095364064e-02f, -1.881847717e-02f, + 3.497984633e-02f, -2.451006696e-02f, -4.397869483e-02f, 3.941547126e-02f, + -4.606916010e-02f, -1.339731961e-01f, -2.099568956e-02f, 4.064268619e-02f, + -1.868361048e-02f, -9.275309741e-02f, -1.096273437e-01f, -1.178413481e-01f, + -6.110917404e-02f, -5.628789589e-02f, 3.725369647e-02f, 1.100687236e-01f, + -1.543602049e-01f, 1.134602800e-01f, -1.238176823e-01f, 1.414358318e-01f, + -3.661486134e-02f, 6.951210648e-02f, -3.256713599e-02f, -1.726014465e-01f, + 1.283928603e-01f, 8.790240437e-02f, -7.175031304e-02f, -6.678796560e-02f, + -5.441486463e-02f, -2.428842895e-02f, -8.275038749e-02f, -3.820046037e-02f, + 1.361277252e-01f, 1.993970759e-02f, 1.476588845e-01f, -9.490051121e-02f, + 2.173394263e-01f, 2.848660015e-02f, -9.243509918e-02f, 1.624346972e-01f, + 6.227928679e-03f, -4.834385961e-02f, -1.343442798e-01f, -8.916354179e-02f, + -3.473021090e-02f, 1.413588822e-01f, 5.688809976e-02f, -1.046628803e-01f, + 1.498580128e-01f, -1.263290793e-01f, -4.676751792e-02f, -6.785792112e-02f, + 3.294781595e-02f, -4.970589280e-02f, -1.283306926e-01f, -1.301982440e-02f, + -9.878132492e-02f, -1.467307843e-02f, -1.841827482e-02f, -1.077581663e-02f, + 8.410410956e-03f, -8.011198044e-02f, 2.293901145e-01f, 8.372376114e-02f, + 6.832627952e-02f, -8.597987890e-02f, 6.646737456e-02f, -4.470992088e-02f, + -8.354055882e-02f, -1.064940467e-01f, 1.329187583e-02f, -3.972449526e-02f, + 3.925916553e-02f, 1.522164196e-01f, -1.584023237e-02f, 1.832385734e-02f, + 5.713807046e-02f, 4.077054095e-03f, -3.112561628e-02f, -6.716427952e-02f, + 9.787557274e-02f, -1.861012541e-02f, 4.849595577e-02f, 7.207705081e-02f, + -1.884783804e-02f, 8.003390580e-02f, -1.218795031e-01f, -1.139330044e-01f, + 3.158721328e-02f, 1.201184690e-01f, -8.820126206e-02f, -6.463437527e-02f, + 1.736563072e-02f, 4.925686866e-02f, 7.668068260e-02f, 2.171288729e-01f, + -7.053182274e-02f, 1.585462317e-02f, 4.399580136e-02f, 1.294622198e-02f, + 6.368406117e-02f, 2.851903997e-02f, 4.122217000e-02f, 7.065957040e-02f, + -6.195819005e-02f, -7.633325458e-02f, 3.573480621e-02f, -1.208998356e-02f, + 2.489979565e-02f, 6.073388085e-02f, 1.737983078e-01f, 1.690564454e-01f, + 9.867615253e-02f, 8.035141975e-02f, -1.132025421e-01f, -1.083561853e-01f, + -3.555616364e-02f, 1.221189182e-02f, 4.579301551e-02f, 1.171354055e-01f, + 1.345829964e-01f, 8.314619958e-02f, -1.985417455e-01f, -4.573902860e-02f, + 5.653965846e-02f, 2.907458460e-03f, -1.163688526e-01f, 8.567928523e-02f, + 3.010838106e-02f, 3.048616834e-02f, -1.144742295e-01f, -1.728329509e-01f, + 2.444194444e-02f, -6.108512357e-02f, 8.309841901e-02f, 2.778069116e-02f, + 7.667104900e-02f, 5.737849697e-02f, -3.927149996e-02f, -3.718630970e-02f, + 3.322927281e-02f, -9.898892045e-02f, 1.035851985e-01f, -1.577587798e-02f, + -1.406815052e-01f, -1.931444556e-01f, 5.260443687e-02f, -3.375395015e-02f, + -2.469128668e-01f, -5.861400813e-02f, -5.286659673e-02f, 6.257623434e-02f, + 6.255165488e-02f, 1.886881515e-02f, -7.970166951e-02f, 5.276430026e-02f, + -1.148414388e-01f, 3.707764670e-02f, 1.133263018e-02f, -2.014637142e-01f, + 7.681063563e-02f, 1.294154860e-02f, -5.428250507e-02f, 1.341174096e-01f, + -1.193097904e-01f, -6.459927559e-02f, -1.600933820e-01f, -1.132814214e-02f, + 1.000579000e-01f, -1.396994144e-01f, -6.720060110e-02f, -1.177560315e-01f, + -3.365287930e-02f, -7.822225988e-02f, -5.111032166e-03f, 4.247425124e-02f, + -2.774900757e-02f, 1.229300946e-01f, 8.994429372e-03f, 1.236402094e-01f, + 1.928232051e-02f, 1.458112057e-02f, 6.609406322e-02f, -2.149200998e-03f, + 1.300617307e-01f, -6.190301105e-02f, 3.457193077e-02f, -8.281335235e-03f, + -3.397468850e-02f, -1.281988993e-02f, 6.777513027e-02f, 1.089697704e-01f, + -7.383248210e-02f, 7.714826614e-02f, -3.351380676e-02f, 3.766100109e-02f, + -1.514243335e-01f, 8.519267291e-02f, 6.305160373e-02f, 1.034212708e-01f, + -6.284963340e-02f, 2.188805193e-01f, 6.214492954e-03f, -8.886042982e-02f, + -7.691679895e-02f, 7.863728702e-02f, -7.801780105e-02f, -8.375729434e-03f, + 7.324832678e-02f, -3.425002843e-02f, 2.460958250e-02f, 1.084985435e-01f, + 8.661675453e-02f, 9.547898918e-02f, 2.246734453e-03f, -4.354873672e-02f, + -6.492835935e-03f, 3.333676979e-02f, 2.410588227e-02f, 6.958587095e-03f, + 4.497111216e-02f, -7.638419420e-02f, -1.189778224e-01f, 3.363538161e-02f, + -9.314662963e-02f, -6.444478035e-02f, 6.865695864e-02f, -2.597777843e-01f, + 1.238480210e-01f, 3.308990970e-02f, 6.701208651e-02f, 4.994482175e-02f, + -6.263642758e-02f, 1.486615688e-01f, 1.561991312e-02f, -1.613072902e-01f, + -1.250892645e-03f, 4.866926000e-02f, -1.340930164e-01f, 1.482702345e-01f, + -2.631356195e-02f, -9.479330480e-02f, -2.496426366e-02f, 1.154059097e-01f, + -1.199486330e-01f, -4.432850704e-02f, 3.537595645e-02f, 1.387980878e-01f, + -8.761310577e-02f, -1.268181205e-01f, -3.892196110e-03f, 2.268732712e-02f, + 1.173347458e-01f, -1.146740317e-01f, 1.991699636e-01f, 1.458250219e-03f, + 1.860880107e-02f, 7.002574950e-02f, -2.404144034e-02f, 7.625891268e-02f, + -4.535569623e-02f, -1.666913778e-01f, 1.347593381e-03f, -4.134547431e-03f, + -3.730988503e-02f, -4.753125086e-02f, 1.990688443e-01f, 1.175669655e-01f, + -1.459785998e-01f, -1.275995523e-01f, 1.365485042e-01f, 1.038156301e-01f, + -5.131122470e-02f, -9.960498661e-03f, 4.886192828e-02f, -5.920559913e-02f, + 3.166322783e-02f, 5.752367899e-02f, -1.338117719e-01f, 7.608824968e-02f, + -6.628915668e-02f, 1.050316077e-02f, 1.141399592e-01f, -1.649950445e-02f, + -1.062501594e-01f, 2.485756576e-02f, -1.671059430e-02f, 1.410022099e-02f, + -2.443199512e-03f, 1.098369583e-01f, 4.737380892e-02f, -5.986503512e-02f, + -3.301764280e-02f, 6.600845605e-02f, -4.422437400e-03f, 9.202982485e-02f, + 3.116426617e-02f, 8.541206829e-03f, 2.485076524e-02f, -2.033596635e-01f, + -8.400472999e-02f, -3.585559130e-02f, -2.287178785e-01f, -1.683115587e-02f, + -1.860479265e-01f, 5.007595569e-02f, -5.630705506e-03f, 1.012566034e-02f, + -3.701142967e-02f, -1.775544696e-02f, -1.038452834e-01f, -1.096769124e-01f, + -8.265559562e-03f, 7.724968344e-02f, -1.680037379e-02f, -7.372382283e-02f, + 1.458873451e-01f, 7.813423127e-02f, -1.711529680e-02f, -7.319991291e-02f, + 9.834846854e-02f, -1.249508038e-01f, 6.425030529e-02f, -3.193320334e-02f, + 8.066482842e-02f, -9.597308189e-02f, 1.448347047e-02f, 5.162575841e-02f, + -1.539455354e-01f, 2.398791350e-02f, -1.231147572e-01f, 4.134470224e-02f, + -6.152030826e-02f, 4.652332887e-02f, -1.129291486e-02f, -1.226398125e-01f, + -9.083189070e-02f, 6.820039451e-02f, 1.355551928e-01f, 8.018171042e-02f, + -3.712047637e-02f, 3.350237384e-02f, 1.287111640e-01f, 2.721254714e-02f, + -8.877459168e-02f, 6.219803914e-02f, -7.419199497e-02f, 5.650423467e-02f, + -3.589088470e-02f, 2.656080201e-02f, -6.797965616e-02f, -1.321339011e-01f, + -1.893607154e-02f, -2.339769006e-01f, -2.848214470e-02f, 1.548243463e-01f, + 4.611229151e-02f, -2.020578599e-03f, -5.388091877e-02f, -1.373606473e-01f, + -1.104752496e-01f, -1.267690361e-01f, 1.073825806e-01f, 2.896361751e-03f, + -1.801026314e-01f, 1.313495487e-01f, 6.421127170e-02f, 6.890954077e-02f, + 2.170092314e-01f, -4.226128012e-02f, -1.146404967e-01f, 6.991635263e-02f, + 3.827812150e-02f, -6.637283415e-02f, -4.754352570e-02f, 6.745301187e-02f, + 6.002783310e-03f, -1.017047092e-01f, 2.083064914e-01f, 1.388246715e-01f, + -1.046694964e-01f, 6.458314508e-02f, -1.134888828e-01f, 7.882898301e-02f, + -4.277997091e-02f, 5.509835109e-02f, -1.458376199e-01f, 6.204487011e-02f, + 3.720677644e-02f, 1.330967806e-02f, -1.209973171e-02f, 7.571882755e-02f, + -5.661635101e-02f, -1.662170980e-03f, -1.991865225e-02f, -7.038456947e-02f, + 1.002722532e-01f, 4.380899668e-02f, 2.003706992e-02f, 4.779414088e-02f, + -3.263199329e-02f, -4.808045179e-02f, 2.639078349e-02f, -5.921936780e-02f, + -4.318975657e-02f, 1.606895030e-02f, -1.790054515e-02f, 6.855557114e-02f, + -1.025861055e-01f, -4.435678199e-02f, 1.662709415e-01f, -1.730288118e-01f, + -1.447959393e-01f, -3.315508366e-02f, -8.097230643e-02f, 1.949443296e-02f, + 6.586021278e-03f, 4.834517092e-02f, 1.175436825e-01f, 1.203817800e-01f, + -8.911395445e-03f, -2.848199569e-02f, 6.514379382e-02f, -2.459068596e-02f, + -5.346611887e-02f, 3.200443462e-02f, 1.852916479e-01f, 3.970759362e-02f, + 3.424334526e-02f, -2.540116757e-02f, 9.777664393e-02f, -2.928397618e-02f, + 3.062779084e-02f, -9.100639075e-02f, 7.806239277e-02f, 7.990648597e-02f, + -1.352400333e-01f, -9.105825424e-02f, 3.681444377e-02f, -1.570436507e-01f, + -3.438565182e-03f, 6.004055962e-02f, -2.409714088e-02f, 1.149195954e-01f, + 5.225373432e-02f, 5.817257334e-03f, -1.059317868e-02f, 1.259253267e-02f, + 1.048140377e-01f, 4.990120977e-02f, -9.853050113e-02f, -4.850896448e-02f, + 8.307387121e-03f, 2.135845125e-01f, -8.728035539e-02f, 7.500089705e-02f, + 2.218397893e-02f, 3.793098405e-02f, -2.057522982e-01f, -3.819089383e-02f, + -5.881745368e-02f, -3.495084867e-02f, -2.926629037e-02f, 6.116900593e-02f, + 6.264273822e-02f, 2.837726474e-02f, 1.680344343e-02f, 1.461347193e-01f, + 1.923553050e-01f, -1.987424493e-02f, 1.467663236e-02f, -8.508767933e-02f, + 1.665396392e-01f, 3.768346086e-02f, 8.560693264e-02f, 1.920954138e-02f, + 1.348711401e-01f, 5.803027749e-02f, 5.366023257e-02f, -1.287200898e-01f, + -7.933943719e-02f, 4.127123579e-02f, 1.593196392e-02f, 5.002296064e-03f, + -9.931517392e-02f, -1.164958850e-01f, 7.742074784e-03f, -6.284818798e-02f, + -7.736726850e-02f, -5.580442771e-02f, -7.017663121e-02f, -7.045356184e-02f, + 1.669055969e-02f, 4.246735200e-02f, 9.595408291e-02f, -1.271465421e-01f, + 1.330059916e-01f, 1.254972816e-01f, 1.009046584e-01f, 6.879005581e-02f, + -1.149820387e-01f, -1.153491214e-01f, 5.380611494e-02f, -7.916706055e-02f, + 1.907492429e-02f, 9.396172315e-02f, 2.209401317e-02f, -9.559866041e-02f, + -8.067759871e-02f, -9.368187189e-02f, -3.463332728e-02f, 3.497277200e-02f, + 7.055290043e-02f, -8.662164211e-02f, 1.264372319e-01f, -1.069074944e-01f, + 1.278453134e-02f, -2.648483030e-02f, 9.906553477e-02f, 1.461637467e-01f, + -3.155382350e-02f, 4.711693525e-02f, 1.116052195e-01f, -1.143417973e-02f, + -1.664977223e-01f, 1.042784229e-01f, -1.084037242e-03f, -1.938269474e-02f, + 5.685358122e-02f, -1.144235805e-01f, 2.542749606e-02f, -8.934786916e-02f, + -1.149400547e-01f, -1.323905438e-01f, 1.023664996e-01f, -1.213669404e-01f, + 1.001238674e-01f, 6.286967546e-02f, 5.447785184e-02f, 1.345982552e-01f, + -1.202039570e-01f, 2.354521155e-01f, 5.329791829e-02f, -6.329785287e-02f, + 5.202880874e-02f, 6.711815298e-02f, -5.925097317e-02f, -6.392218918e-02f, + 4.481387138e-02f, 6.544408947e-02f, 1.172501892e-01f, 1.094113588e-01f, + -8.637710661e-02f, 1.811291440e-03f, -8.093741536e-02f, 4.260784760e-02f, + -1.016996354e-01f, 3.576247022e-02f, 8.265859447e-03f, -2.764667198e-02f, + -1.432352350e-03f, -1.045114174e-01f, -1.527820900e-02f, -2.893659286e-02f, + 5.305341445e-03f, -1.289978176e-01f, -1.231559552e-02f, -6.718675047e-02f, + -9.883928299e-02f, -5.561449565e-03f, -5.800501909e-03f, 3.270310536e-02f, + 5.639677867e-02f, 1.135417372e-01f, 4.560095817e-02f, 3.503682464e-02f, + -2.210055664e-02f, 1.374986619e-01f, -1.034958884e-01f, -6.136678532e-02f, + 1.080449894e-01f, -1.096736789e-01f, -2.028868645e-01f, -7.603412867e-02f, + 3.207510710e-02f, -4.361025617e-02f, -1.494741589e-01f, -2.258089036e-01f, + -1.311514229e-01f, 7.194440067e-02f, 2.710645087e-02f, 8.337356895e-02f, + 2.714281343e-02f, -8.440838754e-02f, 1.919499487e-01f, 2.699262835e-02f, + -2.319379002e-01f, 1.032165289e-01f, 3.618664574e-03f, 1.686616093e-01f, + 2.716538124e-02f, 3.630266711e-02f, -1.282960474e-01f, -1.786109805e-01f, + 8.129842579e-02f, -1.076781452e-01f, 3.125714138e-03f, 1.810256690e-01f, + 1.536040008e-01f, -3.349127993e-02f, 3.997651860e-02f, 1.932883821e-02f, + -3.726030514e-02f, -2.648439817e-02f, -6.226580590e-03f, -1.090307683e-01f, + -4.098831862e-02f, 5.076839030e-02f, -1.719852723e-02f, -4.118093848e-02f, + 3.124318458e-02f, 6.594435778e-03f, -2.479204349e-02f, 5.653542280e-02f, + 7.938917726e-02f, -8.524255455e-02f, 4.596421123e-02f, 4.624081776e-02f, + 1.440216154e-01f, -4.985751584e-03f, 3.367430717e-02f, -7.537234575e-02f, + 6.605382264e-02f, 1.432373971e-01f, 3.119461238e-02f, 2.032198161e-01f, + -2.289314009e-02f, 5.877404660e-02f, 2.618896402e-02f, 2.117803693e-01f, + -4.791347310e-03f, 8.791107684e-02f, 1.716460586e-01f, -7.699254435e-03f, + 6.693640351e-02f, 7.517638057e-02f, 1.062173117e-02f, -1.535368711e-02f, + 5.076467618e-02f, -1.289421618e-01f, 4.106213897e-02f, 2.178146690e-02f, + -7.867879234e-03f, -1.078737155e-01f, 1.541012526e-01f, -3.252274916e-02f, + -5.158987269e-02f, -5.088923033e-03f, 7.717885077e-02f, 3.753531724e-02f, + 1.417538822e-01f, -4.345209152e-02f, 2.214996144e-02f, -1.474000663e-01f, + 1.511171758e-01f, -4.326837137e-02f, -1.270200014e-01f, 4.339973256e-02f, + 1.745898426e-01f, 7.876942982e-04f, 1.098127663e-01f, -1.857519150e-01f, + -4.232797306e-03f, 7.936609536e-02f, -1.204879023e-02f, -8.401440084e-02f, + -9.032972157e-03f, -1.058703065e-01f, -8.886047639e-03f, 9.150702506e-02f, + 8.086325228e-02f, -9.152346104e-02f, 2.207322791e-02f, 3.171449527e-02f, + 1.138640344e-01f, 7.307942957e-02f, -6.503136456e-02f, -1.048625559e-01f, + 6.280064583e-02f, 6.711278111e-02f, -2.422818169e-02f, 1.120827794e-01f, + 1.124978885e-01f, 4.364720359e-02f, -1.509342063e-02f, -1.257002205e-01f, + -7.560999691e-02f, 8.983920515e-02f, -5.406179279e-02f, 1.038874984e-01f, + -3.421074897e-02f, 4.344082624e-02f, -5.220301449e-02f, -6.702737510e-02f, + 1.289948262e-02f, 1.557162125e-02f, 2.738969168e-03f, -1.319744587e-01f, + 7.194732875e-02f, 1.539513469e-04f, -6.049526855e-02f, -1.136595160e-01f, + 3.215648234e-02f, -5.096598342e-02f, -1.424975842e-01f, 1.612815540e-03f, + -1.267296821e-01f, -1.329768300e-01f, 2.491392940e-02f, 2.098909765e-01f, + 1.348785609e-01f, -1.029673889e-01f, 1.607826203e-01f, -2.776656067e-03f, + -1.740808226e-02f, 6.392876059e-02f, -1.796930842e-02f, -2.852296643e-02f, + 1.523728762e-02f, 9.677310288e-02f, 4.750437662e-02f, -6.230820343e-02f, + 7.472623885e-02f, 2.089885436e-02f, -1.718295962e-01f, -6.765972078e-02f, + -3.372302279e-02f, 1.137567088e-01f, -8.145643026e-02f, -1.593269110e-01f, + 2.421863936e-02f, -4.549899697e-02f, -1.425763965e-01f, -4.196938872e-02f, + 1.945583336e-02f, -4.917990789e-02f, 5.743438005e-02f, -1.093158945e-01f, + 6.633278728e-02f, 6.470681727e-02f, 5.314259976e-02f, 8.164279163e-02f, + -1.123812273e-01f, 6.252898276e-02f, 1.871733181e-02f, 5.195666850e-02f, + -2.919789776e-02f, 1.258513238e-02f, 9.436383098e-02f, -8.319102973e-02f, + 8.061690256e-03f, -4.640583694e-02f, -5.452592298e-02f, -2.943115868e-02f, + 3.446696326e-02f, -3.146636114e-02f, -7.288363297e-03f, 1.538612694e-01f, + -2.727204859e-01f, 3.757603001e-03f, 8.509831876e-02f, 4.670992494e-03f, + -1.739460677e-01f, 7.416874170e-02f, 2.975888923e-02f, 6.830086559e-02f, + -8.900164813e-02f, 9.086211026e-02f, -1.224268228e-01f, 1.504948288e-01f, + 4.096973315e-02f, -1.139759123e-01f, -4.314354807e-02f, 5.541870371e-03f, + -6.302924361e-03f, 3.374677384e-03f, -5.194770545e-02f, -5.357431620e-02f, + -5.356597155e-02f, 2.573134191e-02f, 6.595613807e-02f, -4.290152714e-02f, + -1.007803306e-01f, 1.277253926e-01f, 1.143007129e-01f, -5.155717582e-02f, + 5.873959512e-02f, 1.269229501e-02f, -4.272107780e-02f, 4.311681911e-02f, + 7.368566841e-02f, 6.335149705e-02f, -5.834340304e-02f, 8.462496847e-02f, + 1.707106829e-01f, -9.731055051e-02f, -1.121369377e-02f, -1.208504662e-01f, + 2.070607990e-02f, -1.374249440e-02f, 1.074853316e-01f, 3.122634627e-02f, + -7.659993321e-02f, 8.184764534e-02f, 6.538884714e-03f, 9.811666608e-02f, + 2.014974505e-01f, -7.483029366e-02f, 9.016100317e-02f, -8.084096014e-02f, + -1.611611620e-02f, 2.577964030e-02f, -2.458292805e-02f, -4.191972688e-02f, + 7.646415383e-02f, -7.175876293e-03f, 1.160261482e-01f, -5.582836643e-02f, + 5.422842130e-02f, -1.868124902e-01f, -9.588150308e-03f, 1.021522135e-01f, + -1.227693781e-01f, 1.245426238e-01f, 1.213897839e-01f, 4.444422200e-02f, + 1.343405545e-01f, 1.269596219e-01f, 5.991362035e-02f, -7.732054591e-02f, + -2.461367100e-02f, 9.411807358e-02f, -6.650152802e-02f, 1.528936028e-01f, + -7.062833011e-02f, 1.525224298e-01f, 2.377587836e-03f, 4.162798822e-02f, + -2.652100846e-02f, 3.317546099e-02f, -1.719488502e-01f, 3.968224674e-02f, + 3.417033330e-02f, 2.628072537e-02f, -1.582913846e-02f, -1.239781678e-01f, + -7.767396420e-02f, 7.655595243e-02f, -8.074796945e-02f, 7.487180829e-02f, + -2.378597856e-02f, 1.414361149e-01f, 6.912177056e-02f, -1.870921403e-01f, + -9.834618121e-02f, 1.469290908e-02f, 5.254694447e-02f, 1.106112078e-01f, + 4.877385125e-02f, 7.171835750e-03f, 7.545478642e-02f, -3.526934609e-02f, + -6.880647689e-02f, 1.453208476e-01f, 6.093013287e-02f, -5.235460773e-02f, + 1.453297436e-01f, -6.987974048e-02f, -1.229381561e-01f, 9.206630290e-02f, + 2.555841114e-03f, -2.183807455e-02f, 4.817070439e-02f, -1.695604436e-02f, + 1.205935851e-01f, -1.387891080e-02f, -1.042101383e-01f, -1.947507262e-02f, + -3.950671107e-02f, 1.159663964e-02f, -1.767531224e-02f, -1.685366593e-02f, + 7.736385614e-02f, -5.220411718e-02f, -2.034744993e-02f, 5.353389308e-02f, + 3.769050539e-02f, -4.686611146e-02f, 5.254801735e-02f, 1.876350492e-01f, + -8.586505055e-02f, 1.284989156e-02f, -5.881295656e-04f, 6.412084401e-02f, + -2.099057585e-01f, -3.450519219e-02f, -1.158252545e-02f, -2.151067406e-01f, + -9.028876573e-02f, -3.571577743e-02f, 2.925822139e-02f, -1.732033193e-01f, + -8.504059911e-02f, -1.109631211e-01f, 2.157983631e-01f, -8.004363626e-02f, + 6.771522760e-02f, 6.513653323e-03f, 4.972592741e-02f, 3.634073213e-02f, + 1.690167934e-01f, 5.243107677e-02f, -9.371899068e-03f, 4.394677281e-02f, + -6.786838174e-02f, 1.460274756e-01f, -1.276780367e-01f, 4.128823057e-02f, + 3.510092944e-02f, 6.423275173e-02f, -9.541896731e-02f, -7.687854022e-02f, + -7.843977958e-02f, -7.251776755e-03f, -1.191687658e-01f, -1.511493772e-01f, + 1.367279291e-01f, 5.617938563e-02f, 3.605453670e-02f, 8.190548420e-02f, + 2.294249646e-02f, 1.246418282e-01f, -7.007196546e-02f, 9.599229693e-02f, + 5.574670807e-02f, 1.580778882e-02f, -1.257875264e-01f, 6.129126251e-02f, + -7.549795322e-03f, -3.057164513e-02f, -3.987101838e-02f, -1.437790394e-01f, + 1.239114180e-01f, 3.300187364e-02f, 5.659152567e-02f, 1.350064427e-01f, + -1.375388801e-01f, -4.744249210e-02f, 2.954823710e-02f, 4.941695929e-02f, + -1.521059964e-02f, -1.575944573e-02f, -4.794444516e-02f, 1.045338959e-01f, + -5.500114337e-02f, 2.815385908e-02f, 5.291385949e-02f, -2.272434533e-02f, + 1.494400054e-01f, -1.083176136e-01f, 1.288123615e-02f, 2.122250795e-01f, + 5.792012066e-02f, 6.023567170e-02f, -3.235699609e-02f, -4.252208862e-03f, + 5.530934781e-02f, -4.736470059e-02f, -3.122850321e-02f, -4.913170263e-02f, + 2.237169305e-03f, -2.339245230e-01f, 1.691283584e-01f, 1.835590899e-01f, + 5.816730112e-02f, -7.905884087e-02f, -1.072413847e-01f, 6.236643344e-02f, + 1.237470359e-01f, 3.983182833e-03f, 1.769599319e-01f, -1.100789458e-01f, + -5.951240286e-02f, -9.708019346e-02f, -5.592894554e-02f, 3.773865849e-02f, + 2.322247811e-02f, 1.650689356e-02f, -6.689588726e-02f, 7.414018363e-02f, + 8.490167558e-02f, -5.576835200e-02f, 4.247315973e-02f, -3.716619685e-02f, + 9.627724439e-02f, -5.350538064e-03f, 3.392962739e-02f, 3.093879111e-02f, + -1.921264082e-01f, 3.253065422e-02f, -4.902451485e-02f, 4.524422064e-02f, + -1.102199852e-01f, 1.682914793e-01f, 1.108852252e-01f, -3.564067930e-02f, + -3.150844015e-03f, 6.607464701e-02f, -8.470520377e-02f, -6.053972989e-02f, + -6.450823694e-02f, -1.686962880e-02f, 4.527739063e-02f, 8.065376431e-02f, + 2.296654508e-02f, -1.093488932e-01f, -1.036794856e-01f, -9.607478045e-03f, + -9.255997092e-02f, 1.574789435e-01f, 2.974536270e-02f, 1.506459564e-01f, + -1.210510358e-02f, -3.105866909e-02f, -5.900729448e-02f, -3.547714651e-02f, + 4.738921672e-02f, 7.406337559e-02f, 2.370028198e-02f, 1.384350210e-01f, + -1.035118401e-01f, -1.380780488e-01f, 1.070412919e-01f, 9.895810485e-02f, + 1.391390860e-01f, -5.245823413e-03f, -1.017365903e-01f, 4.634710401e-02f, + -7.535747439e-02f, -1.879877895e-01f, -4.323997721e-02f, 7.433293760e-02f, + 3.925903514e-02f, 1.587999053e-02f, 7.696779817e-02f, -1.032533944e-01f, + -4.051722214e-02f, 1.912506856e-02f, -4.324554466e-03f, -8.472506702e-02f, + -7.716073655e-03f, 2.622766793e-02f, 1.153783053e-01f, -1.016444787e-01f, + 1.962853223e-01f, 5.036221445e-02f, 6.084321532e-03f, 5.521160737e-02f, + -6.311445683e-02f, 2.590896934e-02f, -9.765597433e-02f, 3.563394770e-02f, + 8.313629776e-03f, -7.677200437e-02f, -7.778591663e-02f, -6.183279306e-02f, + 9.210436791e-02f, -1.213275045e-01f, 1.619722247e-01f, -6.809041649e-02f, + -9.547901154e-02f, 6.772460788e-02f, -1.126814857e-01f, -7.309852540e-02f, + 8.091092110e-02f, -2.299187332e-02f, 6.702889502e-02f, 1.810244918e-01f, + 1.585391015e-01f, -1.045060828e-01f, 5.058935285e-02f, -3.884375095e-02f, + 3.695494309e-02f, 6.332191825e-02f, 1.227070838e-01f, 4.795952141e-02f, + -5.918502435e-02f, 1.328596771e-01f, -1.281770617e-01f, -4.042952135e-02f, + 6.116915867e-02f, 2.188573033e-02f, -1.002737209e-01f, 2.412855998e-02f, + 1.157409549e-01f, 3.187683970e-02f, -9.269631654e-02f, -3.707525134e-02f, + -7.850445062e-02f, 9.865091741e-02f, 8.508279920e-02f, -3.550700843e-02f, + -1.367312968e-01f, -1.026561782e-01f, -3.168436512e-02f, -2.004323304e-01f, + -3.587644547e-02f, -1.486988366e-02f, 1.295466423e-01f, -9.439035505e-02f, + -5.972829461e-02f, -4.824630544e-02f, 9.125787020e-02f, 8.009857684e-02f, + -3.328230977e-02f, -1.262569278e-01f, -1.868245751e-01f, -1.940886080e-01f, + 6.166522577e-02f, 4.668563604e-02f, 1.980686188e-02f, -8.906459808e-02f, + -1.078963727e-01f, 5.697793886e-02f, 3.819918633e-02f, 7.940292358e-03f, + -4.417193681e-02f, -6.659780443e-02f, 5.337011814e-02f, -1.349269971e-02f, + 7.609183341e-02f, 2.901383908e-03f, -3.770773858e-02f, -5.903595313e-02f, + 4.379893467e-02f, 1.171798166e-02f, -7.385877892e-03f, -4.466870427e-02f, + -6.111089140e-02f, 2.309850603e-02f, 6.519941147e-03f, 2.119538374e-02f, + -1.064891964e-01f, -5.045047402e-02f, 9.580755979e-02f, 1.421311349e-01f, + 1.114335656e-02f, 4.951905832e-02f, -6.866837293e-02f, 1.091575548e-01f, + 2.054691464e-01f, 2.871094644e-01f, 7.300239801e-02f, -1.684373245e-02f, + 1.083141118e-01f, 1.584980935e-01f, -7.889482379e-02f, 5.196752772e-02f, + 6.385813653e-02f, -4.642435536e-02f, -2.115694433e-02f, -5.782137439e-02f, + 3.967012092e-02f, -1.205563620e-01f, -1.473385841e-01f, 8.966388553e-02f, + 7.804931700e-02f, -5.527498201e-02f, 1.243718192e-01f, -4.217756912e-02f, + -7.350461930e-02f, 3.138598287e-03f, 6.611491740e-02f, -1.289673448e-01f, + 8.360143751e-02f, 9.390293062e-02f, -1.112190336e-01f, -1.714222133e-02f, + 1.329402924e-01f, -5.435564369e-02f, -1.245095283e-01f, 2.678566147e-03f, + -4.373737052e-02f, -5.637761578e-02f, -1.342793927e-02f, -7.725674659e-02f, + -9.995650500e-02f, -1.246844903e-01f, -1.366517991e-01f, -1.123338118e-01f, + 8.751702309e-02f, 6.636818498e-02f, -1.727157980e-01f, 7.266358286e-02f, + -1.143883616e-01f, 4.116547480e-02f, -9.323610365e-02f, 1.306611598e-01f, + 6.447846442e-02f, 1.357695907e-01f, 1.345715951e-02f, 6.223277654e-03f, + 6.919006258e-02f, -4.672715440e-03f, 1.536848373e-03f, -5.390312895e-02f, + 6.433933228e-02f, 4.673373699e-02f, 4.134720936e-02f, 2.346664481e-02f, + -1.097995043e-02f, -1.504306793e-01f, 3.194688633e-02f, 1.182150766e-01f, + -6.143028662e-02f, -4.720932990e-02f, 1.330003738e-01f, 2.531019785e-02f, + 1.397572551e-02f, 5.404763296e-02f, -1.414314657e-01f, 3.964798525e-03f, + 3.097859211e-02f, 6.581051648e-02f, -5.894296616e-02f, 6.994296610e-02f, + 8.702347986e-03f, -4.645119235e-02f, -5.077039823e-02f, 1.652555913e-01f, + -2.885845676e-02f, 4.605174065e-02f, 1.149780154e-01f, 3.186732531e-02f, + -7.866788656e-03f, -8.161134273e-02f, 1.153545007e-01f, 6.837588549e-02f, + 6.622022483e-03f, 1.297765523e-01f, 8.167445660e-02f, -4.460875690e-02f, + -1.830620468e-01f, 4.017444793e-03f, 1.150095277e-02f, 1.011510193e-01f, + 3.392285109e-02f, 1.111477986e-01f, -2.300034650e-02f, -6.463974714e-02f, + -3.051182139e-04f, -4.476073384e-02f, -1.381751522e-02f, 8.005996794e-02f, + 1.401081234e-01f, 4.167523980e-02f, -1.575726271e-01f, 9.815571457e-02f, + -3.769790521e-03f, -8.400788158e-02f, -1.853531003e-01f, -3.328767791e-02f, + 3.639185568e-03f, 8.348862082e-02f, 2.369675040e-01f, -5.472623557e-02f, + -3.369969502e-02f, -5.846805125e-02f, 1.069188118e-01f, 6.594561506e-03f, + 3.383684158e-02f, -1.558045149e-01f, 1.177363656e-02f, 1.678497642e-01f, + 3.952107206e-02f, 2.512504533e-02f, 9.416076541e-02f, 1.098356545e-01f, + -5.629071966e-02f, 8.178932220e-02f, -8.632534742e-02f, 3.898276016e-02f, + 3.466404602e-02f, -1.396795809e-01f, 2.918631211e-02f, 1.461569127e-02f, + -6.859859079e-02f, 5.123176053e-02f, -1.530212760e-01f, 7.510855049e-02f, + 3.352909698e-04f, -1.456673145e-01f, -3.240866214e-02f, -9.725681692e-02f, + -5.947675928e-02f, 5.629885942e-02f, -4.495358840e-02f, 1.952722110e-02f, + -2.978538163e-02f, -2.146785408e-01f, 3.524601925e-03f, -1.231609751e-02f, + -2.807739750e-02f, 5.695381761e-02f, -1.611921936e-01f, -1.856026240e-02f, + -9.724850208e-02f, 1.660833359e-01f, -6.439762563e-02f, -2.620435692e-02f, + -3.425361216e-02f, -1.596329063e-01f, 1.379344016e-01f, 1.535014808e-01f, + -1.594862491e-01f, 7.079738379e-02f, 7.714806497e-02f, -4.826062918e-02f, + -1.149271615e-03f, -8.814579993e-02f, 5.429492891e-02f, 1.315431148e-01f, + 5.963030457e-02f, -8.340337873e-02f, 5.558235943e-02f, -4.517427087e-02f, + 1.299713403e-01f, 3.570232168e-02f, 1.312261969e-01f, -5.548679829e-02f, + -2.263393439e-02f, -5.950464681e-02f, -8.143980801e-02f, -4.225809500e-02f, + 5.133798346e-02f, -6.861475110e-02f, -9.939125925e-02f, 3.497111425e-02f, + 4.879558831e-02f, 1.042234674e-01f, 7.451611757e-02f, -7.206681371e-02f, + -1.672985405e-01f, 3.075359389e-02f, 1.173051521e-01f, -1.031832024e-01f, + -2.983482182e-02f, 3.920448944e-02f, 6.051900983e-02f, 2.939994261e-02f, + -3.917377070e-02f, 2.654668875e-02f, 3.881324828e-02f, 4.145415872e-02f, + 1.090950742e-01f, 3.884935752e-02f, 1.027753800e-01f, 3.443660215e-02f, + -6.177208573e-02f, 1.956452131e-01f, -1.274197251e-01f, 1.177868526e-02f, + 5.096406117e-02f, -3.250418976e-02f, 4.705042765e-02f, -1.061010882e-01f, + 4.027708992e-02f, 8.380053937e-02f, -1.357524395e-01f, -4.462838173e-02f, + -1.770045459e-01f, -9.541968256e-02f, 4.566934332e-02f, -1.712505370e-01f, + -5.785703659e-02f, 7.445939630e-02f, 3.495160118e-02f, -1.036149636e-02f, + -1.908316649e-02f, -7.931224536e-04f, -8.564925194e-02f, -1.941848546e-01f, + -5.363425985e-02f, 8.034089208e-02f, -1.422212124e-01f, -1.706589609e-01f, + -5.149868131e-02f, -2.586766332e-02f, -3.550240770e-02f, -1.577949971e-01f, + -1.055357307e-01f, 1.652319171e-02f, 1.037625043e-04f, -5.512176454e-02f, + 1.669046432e-01f, 1.798311807e-02f, -2.019212581e-02f, 1.067215353e-01f, + -1.101656351e-03f, -2.301346883e-02f, -3.137351945e-02f, 1.811949536e-02f, + 2.287772596e-01f, 1.272463500e-01f, 9.343174845e-02f, -5.233090371e-02f, + 5.038801581e-02f, 8.258147538e-02f, -3.390225768e-02f, 1.001950651e-01f, + -8.882584982e-03f, -2.109467238e-01f, 1.412135512e-01f, 1.273690015e-01f, + -2.619900554e-02f, -1.752318591e-01f, 1.755912788e-02f, 9.606081247e-02f, + -5.614446849e-02f, 4.167900886e-03f, 5.744360387e-02f, 6.618108135e-03f, + 2.529253438e-02f, -5.884604901e-02f, 5.872674286e-02f, -1.379989535e-01f, + -1.048732474e-01f, -9.354469180e-02f, -8.531361818e-02f, 1.152223721e-02f, + 5.676829256e-03f, -1.167601254e-02f, 1.573641598e-01f, -1.109431088e-01f, + -1.363778561e-01f, -9.794333577e-02f, 1.118105650e-01f, 3.607782302e-03f, + 8.654358238e-02f, 8.863820881e-02f, -1.942157596e-01f, -5.659715831e-02f, + 4.069623351e-02f, -1.513020042e-02f, 3.329224885e-02f, -1.146809533e-01f, + -1.773102209e-03f, 9.245648235e-02f, -3.877213970e-02f, -3.607412800e-02f, + -5.155597255e-02f, -1.331297606e-01f, -1.676032320e-02f, 8.365414292e-02f, + 3.758104146e-02f, -5.741486326e-02f, -3.885609284e-02f, -2.196773738e-01f, + -4.955445230e-02f, -5.426048860e-02f, -1.685834676e-02f, -9.290464222e-02f, + -1.033387054e-02f, 1.077866256e-01f, 1.147555839e-02f, 2.188099921e-02f, + 1.491436269e-02f, 3.274998069e-02f, 4.242974520e-02f, 5.619643629e-02f, + -2.582081594e-02f, -1.385484189e-01f, 4.210016131e-02f, 7.053903490e-02f, + -1.697411388e-01f, -7.153834403e-02f, -1.822773665e-01f, -6.072835997e-02f, + 5.283161253e-02f, 2.168196999e-02f, 7.745670527e-02f, -5.626992788e-03f, + 5.800026283e-02f, -5.298954248e-02f, -1.253160927e-02f, 1.179018915e-01f, + -7.018925250e-02f, -1.181673259e-01f, 1.073803008e-02f, -1.096854135e-01f, + -2.416439354e-02f, -3.761966154e-02f, 7.043020800e-03f, -9.677162766e-02f, + 4.192672670e-02f, -1.426673681e-01f, 1.955140829e-01f, -4.495258257e-02f, + 1.102235019e-01f, -6.359373033e-02f, -6.306302547e-02f, -1.443411596e-02f, + 8.191753179e-02f, -8.933974430e-03f, 5.019630119e-02f, 1.131447256e-01f, + 6.381661445e-02f, 5.010579899e-02f, -3.222958744e-02f, 5.314622447e-02f, + 2.072048001e-02f, 1.440278590e-01f, 7.088532299e-02f, 1.021138579e-02f, + -2.040154673e-02f, 1.929450966e-02f, -1.013794355e-02f, -1.429575868e-02f, + -3.146594018e-02f, 1.395624131e-01f, 1.900695264e-01f, 1.554689556e-01f, + -1.115106326e-02f, -7.959275693e-02f, -7.842960954e-02f, -6.695502251e-02f, + 7.263395935e-02f, 1.185152382e-01f, -1.235950440e-01f, -9.313315153e-02f, + -1.366340369e-02f, -8.232132532e-03f, -2.005726844e-02f, 4.486304522e-02f, + 1.982850768e-02f, 1.059810370e-01f, 1.160761416e-01f, -7.349027321e-03f, + -1.262725443e-01f, -1.423402578e-01f, 4.788787290e-02f, 4.220497794e-03f, + -5.839699414e-03f, 2.877256833e-02f, 8.300077915e-02f, 1.232476681e-01f, + -6.410452724e-02f, 7.423074543e-02f, -1.145895720e-01f, -5.693509802e-02f, + 1.317740977e-01f, 6.141863298e-03f, 1.853573322e-02f, 1.383372843e-01f, + -7.581602037e-02f, -6.872936338e-02f, 3.413306549e-02f, 1.481263041e-01f, + -4.164844379e-02f, -4.886623845e-02f, -2.608525101e-03f, 1.916077733e-02f, + 2.102355063e-01f, -8.977869898e-02f, -2.800883539e-02f, -4.919819161e-02f, + 6.509538740e-02f, -1.239237748e-02f, -1.548083872e-01f, 2.014095336e-01f, + -1.466432586e-02f, -9.237331897e-02f, 1.362444609e-01f, -1.993191615e-02f, + -1.303273886e-01f, 1.536746603e-02f, 4.930997640e-02f, 8.033227921e-02f, + 6.107999012e-02f, -5.330125615e-02f, 1.221647188e-01f, 7.206219435e-02f, + 4.772919416e-02f, -6.922196597e-02f, -6.721596420e-02f, -1.871027239e-02f, + 8.905571699e-02f, -2.685115300e-02f, 3.268666565e-02f, 4.953312874e-02f, + -1.986251920e-01f, 2.128343843e-02f, -7.559843827e-03f, 2.311879098e-01f, + 1.758477651e-02f, -8.214760572e-02f, 5.255345628e-02f, 3.065126948e-02f, + -2.820560150e-02f, -8.572399616e-02f, -8.813621104e-02f, 1.845294684e-01f, + -5.873423070e-02f, -1.326783001e-01f, 8.354111761e-02f, -6.041749939e-02f, + -1.413780600e-01f, -1.067801639e-01f, -6.481488049e-02f, 1.597491801e-01f, + -1.004210413e-01f, -2.991970628e-02f, 8.581306040e-02f, -2.689732797e-02f, + -1.438603401e-01f, 1.632723399e-02f, 2.295715176e-02f, -1.822010875e-01f, + -5.094430223e-02f, -4.137812182e-02f, -4.200158641e-02f, 6.835870445e-02f, + 8.759525418e-02f, -2.078382112e-02f, -2.237531729e-02f, 4.217457771e-02f, + -5.001243204e-02f, 8.275668323e-02f, -1.154786795e-01f, -4.803154618e-02f, + -9.467988461e-02f, -1.043138057e-01f, -3.102010116e-02f, 5.558655411e-02f, + -6.523764227e-03f, 2.496649884e-02f, -1.672033817e-01f, -1.688175797e-01f, + -3.117298335e-02f, 1.955261379e-01f, -7.071293425e-03f, -2.220738214e-03f, + -1.364805177e-02f, 2.595415153e-02f, -9.679582715e-02f, -4.102513660e-03f, + -1.652462222e-02f, 8.663443476e-02f, -4.776545987e-02f, -1.082093418e-01f, + 4.296162724e-02f, -5.646494031e-02f, 8.791726828e-02f, -4.506651312e-02f, + -3.737205639e-02f, -2.944926731e-02f, 4.823690280e-02f, 7.967252284e-02f, + -1.755716056e-01f, -7.744441926e-02f, 6.233851984e-02f, -3.259696439e-02f, + -1.381958276e-01f, 7.377564907e-02f, 1.929536313e-01f, 1.119403839e-01f, + 6.623908132e-02f, 3.562904894e-02f, 6.024778262e-02f, 2.006192226e-03f, + -1.193132065e-02f, 5.053031072e-02f, 1.422313601e-01f, -4.856920242e-02f, + -6.737368554e-02f, 5.147639289e-02f, 4.724308476e-02f, -5.995207932e-03f, + -3.266162425e-02f, -1.159710716e-02f, 4.009284452e-02f, 4.027332366e-02f, + -2.262645587e-02f, -7.114008814e-02f, -1.330819447e-02f, -9.326016158e-02f, + -1.079917774e-01f, -3.128646314e-02f, 1.401502639e-02f, -1.159047429e-02f, + -8.806677163e-02f, 9.996023029e-02f, -3.101324290e-02f, -8.244957775e-02f, + -7.854506373e-02f, -9.785009176e-02f, 9.185372293e-02f, -1.782448888e-01f, + 7.596314698e-02f, 4.673979059e-02f, 2.585936897e-02f, -5.396197084e-03f, + 1.056062132e-01f, 1.087166220e-01f, -9.024959803e-02f, -9.813076258e-02f, + 7.381910831e-02f, -6.819882989e-02f, 2.412491739e-01f, -2.981392853e-02f, + 5.661208555e-02f, 1.107583866e-01f, -7.759165764e-02f, 3.455441445e-02f, + 2.567374706e-01f, 3.214593604e-02f, -5.797210708e-02f, 1.665327325e-02f, + -1.360477805e-01f, -3.625659645e-02f, -1.973106712e-01f, 3.493134305e-02f, + -3.944345936e-02f, -4.315511882e-02f, 1.448111981e-01f, -3.218428791e-02f, + 1.743711829e-01f, 5.382070318e-02f, -8.480419405e-03f, -7.248888910e-02f, + 7.547904737e-03f, -7.976422459e-02f, -2.024522237e-02f, 7.190600783e-02f, + -6.723282486e-02f, -1.997351497e-01f, 3.581054136e-02f, 8.610955626e-02f, + -6.366584450e-02f, -1.392696649e-01f, 5.514508113e-02f, 6.377389189e-03f, + -7.889771461e-02f, 2.109339833e-02f, 3.316478431e-02f, 7.115732133e-02f, + 6.278073788e-02f, 1.658392325e-02f, -1.100789979e-01f, 1.205321252e-01f, + -5.102267116e-02f, -3.028976172e-02f, -1.406705678e-01f, 4.205043986e-02f, + 7.404644787e-02f, -5.241527781e-02f, 1.884421334e-02f, 3.338119015e-02f, + 1.151931137e-01f, -1.249942780e-01f, 1.415118128e-01f, -7.707625162e-03f, + 5.170424655e-02f, -5.930485204e-02f, 2.861840092e-02f, 1.273960024e-01f, + 2.917812020e-02f, 1.426164620e-02f, 8.040140569e-02f, 1.624728180e-02f, + -4.245176166e-02f, -7.858856022e-02f, -8.466656506e-02f, -7.046032697e-02f, + -6.303713471e-02f, -1.256173104e-01f, -3.791847080e-02f, 1.230816729e-02f, + 8.002717979e-03f, -2.872688882e-02f, -5.298242718e-02f, -5.137276277e-02f, + -4.987783032e-04f, 1.824659295e-02f, 4.223474488e-02f, -6.788786501e-02f, + -2.024510875e-02f, 1.934258491e-01f, 7.990212180e-03f, -1.052798107e-01f, + 6.628738344e-02f, -1.144656613e-01f, 4.495363310e-02f, -6.598203629e-02f, + 1.566562504e-01f, 4.749726504e-03f, -6.289133430e-02f, 4.836619645e-02f, + -8.802299947e-02f, -8.191625029e-02f, -8.451854438e-02f, -4.256644472e-02f, + 4.689629748e-02f, -3.115483001e-02f, 7.734023780e-02f, 1.505608410e-01f, + -6.060644239e-02f, 1.574693918e-01f, 3.831261024e-02f, 9.511542320e-02f, + 1.279573701e-02f, -8.417218179e-02f, -1.518395692e-01f, 4.682059959e-02f, + -1.633847952e-01f, 1.253559738e-01f, -2.263607383e-01f, -2.019177973e-01f, + 1.007203385e-01f, 5.626758561e-02f, 3.154895827e-02f, 2.909525670e-02f, + 1.172185987e-01f, -1.364988536e-01f, -1.563794017e-01f, -2.470236272e-02f, + 2.839539945e-02f, -1.603931747e-02f, 4.461608082e-02f, -1.334580481e-01f, + -4.869121686e-02f, 2.503126673e-02f, -1.337201893e-01f, 3.122325800e-02f, + -1.426137239e-01f, -3.332580999e-02f, -1.485968381e-01f, 5.891396105e-02f, + 1.152710617e-01f, 1.815589890e-02f, -4.733401537e-02f, 1.635000855e-02f, + 4.355811700e-02f, 1.498638541e-01f, -2.252915874e-02f, 4.542564973e-02f, + -2.786256000e-02f, -6.245097611e-03f, -1.289896667e-01f, 8.596492559e-02f, + -1.704405397e-01f, 5.028757080e-02f, -6.642563641e-02f, -1.139121279e-01f, + -1.317286938e-01f, -1.468304098e-01f, -9.918406606e-02f, -5.114259571e-02f, + -1.085881218e-01f, 5.800024793e-02f, 4.177154228e-02f, -6.986618787e-02f, + -2.684974752e-04f, 1.134261712e-01f, -1.213920563e-01f, 1.374700069e-01f, + -2.093627602e-01f, -9.861975163e-02f, 4.958589002e-02f, -4.675022140e-02f, + 1.327684522e-01f, -3.277248004e-03f, 7.563192397e-02f, -6.740672886e-02f, + 4.993444309e-02f, -5.186058208e-02f, 2.585199662e-02f, -2.105972916e-02f, + 1.952679306e-01f, -9.736717492e-02f, -1.220246851e-01f, -1.452819556e-01f, + -8.875483274e-02f, 9.996073693e-02f, -4.453337565e-02f, 1.254592743e-02f, + -2.763982490e-02f, 5.066709220e-02f, 2.259776443e-01f, 7.301400416e-03f, + 9.532855824e-03f, -2.606959455e-02f, 2.701204503e-03f, -1.116399765e-01f, + 1.107370183e-01f, -1.286423653e-01f, -2.614033408e-02f, 1.069924682e-01f, + -1.201689839e-01f, 4.736827314e-02f, 7.526684552e-02f, 4.914061353e-02f, + -9.610248357e-02f, 7.244007289e-02f, -3.056622855e-02f, 6.666622311e-02f, + 4.390228540e-02f, -5.270508304e-02f, -3.224488348e-02f, 7.324994542e-03f, + 8.990631998e-02f, -4.073371366e-02f, 2.469256055e-03f, -6.484013516e-03f, + -8.700172603e-02f, 4.721478000e-02f, 1.090371236e-01f, 1.294923294e-02f, + -1.825296320e-02f, 3.086313978e-02f, -2.648904361e-02f, -1.888237298e-01f, + 6.983572990e-02f, -7.427835464e-02f, 1.537352800e-01f, -2.167081237e-01f, + 7.849336416e-02f, -1.199528482e-02f, -1.563164145e-01f, -1.105043516e-01f, + 3.602770343e-02f, 1.722457528e-04f, -7.644921541e-02f, 1.659469754e-01f, + 1.561207138e-02f, 5.513888225e-02f, -4.361636937e-02f, -1.418345273e-01f, + 1.002448890e-02f, -7.644622028e-02f, 1.420211643e-01f, 1.511056572e-01f, + -1.145180408e-02f, -4.275630787e-02f, -5.124692619e-02f, 3.713948280e-02f, + 3.624120355e-02f, -5.475670844e-02f, -1.166620478e-02f, 1.535596605e-02f, + 3.719924763e-02f, 8.477394469e-03f, -6.653511524e-02f, -1.097296700e-01f, + 2.890987135e-02f, 1.121306270e-01f, -5.875320639e-03f, -3.183505032e-03f, + 4.939209297e-02f, -1.595002562e-01f, -3.414000571e-02f, 5.264364183e-03f, + -3.846237436e-03f, 4.500786215e-02f, -7.878413796e-02f, 2.954955027e-02f, + 3.362326324e-02f, -1.378400773e-01f, -3.548597172e-02f, 3.356942907e-02f, + -1.179493498e-02f, -8.848389611e-03f, -4.429915175e-02f, 1.689998358e-01f, + 2.197953314e-02f, 2.084175199e-01f, -3.607006371e-02f, 8.327944204e-03f, + 9.543881565e-02f, -2.187636793e-01f, 1.082280725e-01f, 1.465265304e-01f, + -3.086396493e-02f, 2.927066386e-02f, 1.577892713e-02f, -5.921071023e-02f, + 1.038120016e-01f, -9.589173645e-02f, -8.172319829e-02f, -8.568168432e-02f, + -2.207584977e-01f, -6.095024757e-03f, 1.015345529e-01f, -7.111589611e-02f, + -4.174054600e-03f, 6.325454265e-02f, 8.081858605e-02f, 1.377101149e-02f, + 4.558666050e-02f, 7.525780052e-02f, 1.222396418e-01f, -1.437988281e-01f, + 5.525775626e-02f, -1.989956386e-02f, 1.426862553e-02f, 5.967255309e-02f, + 1.447738260e-01f, 4.670900851e-02f, 8.041515201e-02f, 1.389153600e-01f, + -9.182957560e-02f, -9.817093611e-02f, 2.974781580e-02f, 1.764540970e-01f, + 4.850254580e-02f, -1.252373215e-02f, -1.382859200e-01f, -1.109001786e-01f, + 3.924409673e-02f, -1.804091781e-02f, -8.028674871e-02f, -5.276533309e-03f, + 2.993307635e-02f, -1.040358096e-01f, -2.177027613e-01f, 7.306221128e-02f, + 1.172343194e-01f, 1.843528822e-02f, -4.234289809e-04f, -5.157284811e-02f, + -1.091717258e-01f, 4.095119238e-02f, -1.138377935e-02f, -1.373755187e-01f, + -8.469356224e-03f, 6.985511631e-02f, 1.243089214e-01f, -8.798561245e-02f, + -3.254696727e-02f, -1.463501807e-02f, -9.954014793e-03f, -5.591686070e-02f, + -1.873580217e-01f, 8.510895073e-02f, -5.460861605e-03f, -1.322397888e-01f, + 5.780913052e-04f, 6.923726201e-02f, -1.471624970e-01f, -4.385680333e-02f, + 3.411035985e-03f, -1.068816800e-02f, 3.751833737e-02f, -6.220081821e-02f, + -4.784941673e-02f, -5.414125696e-02f, 2.082897872e-01f, -6.509191543e-02f, + -8.103843033e-02f, -1.362990588e-01f, -7.697784156e-02f, -3.344574198e-02f, + -1.586017758e-02f, -2.489386499e-02f, 6.629208475e-02f, -2.643191628e-02f, + -6.151529774e-02f, 3.860524669e-02f, -8.565865457e-02f, 9.088354558e-02f, + 7.081062347e-02f, 4.671274871e-02f, 1.124621108e-01f, -5.773135647e-02f, + 1.143230721e-01f, 2.447625250e-02f, 1.137013435e-01f, 1.453079283e-01f, + 9.560739249e-02f, -5.932623893e-02f, 4.413223267e-02f, -5.066163465e-02f, + -1.707622781e-02f, -1.308760345e-01f, -4.484191164e-02f, 1.120861694e-01f, + -2.064958513e-01f, -7.117877156e-02f, 4.272390623e-03f, 1.091080159e-01f, + -5.707122758e-02f, 1.002145261e-01f, -2.553898469e-02f, 9.946801513e-02f, + -1.181330904e-01f, 6.713487208e-02f, 3.890789300e-02f, 2.148557082e-02f, + -3.468914330e-02f, -1.271905601e-01f, -1.822633483e-02f, 1.045791283e-01f, + 7.468789071e-02f, 1.760317981e-01f, -8.197165094e-03f, 6.956683844e-02f, + -3.820396587e-02f, -6.136672944e-02f, 3.824322298e-02f, -1.402470469e-01f, + 8.722406626e-02f, -1.878884062e-02f, -1.180802435e-01f, 7.061500102e-02f, + -1.615454815e-02f, -2.535109781e-02f, 1.050059199e-01f, -5.970103666e-02f, + 1.218345463e-01f, 5.204513669e-02f, -1.219091564e-01f, -5.345597118e-02f, + 5.283918604e-02f, -7.666838169e-02f, -1.006015465e-01f, 8.173136972e-03f, + -3.246125125e-04f, -2.739911526e-02f, -1.564893574e-01f, 2.104116231e-02f, + -9.368505329e-02f, -3.816431761e-02f, -3.533188626e-02f, -4.841323569e-02f, + 2.398914993e-01f, 5.248557031e-02f, -1.494400389e-02f, 2.189366706e-02f, + 3.899208456e-02f, 6.295652688e-02f, -3.714512661e-02f, -1.172151864e-01f, + 1.400468498e-01f, -1.742465422e-03f, -5.716585740e-02f, -1.571457833e-01f, + 9.376648813e-02f, 8.336895704e-02f, 4.804616421e-02f, 7.215747237e-02f, + 1.107191965e-01f, 2.529198676e-02f, -7.919180207e-03f, -2.031135261e-01f, + -6.245290115e-02f, 3.039431060e-03f, -5.374268442e-02f, -1.953130588e-02f, + -1.810712814e-01f, 1.609038748e-02f, 1.190531533e-02f, 1.409122497e-01f, + -9.551451355e-02f, -4.917685688e-02f, 1.261874884e-01f, -1.207894739e-02f, + -1.062647551e-01f, -9.932050109e-02f, -2.537191287e-02f, -5.574547127e-02f, + -7.675449550e-02f, 5.182315037e-02f, -7.047710568e-02f, 4.154666886e-02f, + -1.633086205e-01f, 2.550574951e-02f, 7.147988677e-02f, 3.141154349e-02f, + -9.732217528e-03f, 2.911543101e-02f, 2.530549280e-02f, 2.216063291e-01f, + 3.597348183e-02f, -1.936492324e-02f, 9.786454588e-02f, -1.937166415e-02f, + -1.032649502e-01f, -1.263097823e-01f, -1.075551938e-02f, 2.731512114e-02f, + 9.423398226e-02f, 7.209303975e-02f, -1.396270394e-01f, -5.253559351e-02f, + 5.883939937e-02f, 1.590592600e-02f, -1.540775299e-01f, -7.547549158e-02f, + -8.699244261e-02f, -2.614631690e-02f, 3.353060037e-02f, -8.180509508e-02f, + -2.658666670e-02f, -1.336132139e-01f, 1.228386089e-01f, 1.561259152e-03f, + -7.049579173e-02f, -1.202522442e-01f, 3.950100392e-02f, -1.001686305e-01f, + -1.994277351e-02f, 5.039573181e-03f, 7.926607877e-02f, 1.265753154e-02f, + -4.110951722e-02f, -1.476945728e-01f, 1.792471707e-01f, -3.839442879e-02f, + -1.025026068e-01f, 1.284867227e-01f, -3.823098913e-02f, -6.334394217e-02f, + 1.725824326e-01f, 3.246732056e-02f, -2.131529748e-01f, 6.065614894e-02f, + -1.051796302e-01f, -4.810886830e-02f, 1.117570251e-01f, 3.367529809e-02f, + 4.800163209e-02f, -8.384234458e-02f, -3.031000495e-02f, -1.217867155e-02f, + -6.945115747e-04f, -1.764824837e-01f, -1.106138527e-01f, -4.512111098e-02f, + -7.513866574e-02f, 9.486240894e-02f, 9.134197980e-02f, 2.312361076e-02f, + 5.374041572e-02f, 2.287651040e-02f, 3.230439499e-02f, 2.597421408e-01f, + -7.465571910e-02f, -1.272495985e-01f, -4.031632468e-02f, -1.296152920e-02f, + 4.706008732e-02f, 6.867516786e-02f, -6.496750563e-02f, 4.009231925e-02f, + -1.670776457e-01f, -1.796265878e-02f, -4.075986333e-03f, 4.247968271e-02f, + -1.109540015e-01f, 6.007078290e-02f, 8.299691230e-02f, -5.482022837e-02f, + 7.586233318e-02f, -7.688023895e-02f, -1.796275228e-01f, 9.899350256e-02f, + -1.279223263e-01f, 4.372562841e-02f, 8.217582107e-02f, 8.344715834e-02f, + 1.613483578e-01f, 3.539021686e-02f, 1.270054728e-01f, 1.317370404e-02f, + 2.132119611e-02f, 8.954775520e-03f, 9.959530830e-02f, 2.255148441e-02f, + -7.147374004e-02f, 7.582528889e-02f, -3.020253219e-02f, 1.279212981e-01f, + -7.591733336e-02f, -8.138272911e-02f, -1.280720159e-02f, 6.969529390e-02f, + 1.377549861e-02f, -9.789066762e-02f, 8.012831211e-02f, 2.348469794e-01f, + -1.660310477e-01f, 1.154315844e-01f, 4.156754538e-02f, 1.879621646e-03f, + 5.643263832e-02f, -1.247807220e-02f, 1.373200864e-01f, -5.170473829e-02f, + -3.728441149e-02f, -1.198656708e-01f, 1.464312971e-01f, 3.306858242e-02f, + -2.333880216e-02f, 2.190122306e-01f, 3.893652186e-02f, 9.229108691e-02f, + -8.510068804e-02f, 8.857421577e-02f, -1.929097995e-02f, -1.041071489e-01f, + -1.737360209e-01f, 2.863425761e-02f, 1.463738382e-01f, -1.475410014e-01f, + -7.314212620e-03f, 9.219752997e-02f, -8.601426147e-03f, 6.501068175e-02f, + 1.284184456e-01f, -5.198924616e-02f, -2.776085585e-02f, -3.248352092e-03f, + 4.997943342e-02f, -1.267473213e-02f, -3.831121325e-02f, 5.972794071e-02f, + 3.404057026e-02f, 1.614149958e-01f, 8.565261960e-02f, -4.487758130e-02f, + -2.880369313e-02f, 4.046510160e-02f, -2.733587287e-02f, 5.788563564e-02f, + -3.547879308e-02f, 4.249326512e-02f, -6.368374079e-02f, 2.762195282e-02f, + 1.230381578e-01f, -5.396055058e-02f, -6.865999103e-02f, -2.200957201e-02f, + -8.277620375e-02f, 7.192377746e-02f, 5.806798488e-02f, -2.208430879e-02f, + 1.440055519e-01f, 9.405454248e-02f, -4.573780298e-02f, 1.302617341e-01f, + 1.279970855e-01f, -1.170598939e-01f, -2.574747428e-02f, -9.914577752e-02f, + 3.382989019e-02f, -1.619567424e-01f, 3.880826384e-02f, 2.085993998e-02f, + 2.144233696e-02f, 1.400294434e-02f, -1.972397231e-02f, -6.638357043e-02f, + 1.266920120e-01f, 1.018423289e-01f, 3.597171977e-02f, 4.210019857e-02f, + -1.082289219e-02f, 2.908904292e-02f, -3.635330126e-02f, -1.657255888e-01f, + -1.084317490e-01f, 6.047616899e-02f, -1.315997243e-01f, -5.056079477e-02f, + 2.207588218e-02f, 9.161274135e-02f, -6.438018382e-02f, -4.499334376e-03f, + -1.381776184e-01f, 3.657786548e-02f, -5.865135044e-02f, 7.231417298e-02f, + 1.597303152e-01f, 8.398761600e-02f, 5.969555676e-02f, 1.699751988e-02f, + -8.480610698e-02f, -1.321622282e-01f, 9.982752800e-02f, -4.819460213e-02f, + -4.384582397e-03f, -1.869128793e-01f, -1.111537218e-01f, 2.880687453e-02f, + 4.759195819e-02f, -8.536560461e-03f, 7.120267302e-02f, -7.249093801e-02f, + -7.878702134e-02f, -4.883108288e-02f, -8.621308953e-02f, 1.227135584e-01f, + 6.224825047e-03f, 6.599808484e-02f, 1.491391193e-02f, -1.815385818e-01f, + -8.907898882e-05f, -1.221216843e-02f, 7.670596242e-02f, -1.760143042e-01f, + -7.761344314e-02f, 1.752224714e-01f, -1.149111837e-01f, -5.143444054e-03f, + -2.728083730e-02f, -5.767181888e-02f, -1.834322810e-01f, -9.294203669e-02f, + -4.104984552e-02f, 4.604899138e-02f, 1.113720834e-01f, -4.202077538e-02f, + -1.010763273e-01f, 6.185172498e-02f, -1.799914986e-02f, 1.927330159e-02f, + -3.168759868e-02f, -2.127514966e-02f, -1.516774646e-03f, -1.667302847e-01f, + 1.554821879e-01f, -2.607005276e-02f, 6.525565684e-02f, -2.656811103e-02f, + -1.985793412e-01f, -1.178235784e-01f, -8.284971118e-02f, 6.529912353e-02f, + -1.985224634e-01f, -4.100194201e-02f, -1.131434739e-01f, -8.423905075e-02f, + 1.131067500e-01f, -2.501650155e-02f, -1.582769491e-02f, 6.537845358e-03f, + 1.434992999e-01f, 1.124117300e-01f, 8.488475531e-02f, -3.048993275e-02f, + -1.977601834e-02f, 2.236496843e-02f, -6.710399408e-03f, -4.163185600e-03f, + 1.194621529e-02f, 1.985504180e-01f, -1.163938195e-01f, 2.586877532e-02f, + 1.376943886e-01f, -7.156513631e-03f, 8.739934862e-02f, -2.782516740e-02f, + -2.405573381e-03f, 5.331119150e-02f, 1.595095992e-01f, -1.166342944e-02f, + 1.092618033e-01f, -3.118352406e-02f, 2.826046385e-02f, 2.854221128e-02f, + -9.852799028e-02f, -7.221975923e-02f, 9.106150828e-03f, 6.756366789e-02f, + 9.960374236e-02f, -1.491164565e-01f, 1.440026332e-02f, -3.881951794e-02f, + 7.802691311e-02f, -1.238332782e-02f, 2.819316695e-03f, 2.820189856e-02f, + 4.978728667e-02f, -2.248828560e-01f, -1.666599698e-02f, -3.028414212e-03f, + -2.203121781e-02f, -5.004325509e-02f, 9.275028855e-02f, 3.999659419e-02f, + -3.903428465e-02f, 9.916145355e-02f, -7.385852933e-02f, -1.089012101e-01f, + 1.328399498e-02f, 2.152573690e-02f, 1.111388057e-01f, -1.425512731e-01f, + 6.513620168e-02f, -2.091229893e-02f, -3.761375695e-02f, 1.251755748e-02f, + -3.743205965e-02f, -1.314954162e-01f, -1.356662959e-01f, -2.069451064e-01f, + -3.157464042e-02f, 1.248343512e-01f, -1.034786999e-01f, 1.344495565e-01f, + -3.791758791e-02f, 3.425531089e-02f, 3.438773006e-02f, 2.394125611e-02f, + 1.801608503e-01f, 7.507640868e-02f, -1.123641580e-01f, 3.962833434e-02f, + -3.320783004e-02f, 5.416304246e-02f, 3.631415218e-02f, 4.354652390e-02f, + -2.184993774e-02f, 9.133955091e-02f, 9.735896252e-03f, -1.085274592e-01f, + 6.656572223e-02f, -1.365695298e-01f, 1.307430118e-01f, 1.020112932e-01f, + -1.189363971e-01f, -9.512487054e-02f, 1.187124625e-01f, -2.997158840e-02f, + 7.786206156e-02f, 2.374303713e-02f, -5.293659866e-02f, -5.641676113e-02f, + -3.219622746e-02f, -1.433334053e-01f, -2.648323402e-02f, -2.798379213e-02f, + -6.658834219e-02f, 3.228255734e-02f, 1.992727071e-02f, -1.008456722e-01f, + 1.986999623e-02f, -2.117404044e-01f, 2.487278078e-03f, -7.555927336e-02f, + 2.345605195e-02f, -4.108595848e-02f, -9.014722705e-02f, 1.947681606e-02f, + -3.824149445e-02f, 4.894566536e-02f, 2.613266371e-02f, -1.869566143e-01f, + -1.362152118e-02f, 5.283524096e-02f, 2.292766422e-02f, 2.698833123e-02f, + -3.079930320e-02f, -7.730859518e-02f, -4.259669781e-02f, 9.566164017e-02f, + 5.001046136e-02f, 2.693980932e-02f, 1.692525984e-04f, -7.181604207e-02f, + 9.038756788e-02f, 2.870653383e-02f, -2.249459177e-01f, 1.259426475e-01f, + 1.283823252e-01f, -6.475041807e-02f, -7.559698820e-02f, 8.021395653e-02f, + 1.330114305e-01f, 4.713887349e-02f, 6.654839963e-02f, -3.778884187e-02f, + -1.960507035e-02f, -1.321532298e-02f, 1.090378761e-01f, -3.528958932e-02f, + -4.981575534e-02f, 1.498484015e-01f, -1.299573332e-01f, 8.880762011e-02f, + 4.358866811e-02f, 5.128370970e-02f, 2.455520257e-02f, -2.536295541e-02f, + -1.486186087e-01f, 3.989250958e-02f, 5.370737636e-04f, 7.679280639e-02f, + 1.215574741e-01f, -1.641647071e-01f, -4.357134551e-02f, 1.015437916e-01f, + -2.173810825e-02f, -9.907032549e-02f, 3.145430237e-02f, -1.081950441e-01f, + 8.969154209e-02f, -2.326778881e-02f, -1.201165281e-02f, -4.476063326e-02f, + 1.339276135e-02f, -1.447131485e-01f, -3.791204840e-02f, -9.638874978e-02f, + -1.329092830e-01f, 7.909523696e-02f, 9.424225241e-02f, -1.748100221e-01f, + -4.085946083e-02f, -3.664498404e-02f, -1.438233703e-01f, 1.303912252e-01f, + 9.747900814e-02f, -4.768641666e-02f, -1.943539232e-01f, 7.589542121e-02f, + -4.941632971e-02f, 5.889109150e-02f, 8.535041660e-02f, -6.820394099e-02f, + -1.164572611e-01f, -4.186962266e-03f, -9.833100438e-02f, 2.730575390e-02f, + 4.681260884e-02f, -9.400417656e-02f, 9.033492766e-03f, 2.024590503e-03f, + -1.164935827e-01f, 4.070101678e-02f, -3.731430694e-02f, -1.521959156e-02f, + 1.823145896e-02f, -7.587207109e-02f, 5.166836083e-02f, -1.230940688e-02f, + 7.169084251e-02f, -6.453748047e-02f, 1.248347461e-01f, -2.995236777e-02f, + -3.028061939e-03f, 5.736318417e-03f, -5.709798262e-02f, 5.171461403e-02f, + 3.284746408e-02f, 5.147457495e-02f, 1.134941876e-01f, 6.498996168e-02f, + 9.055417031e-02f, -9.715276957e-02f, 6.989137828e-02f, 1.215599664e-02f, + -1.783581823e-02f, 1.176945716e-01f, -7.022017241e-02f, 1.936756633e-02f, + 6.899821758e-02f, 1.167082414e-02f, -4.550296441e-02f, 1.118109375e-01f, + 6.255302578e-02f, -4.859290645e-02f, -9.743852913e-02f, 1.335989982e-01f, + 2.058450691e-02f, 1.981147565e-02f, -1.157924756e-01f, 1.220450252e-01f, + -1.554720402e-01f, -4.316024948e-03f, -4.204002395e-02f, -1.206859276e-01f, + 8.807168342e-04f, -3.106702119e-02f, -8.446194232e-02f, -1.294546574e-01f, + 6.948073395e-03f, 4.835112393e-02f, -4.096951336e-02f, -7.386122644e-02f, + 1.224631909e-02f, 2.710732445e-02f, -1.490830481e-01f, -1.977324672e-02f, + 8.197234571e-02f, -9.146983176e-02f, 4.046775773e-02f, -4.118050262e-02f, + 1.888645068e-02f, 7.881368697e-02f, 2.284696549e-01f, -1.444583386e-01f, + -1.778330468e-02f, -3.496481851e-02f, 2.733646631e-01f, -5.407050252e-03f, + -1.095728017e-02f, -2.529039606e-02f, -2.701351978e-02f, -1.729192287e-01f, + -1.469375789e-01f, -1.137041673e-01f, -1.045341343e-01f, 2.512288652e-02f, + -3.422877565e-02f, 2.350440621e-01f, -4.090064391e-02f, 2.389686108e-01f, + 8.085718006e-02f, 9.354800731e-02f, 3.420903906e-02f, -1.831068657e-02f, + -4.304895177e-02f, 3.806668567e-03f, 3.307135031e-02f, 2.787942253e-02f, + 3.480872512e-02f, 6.665611267e-02f, 3.460141644e-02f, 1.123606637e-01f, + -1.068859454e-02f, -8.121335506e-02f, -3.841869533e-02f, -1.428443342e-01f, + -9.217514098e-02f, -4.670205340e-02f, -3.055849113e-03f, -4.767957330e-02f, + -1.780757494e-02f, -2.175379843e-01f, 2.522951178e-02f, -3.139338642e-02f, + 5.652005319e-03f, 1.757642953e-03f, 4.067686573e-02f, 2.948091598e-03f, + 1.430760324e-01f, -2.671625018e-01f, 1.773990807e-03f, -9.003990889e-02f, + -2.106961608e-01f, 1.023130305e-02f, 3.789368272e-02f, 2.250142209e-02f, + 1.114201397e-01f, 7.501598448e-02f, -4.758722789e-04f, 5.298289470e-03f, + -1.876356080e-02f, 3.740084171e-02f, 3.594366834e-02f, -3.652786836e-02f, + 1.089331210e-01f, -1.976315305e-02f, -9.338225424e-02f, -2.676059306e-02f, + -6.278633326e-02f, -3.306158260e-02f, 2.722420171e-02f, -1.959522665e-01f, + -1.061887573e-02f, 4.026530311e-02f, -2.259906381e-02f, 3.087116405e-02f, + -1.197089031e-01f, -1.370412856e-01f, 2.869485691e-02f, 8.247753233e-02f, + 3.068124875e-02f, 1.369890124e-01f, -1.265924424e-01f, 1.265590191e-01f, + 1.207497716e-01f, -3.766258061e-02f, 1.026255041e-01f, 1.986142434e-02f, + -1.043952722e-02f, -3.514771909e-02f, -1.286447942e-01f, -6.100762635e-02f, + -1.174166519e-02f, -4.211940244e-02f, -1.103655249e-01f, -4.620856792e-02f, + -1.291100234e-01f, 2.896106243e-02f, 2.026956063e-03f, 2.480133437e-02f, + -4.016433284e-02f, 2.446915023e-02f, -1.199129894e-01f, 6.497491896e-02f, + 1.211980954e-01f, 1.221078634e-01f, 9.912245721e-02f, -9.832796641e-03f, + -1.653404683e-01f, 6.457719952e-02f, 1.973318011e-01f, 5.838184152e-03f, + 1.901684888e-02f, 1.034006178e-01f, -5.466256663e-02f, -2.124688402e-02f, + -1.918535531e-01f, 2.524055727e-02f, 1.303684115e-01f, -1.726500690e-02f, + -8.303388953e-02f, -1.487378329e-01f, -2.294539362e-01f, -5.955103040e-02f, + 9.229875356e-02f, -2.020387724e-02f, -9.416767210e-02f, 1.507313922e-02f, + -1.487745196e-01f, -1.293275952e-01f, -6.571944337e-03f, -1.159438938e-01f, + 3.452355042e-02f, -9.613576531e-02f, -6.601098925e-02f, 1.498631015e-02f, + 4.837394133e-02f, 2.677667700e-02f, 9.729447216e-02f, 8.972832561e-02f, + 1.174349785e-01f, 5.722516775e-02f, 1.422655489e-02f, 2.114582062e-02f, + -1.338680089e-01f, -4.640138894e-02f, 4.703509621e-03f, 2.576721646e-02f, + -1.573739052e-01f, -7.783113420e-02f, -5.319160223e-02f, 7.034375519e-02f, + 2.059112638e-01f, -2.777885646e-02f, -6.520379335e-02f, -1.145189703e-01f, + 2.716662548e-02f, -1.697952598e-01f, -1.332704872e-01f, 4.983391240e-02f, + -8.765022457e-02f, -2.030330151e-01f, 2.615438960e-02f, -5.929378048e-02f, + -8.142475039e-02f, -9.209492803e-02f, -3.828651737e-03f, -1.936104894e-02f, + -2.698761038e-02f, 6.950866431e-02f, 9.297384880e-03f, 6.769037992e-02f, + 4.662521929e-02f, -7.917014882e-03f, -8.173502237e-02f, -2.488452941e-02f, + -3.801571578e-02f, 1.059800461e-01f, -3.739422932e-02f, 2.863971144e-02f, + -1.662290245e-01f, 5.827967450e-02f, -3.886034340e-02f, 1.365833580e-01f, + -4.053990915e-02f, -2.367498726e-02f, -3.344197571e-02f, -5.312094092e-02f, + 3.755255044e-02f, 1.690450609e-01f, -5.764252320e-02f, 3.535818681e-02f, + 7.459241431e-03f, -6.879708916e-02f, 1.119627431e-01f, -4.576431960e-02f, + -1.079672277e-01f, 2.647712640e-02f, 1.837375946e-02f, -1.578712314e-01f, + -7.312481105e-02f, 2.436747402e-02f, -2.140829898e-02f, -5.934581161e-02f, + -4.920949694e-03f, 1.725067943e-02f, -1.754018068e-01f, -5.459851399e-02f, + -1.884240471e-02f, -2.008316293e-02f, 4.078046978e-02f, 3.820079565e-02f, + 4.821887985e-02f, -1.030399725e-01f, -3.236298263e-02f, 1.209855080e-03f, + -4.764697701e-02f, -1.056951657e-01f, 1.043430716e-01f, -4.921484366e-02f, + -2.918964252e-03f, 1.883856952e-01f, 1.426514983e-01f, 2.211273089e-02f, + 1.587772667e-01f, -1.140149161e-01f, -1.784384809e-02f, 1.701919734e-01f, + 1.237529051e-02f, -3.273529233e-03f, -8.082658052e-02f, 3.969416022e-02f, + 2.089457959e-02f, -1.104096845e-01f, 5.401791632e-02f, -3.486638889e-02f, + -1.863593757e-01f, -4.485727474e-02f, -1.105547249e-01f, -6.217939779e-02f, + 4.179567099e-02f, 3.669705242e-02f, 9.212600440e-02f, 5.360543728e-02f, + 4.574542120e-02f, -2.717728727e-02f, -1.133483648e-01f, -3.132284619e-03f, + -9.820540249e-02f, -6.418302655e-02f, 9.574881196e-02f, -4.028828442e-02f, + -6.589781493e-02f, -1.787387952e-02f, -3.307568654e-02f, 1.136562005e-01f, + 1.441267133e-02f, 7.558381557e-02f, -8.149529994e-02f, -1.823253557e-02f, + 1.402209140e-02f, 1.154808328e-02f, 5.417753011e-02f, 6.315421313e-02f, + 7.119555771e-02f, 7.861785591e-02f, -1.638993025e-01f, 1.219950151e-02f, + -2.911728062e-02f, 1.090054121e-02f, 9.051747620e-02f, -3.547005355e-02f, + 3.653165326e-02f, 6.491785496e-02f, 7.443889976e-02f, -2.180009522e-02f, + -3.119155206e-02f, -1.873783022e-01f, -3.316327929e-02f, 6.718023214e-03f, + 1.278427392e-01f, -2.287981659e-01f, -1.004450321e-01f, 7.261015475e-02f, + 1.649243236e-01f, -2.182743549e-01f, -5.218846351e-02f, 1.148920320e-02f, + 2.814394832e-01f, 1.177263632e-01f, -3.937472403e-02f, -8.745895326e-02f, + -3.156343475e-02f, 2.076761238e-02f, 1.205762178e-01f, 4.098831490e-02f, + -7.064390182e-02f, 1.443329006e-01f, -1.437156741e-02f, -2.359828204e-01f, + 1.719122678e-01f, 4.900305346e-02f, -2.563466318e-02f, 1.388672553e-02f, + -6.086879596e-02f, -2.195478231e-02f, 6.752205640e-02f, 7.786481827e-02f, + -7.466346771e-02f, -1.937840506e-02f, -3.888482600e-02f, 4.999727383e-02f, + -1.390830725e-01f, -7.484200597e-02f, 7.146929950e-02f, 1.195736155e-01f, + 5.756126717e-02f, -7.017394900e-02f, 9.587008506e-02f, 5.575757474e-02f, + -5.537981912e-02f, -4.469609261e-02f, 7.895197719e-02f, 1.763377897e-02f, + -4.026265815e-02f, 1.386329532e-01f, 1.723480970e-01f, 1.643128879e-02f, + 1.897464395e-01f, -1.051600575e-01f, -4.327025265e-02f, -1.079712361e-01f, + -2.632780466e-03f, 7.826432586e-02f, 4.538993165e-02f, 1.124803498e-01f, + -2.136842534e-02f, 2.794989198e-02f, 1.378238499e-01f, 4.400420561e-02f, + 1.139941812e-02f, -1.817120984e-02f, -1.324803829e-01f, 1.726675034e-01f, + -9.805680066e-02f, 3.310371190e-02f, -6.404792424e-03f, 1.691793203e-01f, + -2.787128650e-02f, -1.388642937e-01f, -1.807470620e-02f, -1.567022353e-01f, + -7.015732676e-02f, 1.405862439e-02f, -4.303620011e-02f, 7.999432087e-02f, + 8.766286075e-02f, -1.029611658e-02f, -3.210112336e-04f, -1.597400606e-01f, + -2.420236766e-01f, -4.376590252e-02f, 3.971050680e-02f, -4.827959836e-02f, + 2.286761068e-03f, -3.325998085e-03f, -1.869510263e-01f, 5.588707700e-02f, + -5.250799656e-02f, 9.678580612e-02f, 4.325916246e-02f, 3.852501512e-02f, + 2.484721318e-02f, 1.405811161e-01f, 1.217106357e-01f, -1.017260849e-01f, + -1.423714161e-01f, -8.098288439e-03f, -7.524940372e-02f, -1.270746589e-01f, + 7.681355625e-02f, 3.889575228e-02f, 1.028706133e-02f, -6.905849278e-02f, + -6.971130520e-02f, 4.456255957e-02f, -1.374796592e-02f, 3.261572868e-02f, + -9.166830033e-02f, -1.063770279e-01f, -5.978222564e-02f, -1.301939338e-01f, + -1.076619551e-01f, -7.442864031e-02f, 1.341074705e-02f, -7.282825559e-02f, + -5.707757920e-02f, 3.204485029e-02f, -8.672463894e-02f, -1.861419827e-01f, + -1.130381972e-01f, -6.121730432e-02f, -2.464475855e-02f, -1.207550755e-03f, + -8.797962964e-02f, -6.360547990e-02f, -1.431271583e-01f, -6.326202303e-02f, + 1.272861362e-01f, -1.589271799e-02f, 1.816734113e-02f, -3.595206141e-02f, + 1.223795265e-01f, 1.665901951e-02f, 3.301835433e-02f, 3.261050582e-02f, + 3.167568892e-02f, 2.275659516e-02f, -4.462647811e-02f, -2.508950047e-02f, + -1.495369077e-01f, -3.014478832e-02f, -9.241972864e-02f, 1.222605482e-01f, + -1.626719385e-01f, -9.703252465e-03f, 7.238697261e-02f, -7.823680341e-02f, + -8.440167457e-02f, -1.005786806e-01f, 9.829462320e-02f, 5.177092180e-02f, + 1.594334990e-01f, 8.754012175e-03f, 9.843535721e-02f, -1.668862998e-02f, + -5.884192511e-02f, 4.849889874e-02f, -2.953091823e-02f, 7.391086221e-02f, + 1.082466319e-01f, 1.419882663e-02f, 8.949019015e-02f, 3.995849565e-02f, + -6.760356575e-02f, -2.379503800e-03f, 9.942141920e-02f, 1.449367851e-01f, + -8.009159938e-04f, -8.914159983e-02f, 2.912684716e-02f, -6.672532111e-02f, + -1.540941652e-02f, 1.423514187e-01f, 4.952709749e-02f, -1.295914203e-01f, + 9.448662400e-02f, 4.683373845e-04f, -1.278944910e-01f, 1.014204789e-02f, + -3.773705661e-02f, -1.358762234e-01f, -2.368514240e-02f, 6.759051234e-02f, + 2.611588314e-02f, -7.867240161e-02f, 2.046950459e-01f, -4.933601245e-02f, + 6.470071524e-02f, 6.977468729e-02f, 4.860585555e-02f, 1.450406462e-01f, + 2.171406150e-01f, -6.394793093e-02f, -3.298074752e-02f, -4.607421160e-02f, + 2.621367387e-02f, -6.733873393e-03f, 4.965594038e-02f, 5.384265259e-02f, + 1.690539904e-02f, 9.355012327e-02f, -6.649062503e-03f, 7.660425454e-02f, + -2.194502763e-02f, -1.240726933e-01f, -3.920333087e-02f, 5.090049282e-02f, + 6.415948272e-02f, -4.930686206e-02f, 1.319421828e-01f, 7.273285836e-02f, + 2.073322237e-02f, -8.257138729e-02f, -2.529742895e-03f, -1.062856056e-02f, + 2.453708462e-02f, 2.556307428e-02f, 9.909280390e-02f, 1.615275443e-01f, + 1.442078799e-01f, 8.993862197e-03f, 1.328906566e-01f, -2.813648805e-02f, + 2.935338616e-01f, -2.815596201e-02f, 1.260614991e-01f, 2.124866396e-01f, + 1.347462833e-01f, 7.989688218e-02f, -3.907011449e-02f, -1.219434142e-01f, + -5.765985698e-02f, -8.112911019e-04f, -1.970854029e-02f, -1.289655268e-01f, + 1.125425920e-01f, -1.080361232e-01f, -8.931329101e-02f, 1.037981734e-01f, + -1.046201885e-01f, 8.097639680e-02f, 3.127786517e-02f, 1.246971413e-01f, + -7.774826139e-02f, -3.184805438e-02f, -4.764648154e-02f, 2.863586508e-02f, + -2.472459106e-03f, 4.660749808e-02f, 4.894680530e-02f, 1.182662696e-02f, + -1.239645928e-01f, -6.972432882e-02f, 1.215693280e-01f, 1.102515310e-01f, + -1.427716762e-01f, 2.260208875e-02f, -7.474262267e-02f, 1.025606394e-01f, + 6.485224515e-02f, 4.191841930e-02f, 1.225222275e-01f, 1.029442474e-01f, + 3.874780238e-02f, -4.497696087e-02f, -3.608679399e-02f, 1.330800802e-01f, + -2.909049019e-02f, -8.635331690e-02f, -5.267976224e-02f, 3.820694983e-02f, + 1.110970601e-02f, -1.330440044e-01f, 8.647431433e-02f, -2.737684734e-02f, + 8.070982993e-02f, -2.780969813e-02f, 1.046280190e-01f, -1.186120044e-02f, + -1.100433096e-01f, 6.002352387e-02f, -5.538282171e-02f, 5.148778111e-02f, + 1.046030223e-01f, -1.629863493e-02f, 9.234233201e-02f, 9.837495536e-02f, + -8.311004937e-02f, -6.388816237e-02f, -2.611401677e-02f, 8.958723396e-02f, + -1.730545983e-02f, 6.420323253e-02f, 1.301329285e-01f, 5.453740712e-03f, + -6.129660085e-02f, -8.361940086e-02f, 1.093984675e-02f, -8.484552056e-02f, + -2.364905924e-02f, -7.664755732e-02f, -2.986415988e-03f, 9.785755724e-02f, + -9.277839959e-02f, 5.942940712e-02f, -8.081065863e-02f, -5.937649310e-02f, + 4.184020311e-02f, 6.868381798e-02f, 5.903804675e-02f, 6.242150441e-02f, + 2.193566784e-02f, -2.265147492e-02f, 1.266017258e-01f, 3.467812762e-02f, + -4.052542523e-02f, 2.431417629e-02f, 8.434872329e-02f, -8.683823049e-02f, + -1.917508245e-01f, -1.631249785e-01f, -8.114247024e-02f, -1.150507480e-01f, + 7.278921455e-02f, -4.345803335e-02f, 1.994897798e-02f, -2.418606728e-02f, + -1.533164829e-01f, -1.089571044e-01f, -4.939541221e-02f, 1.536942124e-01f, + 5.157450587e-02f, 5.829051882e-02f, 9.299125522e-02f, 6.709004939e-02f, + 1.940928982e-03f, 2.324318327e-02f, -1.537513584e-01f, 1.325102001e-01f, + 5.833610520e-02f, -1.517122984e-01f, 3.510740772e-02f, -7.035221159e-02f, + -9.551125765e-02f, -1.448300760e-02f, 1.714679748e-01f, -1.716924608e-01f, + -2.316445298e-02f, -3.435056284e-02f, 1.667049341e-02f, 4.902525991e-02f, + 6.318615377e-02f, -3.838704154e-02f, -1.415117085e-02f, 1.098496616e-01f, + -1.279792786e-01f, 4.070402123e-03f, -4.337733984e-02f, 1.596755385e-01f, + 5.498597771e-02f, -1.057922244e-01f, 4.286082461e-02f, 1.420246903e-02f, + -1.153621376e-01f, -4.090832174e-02f, 3.468179330e-02f, 5.539369211e-02f, + -2.996618568e-04f, 4.179119691e-02f, 2.692872584e-01f, -1.114442796e-01f, + 9.739766270e-02f, 1.126732454e-01f, -1.073493734e-01f, -5.598675832e-02f, + -7.619168609e-02f, -7.977367938e-02f, 4.095638916e-02f, 5.855544657e-02f, + -6.261734664e-02f, 3.060380556e-02f, 2.994464524e-02f, 4.321269318e-02f, + 1.033573821e-01f, -1.503094733e-01f, -6.410426460e-03f, 1.904564202e-01f, + -3.491891315e-03f, 2.728115767e-03f, -6.858099252e-02f, -1.158375144e-01f, + -5.578013510e-02f, -7.373461127e-02f, 2.061379142e-02f, 1.198641062e-01f, + 1.487039030e-01f, 7.945449650e-02f, 2.905117720e-02f, 5.838884786e-02f, + 8.978923783e-03f, -1.049501225e-01f, 7.606689632e-02f, -4.702612385e-02f, + 1.006130502e-01f, -5.599413812e-02f, 8.571451157e-02f, 1.192093343e-01f, + -6.428543478e-02f, -1.869292408e-01f, -1.358319167e-02f, -5.094249174e-02f, + 7.955022901e-02f, 1.206944659e-01f, -3.761278465e-02f, 1.656650156e-01f, + 1.212415025e-01f, -1.871005632e-02f, -2.294284664e-02f, -1.613757163e-01f, + 5.308371410e-02f, 5.645856261e-03f, 9.179510921e-02f, 5.889515951e-02f, + -5.591563508e-02f, -2.028825693e-02f, -7.874669880e-02f, 3.570741788e-02f, + 4.591897503e-02f, 1.830793358e-02f, 6.055355817e-02f, 3.180036694e-02f, + -4.760222882e-02f, -2.446237765e-02f, 6.189932674e-02f, -4.353777319e-02f, + -2.410184965e-02f, 1.103230491e-01f, 1.921793073e-01f, -9.521297365e-02f, + -6.416760385e-02f, -1.639653146e-01f, -1.267147809e-01f, -1.226614639e-01f, + -8.702526800e-03f, -1.355776638e-01f, 5.761006102e-02f, 5.294146016e-02f, + 4.477293789e-02f, -2.082456602e-03f, 5.310878623e-03f, 2.431236207e-02f, + 6.738131493e-02f, 2.736793086e-02f, -8.154082298e-02f, 6.385279447e-02f, + 8.154339157e-03f, 1.411793195e-02f, 9.985888749e-02f, 5.211570486e-02f, + -1.531200409e-01f, -9.127456695e-02f, -1.490633637e-01f, -1.881934702e-02f, + 4.198523983e-02f, 2.487936988e-02f, -2.357969619e-02f, 2.973394934e-03f, + 6.768108904e-02f, 1.133409739e-01f, 3.357215598e-02f, 5.453065038e-02f, + 1.106932834e-01f, -9.063987434e-02f, -3.247311339e-02f, -1.623816192e-01f, + -8.308758261e-04f, 2.582669072e-02f, 1.061677933e-01f, -1.441447735e-01f, + 4.901025817e-02f, 1.093740463e-01f, -4.959731922e-02f, 8.002408780e-03f, + -2.609503269e-01f, 5.557836220e-02f, 7.494052500e-02f, 1.307609379e-01f, + 3.411087766e-02f, -6.011342630e-02f, -6.048753392e-03f, -4.084736574e-03f, + -2.035102695e-01f, -7.974589616e-02f, -1.675171107e-01f, 1.212808788e-01f, + -9.699159302e-03f, -1.724640094e-02f, -1.518384814e-01f, 1.073690057e-01f, + -1.886192150e-02f, 1.463973522e-01f, -3.879606724e-02f, -5.958087370e-02f, + -6.422000378e-02f, -4.545352980e-02f, 1.885404736e-01f, 1.103017479e-03f, + -1.511368454e-01f, 1.707380079e-02f, -1.029295772e-01f, 1.080943942e-01f, + -4.890770465e-02f, -1.546168607e-02f, -1.290201396e-01f, 6.879457831e-02f, + 1.886256188e-01f, 8.938490599e-02f, -2.519519255e-02f, -9.138753638e-03f, + 4.073034599e-02f, 8.518461138e-02f, -6.816899776e-02f, -1.298359483e-01f, + 7.279897481e-02f, -1.022140458e-01f, -6.510009617e-02f, 7.717445493e-02f, + 4.167507589e-02f, -1.436857581e-01f, -9.095135331e-02f, -2.297501825e-02f, + -4.175810516e-02f, 7.410022616e-02f, -8.695708215e-02f, -3.310560808e-02f, + 2.056851685e-01f, -1.956909150e-02f, 1.383095887e-02f, 7.660768926e-02f, + 1.043630391e-02f, 2.269894257e-02f, 5.400625244e-02f, 3.590083495e-02f, + 8.730378747e-02f, 3.264979273e-02f, -8.807459846e-03f, -6.062104553e-02f, + 8.083838969e-02f, -1.025986895e-01f, 8.010971546e-02f, 3.123340756e-02f, + -1.740159094e-01f, -1.634411961e-01f, 4.326987639e-02f, -4.195183516e-02f, + 6.480333977e-04f, -1.024494469e-01f, 1.342319250e-01f, 3.366832808e-02f, + 3.727141768e-02f, -2.747057937e-02f, 3.929913417e-02f, -9.988155216e-02f, + -3.929766640e-02f, -9.627607465e-02f, 4.026061296e-02f, -5.712573230e-02f, + -8.296390879e-04f, -5.294275470e-03f, 6.474749744e-02f, 6.410788000e-02f, + -4.297737498e-03f, -4.166588932e-02f, 1.664084643e-01f, -1.100071818e-01f, + 8.091606945e-02f, -1.486126035e-01f, 8.965481818e-02f, -9.253196418e-02f, + -2.284443751e-02f, -1.941281557e-01f, -2.433287911e-02f, -7.190959901e-02f, + -1.684795134e-02f, -6.235717982e-02f, -2.985293418e-02f, 1.494397670e-01f, + 7.004610449e-02f, 2.006948739e-02f, -1.077272519e-01f, 2.132489532e-02f, + -4.661262780e-02f, -5.433267727e-02f, -1.443511099e-01f, -7.109962404e-02f, + -3.893240541e-02f, 5.974110961e-02f, -8.264505863e-02f, 1.608381122e-01f, + 5.178238451e-02f, 2.729335241e-02f, 5.121630616e-03f, -7.363134064e-04f, + -1.361337304e-01f, 6.262878329e-02f, -1.471052915e-01f, 7.815957069e-02f, + 1.134050786e-01f, -2.785845287e-02f, 6.608832628e-02f, -1.170400064e-02f, + 7.108233124e-02f, 1.518203169e-01f, 9.101843089e-02f, 1.134356484e-02f, + -2.027784847e-02f, -6.385220587e-02f, 1.681180857e-02f, -1.085342020e-01f, + 2.078791261e-01f, 1.863945574e-01f, 2.421446890e-02f, -4.702083021e-02f, + 1.327461898e-01f, 1.071862951e-01f, 3.282517567e-02f, -8.664881438e-02f, + 5.437999591e-02f, 1.149549112e-01f, 1.328093261e-01f, -3.188713267e-02f, + 5.877064914e-02f, -2.239267901e-02f, 1.034466997e-01f, -1.147712674e-02f, + -5.557583645e-02f, 1.619636826e-02f, -8.134532720e-02f, -1.304108948e-01f, + -1.545569152e-01f, -3.581379727e-02f, -2.457159013e-02f, -6.557678431e-02f, + -1.097607166e-01f, 6.050339714e-02f, 1.748623513e-02f, -4.889694974e-03f, + -1.753710583e-02f, -2.429242432e-02f, 4.905680940e-02f, -8.502019197e-02f, + -9.738085419e-02f, 8.238013834e-02f, -5.542310700e-02f, -1.474605054e-01f, + -4.614170641e-02f, -5.687541515e-02f, 6.049038097e-02f, -1.819127202e-01f, + -1.400555819e-01f, -4.115614668e-02f, -2.200633883e-01f, 1.497446001e-01f, + 7.533026487e-02f, 1.552354693e-01f, -1.959752478e-02f, 6.106211222e-04f, + 4.036020860e-02f, 9.519812651e-03f, 8.365174383e-02f, -5.859510507e-03f, + 4.010602459e-02f, -1.785887778e-01f, -7.142914110e-04f, 4.500809312e-02f, + 1.351947784e-01f, 6.311662495e-03f, 1.796524972e-02f, -4.930861294e-02f, + 2.931815945e-02f, -1.096704528e-01f, -6.740287412e-03f, 3.969761357e-02f, + 7.807508856e-02f, -2.664174139e-02f, 2.880440839e-02f, 2.667611092e-02f, + 1.018331796e-01f, -1.376655102e-01f, -1.164154895e-02f, 9.940930456e-02f, + -8.680178970e-02f, 2.059854008e-02f, -8.386339992e-02f, 1.253231317e-01f, + -7.112137973e-02f, -6.856923550e-02f, -9.431121871e-03f, -6.916813087e-03f, + -8.659288287e-02f, 2.558665350e-02f, -7.830016315e-02f, 6.443034112e-02f, + -6.126492843e-02f, -9.620486945e-02f, 9.304580092e-02f, 6.913325936e-02f, + 5.809676647e-02f, -1.840109192e-02f, -5.769459158e-02f, -9.305559099e-02f, + 1.496204454e-02f, 1.297634989e-01f, 1.326456964e-01f, 5.234919116e-02f, + 1.775702089e-02f, -2.417480797e-01f, 3.310732171e-02f, 9.253112972e-02f, + 2.767601795e-02f, 9.812919796e-02f, 1.566304825e-02f, -1.409914196e-01f, + -1.143384632e-02f, -1.494523045e-02f, 1.523833275e-01f, 3.731828555e-02f, + -1.159829125e-01f, 3.568372130e-02f, 8.003599197e-02f, 5.384768173e-02f, + -8.755560219e-02f, 8.355490118e-02f, 6.438375264e-02f, 4.068587348e-02f, + -8.614785969e-02f, 2.833772451e-02f, 1.756502539e-01f, 9.676624089e-02f, + 2.923470736e-02f, 6.820072234e-02f, -1.410958078e-02f, 2.973324358e-01f, + -1.275109053e-01f, -9.653844871e-03f, 6.659633666e-02f, -1.347494591e-02f, + 4.639336094e-02f, 1.417476125e-02f, 2.346049696e-01f, -1.475344412e-02f, + 3.345271945e-02f, -7.032370567e-02f, 5.299956072e-03f, 2.994309552e-02f, + -4.112286866e-02f, 1.997755654e-02f, -9.314683825e-02f, 1.445412636e-01f, + -4.752764478e-02f, -4.372697696e-02f, -1.925895661e-01f, -6.768467277e-02f, + 1.204282492e-01f, 1.603410393e-01f, -6.160179153e-02f, -3.370722756e-02f, + -2.579312585e-02f, -2.731634304e-02f, -5.463158712e-02f, -2.152395248e-02f, + -4.762817919e-02f, -9.917918593e-02f, -1.048707068e-01f, 1.290594786e-01f, + 2.655976266e-02f, 4.620524123e-02f, -3.569792584e-02f, -1.438366771e-01f, + 3.679097816e-02f, -1.448162496e-01f, -9.319410473e-02f, 3.661567718e-02f, + -3.559534671e-03f, -7.225216180e-02f, -1.530574542e-02f, -1.299253013e-02f, + 1.195150986e-01f, -1.794148050e-02f, -1.677687168e-01f, -1.065303460e-01f, + -4.836250097e-02f, -9.260592610e-02f, 3.626225516e-02f, -2.552021667e-02f, + 1.961817145e-01f, -1.004139632e-01f, 4.683005624e-03f, 2.234336548e-02f, + 1.040692851e-01f, -5.242531747e-02f, 4.108653963e-02f, -3.078047931e-02f, + 5.667200685e-02f, -3.609295562e-02f, -7.942258567e-02f, -3.660948575e-02f, + -6.988199055e-02f, -7.499200106e-02f, 1.785945147e-01f, 1.467387080e-01f, + 8.883070946e-02f, -7.067327201e-02f, -1.943074018e-01f, 1.306192949e-02f, + 9.594918787e-02f, 1.181095764e-01f, -6.038450077e-02f, 6.711270660e-02f, + 5.271917209e-02f, -2.790852450e-02f, 3.435475379e-02f, -8.147518337e-02f, + 8.582569659e-02f, 5.843944475e-02f, 1.054990105e-02f, -1.022475809e-01f, + -1.084862556e-02f, 4.015146568e-02f, -1.487101614e-01f, -3.161409870e-02f, + -2.141189948e-02f, -2.984050661e-02f, -1.461381018e-01f, 8.185394108e-02f, + -1.620257944e-01f, -2.670439705e-02f, 1.262572855e-01f, 9.070944041e-02f, + 9.492286295e-02f, -5.193851888e-02f, -2.554246783e-02f, -5.690688267e-03f, + 7.167575508e-02f, 1.050040051e-01f, -1.833567582e-02f, -4.402913898e-02f, + 1.028083190e-01f, 1.948188618e-02f, -9.586106986e-03f, -7.048696280e-02f, + -3.039190918e-02f, -8.314824104e-02f, 5.404938012e-02f, -1.022420377e-01f, + 9.212888777e-02f, -2.416983619e-02f, 2.486034334e-01f, -9.323829412e-02f, + -2.797187679e-02f, 9.023719281e-02f, 4.947506264e-02f, 6.935852021e-02f, + 1.900012605e-02f, 7.673562318e-02f, 3.278245032e-02f, -4.998018965e-03f, + -5.584707856e-02f, 4.042296670e-03f, 1.166981179e-02f, -1.324874759e-01f, + 7.567300647e-02f, 2.451710775e-02f, 2.904191054e-02f, 1.406714227e-02f, + 9.551734664e-03f, 1.557274908e-01f, -7.206060924e-03f, -1.477609426e-01f, + -7.769584656e-02f, 4.250876978e-02f, -7.107010484e-02f, 2.209988236e-01f, + 1.796088815e-01f, 7.842956111e-03f, -2.551525459e-02f, 3.326784819e-02f, + -9.830790013e-02f, -4.944389686e-02f, 2.047563903e-02f, 7.097902894e-02f, + -8.911909908e-02f, 1.117848456e-01f, 8.064915240e-02f, 9.055816382e-02f, + -1.141643003e-01f, -2.405534536e-01f, 1.431174278e-01f, -8.907764405e-02f, + 1.036396399e-01f, -1.208724570e-04f, -8.777324855e-02f, 2.033727318e-01f, + -8.115993813e-03f, -6.173033640e-02f, -1.885667071e-02f, -5.213839188e-02f, + -2.186537348e-02f, -1.427198946e-01f, -8.771292865e-02f, 3.714079037e-02f, + -1.004319191e-01f, -4.049980640e-02f, 4.045610130e-02f, -1.688891277e-02f, + -8.533027023e-02f, -1.024470255e-01f, -7.363883406e-02f, 7.185446564e-03f, + -2.005314268e-02f, -3.701262549e-02f, 8.346336335e-02f, -8.078487217e-02f, + -8.295332640e-02f, 1.677028090e-01f, -8.604732156e-02f, -5.288650095e-02f, + -2.612833492e-02f, 3.483499214e-02f, 4.388334230e-02f, -1.155626103e-01f, + -1.100150347e-01f, -2.573272288e-01f, -3.563231230e-02f, -5.842556432e-02f, + 9.973280877e-02f, 1.030670181e-01f, 6.772647798e-02f, -9.910316020e-02f, + 1.457191557e-01f, -1.602702439e-01f, -5.905870721e-02f, 5.202885717e-03f, + 7.228566706e-02f, -6.855297089e-02f, 1.602223068e-01f, 6.143380888e-03f, + 6.732124835e-02f, 6.155340001e-02f, 1.026072167e-02f, -1.440301389e-01f, + -4.393074289e-02f, 2.064849436e-02f, 3.622444719e-02f, -8.186671883e-03f, + 8.964363486e-02f, -5.210577510e-03f, 4.692059010e-02f, -2.525083534e-02f, + 1.940442026e-01f, -5.814462528e-02f, 1.313296407e-01f, -7.300823182e-02f, + 1.478421539e-01f, -6.961024553e-02f, 2.143840678e-02f, -6.318995357e-02f, + -2.512850799e-02f, -1.432431638e-01f, 2.260294184e-02f, -3.532709181e-02f, + -4.963202029e-02f, 1.525440457e-04f, 5.679374188e-02f, 1.265612710e-02f, + -4.621526226e-02f, 8.389053494e-02f, -3.886759281e-02f, 6.511101872e-02f, + 2.199274674e-02f, 3.141663596e-02f, 1.070934981e-01f, 1.584888846e-01f, + -8.802171797e-02f, -2.610924654e-02f, 5.516877770e-02f, 1.561400741e-01f, + 1.528013796e-01f, -7.802009117e-03f, 4.427284747e-02f, -5.908402428e-02f, + 1.936724409e-02f, -7.062152028e-02f, -2.151247673e-02f, -4.871750250e-02f, + -8.011016995e-02f, 3.315542638e-02f, -1.537673622e-01f, 1.194981858e-01f, + -4.966874793e-02f, 5.032895878e-02f, -1.004954875e-01f, -9.043660015e-02f, + -1.302001476e-01f, -1.374304742e-01f, 1.342104077e-01f, -2.884178422e-02f, + -1.745533757e-02f, 1.113040596e-01f, -1.194690466e-01f, 1.930349618e-01f, + 3.959892318e-02f, 6.324064918e-03f, -5.404415727e-02f, -2.524982765e-02f, + -9.830126166e-02f, 4.066557437e-02f, -6.651920825e-02f, -3.133711591e-02f, + 7.673349977e-02f, 7.426550239e-02f, 1.148666888e-01f, -1.783294976e-01f, + 1.615554541e-01f, -1.462160349e-01f, 1.278275624e-02f, 3.426982462e-02f, + 1.188530400e-01f, -1.935699768e-02f, 1.947700419e-02f, 5.431015790e-02f, + 4.734144732e-02f, 2.771843038e-02f, 1.588594615e-01f, 3.828461096e-02f, + -5.967775825e-03f, 1.169295684e-01f, -1.320250928e-01f, 2.216789313e-02f, + -1.768780313e-02f, 2.114129812e-02f, 1.396583170e-01f, -2.409216017e-02f, + -1.725905687e-01f, -2.090457082e-02f, 3.519437462e-02f, 3.699020669e-02f, + -6.722347438e-02f, 3.545232117e-02f, -1.369601488e-01f, -6.888917089e-02f, + -7.893963158e-02f, 1.888213307e-02f, 9.715378284e-03f, 4.469595850e-02f, + -3.040767089e-02f, -2.500699647e-02f, 7.296846807e-02f, 6.403214484e-02f, + -1.836716011e-02f, 4.987595230e-02f, 9.749721736e-02f, -7.359335572e-02f, + -9.883721173e-02f, -1.888494343e-01f, -5.052104965e-02f, -8.502477407e-02f, + -1.041755155e-01f, 1.011039596e-02f, 1.737717986e-01f, 5.979721248e-02f, + 5.894517899e-02f, 6.456908584e-02f, 5.200489610e-02f, 8.917710185e-02f, + 4.610778764e-02f, 4.023618996e-03f, -5.015457515e-03f, -2.667072788e-02f, + 2.682111971e-02f, -5.964212492e-02f, -1.098400634e-02f, -7.399267703e-02f, + -9.523928910e-02f, 1.854016185e-01f, -1.309196651e-01f, 2.112665586e-02f, + 5.428260192e-02f, 2.886580676e-02f, 1.256251782e-01f, -7.249130309e-02f, + -7.478722185e-02f, 1.372665465e-01f, -1.836636290e-02f, 8.868209086e-03f, + 1.183972135e-01f, -1.311601698e-01f, 4.589805380e-02f, -5.004040897e-02f, + -1.109145582e-01f, -4.575080425e-02f, 5.703465268e-02f, 1.287273690e-02f, + 4.076077044e-02f, 1.575687081e-01f, -8.178944141e-02f, 3.853227198e-02f, + 6.328955293e-02f, 7.430963963e-02f, -1.685241461e-01f, 6.896861643e-02f, + -5.782135949e-02f, 6.838309020e-02f, 5.682987347e-02f, 1.733858883e-01f, + -2.759878933e-01f, 1.502022892e-02f, 6.450100988e-02f, 7.841574028e-03f, + -7.083779573e-02f, -8.330817521e-02f, -1.288484335e-01f, 1.283669099e-02f, + -1.745207012e-01f, -1.176126748e-01f, -9.586362541e-02f, -1.476336867e-01f, + -1.873062924e-02f, -9.033589810e-02f, -6.872544438e-02f, -2.154678106e-02f, + -6.032646075e-02f, -3.557902994e-03f, -1.818699390e-01f, -1.082853824e-01f, + 1.349315792e-01f, -7.258825470e-03f, 5.703251809e-02f, -1.459070854e-02f, + -1.428115368e-01f, -7.555206772e-03f, -2.831174061e-02f, 1.375609338e-01f, + 1.734908372e-01f, 8.631390333e-02f, 1.264497638e-01f, -7.876202464e-03f, + -3.919724002e-02f, 1.143531576e-01f, 1.448889729e-02f, -4.642666131e-02f, + 4.397525266e-02f, -1.595534980e-01f, -8.955254406e-02f, -6.343945861e-03f, + -3.264396638e-02f, 1.059890538e-01f, -6.723181158e-02f, 1.940738410e-01f, + -4.977183789e-02f, -4.716388881e-02f, 2.162468852e-03f, -1.592074637e-03f, + -1.339383610e-02f, 5.558017269e-02f, 2.877021953e-02f, -4.544311017e-02f, + 1.494788844e-02f, 7.239192724e-02f, 2.399140596e-02f, -1.015666500e-02f, + -8.570827544e-02f, -2.522283606e-02f, 6.016062945e-02f, -1.667919308e-01f, + -1.039030850e-01f, -1.106133386e-01f, 2.996416879e-04f, 7.297968119e-02f, + 2.269680426e-02f, -1.467328169e-03f, 4.700974002e-02f, 2.402181551e-02f, + 5.718916282e-02f, -2.487740293e-02f, 1.158303022e-01f, -1.294493396e-02f, + -3.939995170e-02f, -1.570345610e-01f, -5.122334510e-02f, 5.444765836e-02f, + 1.791424304e-02f, -2.699299157e-02f, -5.797467381e-02f, 6.141491234e-02f, + 2.994423546e-02f, -1.834996045e-02f, 2.933546156e-02f, -4.710415751e-02f, + -3.214750439e-02f, 1.773977876e-01f, -5.217413977e-02f, -7.886371762e-02f, + -3.072880395e-02f, 1.000077575e-01f, 8.498452604e-03f, 1.539999694e-01f, + -1.125501003e-02f, -5.949788168e-02f, -9.844978899e-02f, 9.425306320e-02f, + -2.071509510e-01f, 8.210663497e-02f, 1.202523112e-01f, -8.317105472e-02f, + -4.348632880e-03f, 9.608235210e-02f, 2.754111029e-02f, -1.325228065e-02f, + -1.036558067e-03f, -4.216709733e-02f, 6.967118382e-02f, -1.503051817e-01f, + 1.040585712e-01f, 5.126854032e-02f, -4.381153733e-02f, 7.467253506e-02f, + 1.093759835e-01f, -5.828026682e-02f, 1.523217708e-01f, -1.251746863e-01f, + 8.068586141e-02f, -3.233771399e-02f, 1.137439460e-01f, 1.383635551e-01f, + -2.458449639e-02f, 2.036860771e-02f, 2.640248463e-02f, -7.105287910e-02f, + -2.647067653e-03f, 1.377426982e-01f, -7.780385762e-02f, -8.791879751e-03f, + 1.814550348e-02f, 5.202479288e-02f, 7.953462750e-02f, -5.953545868e-02f, + 1.086707972e-02f, 1.083718464e-01f, 1.440279484e-01f, 7.536966354e-02f, + -1.432438642e-01f, 7.825447619e-02f, -3.886631690e-03f, 8.202319592e-02f, + 3.232591599e-02f, 2.787606418e-01f, -1.223841906e-01f, 8.268592879e-03f, + -6.081471220e-02f, 6.925249845e-02f, -3.084557876e-02f, 7.142616808e-02f, + 5.290392786e-03f, 2.305491455e-02f, 1.103412434e-01f, 8.111888915e-02f, + -4.895319045e-02f, -1.732581854e-02f, 4.205931351e-02f, 1.750436723e-01f, + 1.718075946e-02f, -9.205983020e-03f, 1.285648793e-01f, 6.124131382e-02f, + -1.589818895e-01f, 4.417389259e-02f, -1.066953614e-01f, -6.005510315e-02f, + 6.066242978e-02f, 1.629222482e-01f, -9.265968949e-02f, -1.660028547e-01f, + -1.177932695e-01f, -9.672588110e-02f, -6.919634994e-03f, 6.880962849e-02f, + 8.087234944e-02f, -4.427092895e-02f, 6.995530427e-02f, -7.275831420e-03f, + 4.696542397e-02f, 1.261520535e-01f, 1.194593236e-01f, 4.353003204e-02f, + -1.754729748e-01f, -1.224819198e-01f, 8.390403539e-02f, 6.829631049e-03f, + -6.612217426e-02f, 8.762554079e-02f, -4.740046803e-03f, 4.270077497e-02f, + -6.056069955e-02f, -7.862648368e-02f, 1.243536174e-02f, -8.042184263e-02f, + -2.079528570e-01f, 1.882399246e-02f, -8.340470493e-03f, -5.849222466e-02f, + -4.499166831e-02f, -1.009992789e-02f, -1.359015256e-01f, -1.486957222e-01f, + 5.727003887e-02f, -6.170875952e-02f, -2.133568190e-02f, -1.223120913e-01f, + 1.863092743e-02f, 8.442594856e-02f, -5.271058530e-02f, 1.252442878e-02f, + -5.095274746e-02f, -8.890000731e-02f, -1.560937520e-02f, 4.758323729e-02f, + 3.328728676e-02f, -9.087713063e-02f, -1.516814530e-01f, -7.662428916e-02f, + -2.887191251e-02f, -1.097830087e-01f, -2.454045601e-02f, -7.923670113e-02f, + -9.900902212e-02f, -7.484678645e-03f, 8.954731375e-02f, 4.509740695e-02f, + -1.166510358e-01f, -1.043780595e-01f, -5.209385976e-02f, 9.136081487e-02f, + 3.150908044e-03f, -1.814757586e-01f, 7.543211430e-02f, 6.039482728e-02f, + -8.531714231e-02f, 6.274345517e-02f, -2.152910233e-01f, -6.367000192e-02f, + 1.522189528e-01f, 7.552793622e-02f, 3.239987046e-02f, -7.668722421e-02f, + 1.409528404e-01f, -2.818065323e-02f, 5.760047957e-02f, 4.992869869e-02f, + -6.463063508e-02f, 3.809060901e-02f, 1.041827649e-01f, -3.644629940e-02f, + 5.266976357e-02f, -1.952546239e-01f, 1.389116496e-01f, -2.996380813e-02f, + -4.458383471e-02f, -1.065966040e-01f, -1.549250484e-01f, 7.173060905e-03f, + -1.335791498e-01f, 2.069836773e-04f, 4.625179619e-02f, -1.344941258e-01f, + 4.283691198e-02f, -8.752242476e-02f, 1.667322665e-01f, 1.670609862e-01f, + -8.386051655e-02f, 3.884499893e-02f, -1.078299284e-01f, -1.838636100e-01f, + 2.885910496e-02f, -8.339758962e-02f, -8.290982805e-04f, 4.939549416e-02f, + 7.604368776e-02f, 7.942247204e-03f, -2.102479711e-02f, -6.522490084e-02f, + 1.401596144e-02f, 1.157789156e-01f, -5.135041848e-02f, -8.146274090e-02f, + 9.293755889e-02f, -2.418696694e-02f, -9.847520292e-02f, 1.688686609e-01f, + -4.893748462e-02f, 8.578351140e-02f, 2.414070964e-01f, 4.780376330e-03f, + 4.602810740e-02f, -5.852508475e-04f, -8.768776804e-02f, -9.275443852e-03f, + 1.170952991e-01f, 6.800582260e-02f, 7.686129212e-02f, -3.278512508e-02f, + 1.773671955e-01f, 7.870493084e-02f, -8.868819475e-02f, -3.022002056e-02f, + -7.637631614e-03f, 5.362172797e-02f, -1.599864289e-02f, 1.892310381e-01f, + -2.694460005e-02f, -9.039086290e-03f, 8.208190650e-02f, -2.517189831e-02f, + 2.651658468e-02f, 7.933118194e-02f, 4.681812227e-02f, 6.294285413e-04f, + -1.227209251e-02f, -3.667777404e-02f, -1.940293238e-02f, 1.497619897e-01f, + 1.249262542e-01f, -3.528604284e-02f, -7.717314176e-03f, 3.762656450e-02f, + -6.380405277e-02f, -1.156683732e-02f, -1.094953716e-01f, 4.672725126e-02f, + 2.593709826e-01f, 5.872841924e-02f, 3.719669580e-02f, 6.202973798e-02f, + -1.331710517e-01f, 5.192111060e-02f, -3.943686839e-03f, 4.501900449e-02f, + 2.747720852e-02f, -1.590882603e-04f, 4.124640836e-04f, 1.633228958e-01f, + -1.909398101e-02f, 3.460951149e-03f, 5.896133184e-02f, 7.832758129e-02f, + 8.293136489e-04f, 2.060948312e-02f, 3.840563074e-02f, 9.593323804e-03f, + -4.625256732e-02f, -8.258977532e-02f, -3.185381740e-02f, -2.664923668e-01f, + 7.551530004e-02f, -1.947200298e-02f, -5.542523041e-02f, -4.944817722e-02f, + -5.311003327e-02f, 8.900851756e-02f, 2.276267484e-02f, 1.205314994e-01f, + -1.342751831e-01f, 7.017847151e-02f, 3.328743950e-02f, 9.270688146e-02f, + 1.931408979e-02f, 4.147092625e-02f, -2.793877618e-03f, -3.274401277e-02f, + -2.836366557e-02f, -3.572477028e-02f, -9.074257314e-02f, -1.637161821e-01f, + -8.809123188e-02f, -7.135618478e-02f, -1.375981048e-02f, 9.327726066e-02f, + -1.927528828e-01f, -4.627847299e-02f, -5.662612990e-02f, 3.576492891e-02f, + -2.086588144e-01f, 1.453260425e-02f, -3.441970423e-02f, -2.862443961e-02f, + 8.090768009e-02f, 7.312567532e-02f, -4.980876669e-02f, 2.775055543e-02f, + 3.220952675e-02f, -4.577942193e-02f, -1.701174676e-02f, -1.024105120e-02f, + -3.497201577e-02f, -1.464949101e-01f, 7.142499089e-02f, 9.114371240e-02f, + 3.435326368e-02f, 1.289620697e-01f, 3.650629520e-02f, -1.956211329e-01f, + -2.175316773e-02f, 1.729972102e-02f, 1.676461697e-01f, 6.262114644e-02f, + -9.874836355e-02f, -1.894863546e-01f, -4.353160411e-02f, 1.567956656e-01f, + -5.652975291e-02f, 8.676912636e-02f, 1.361806691e-01f, 3.113763966e-02f, + 8.592335880e-02f, 6.800095737e-02f, -2.314850129e-02f, 2.621687390e-02f, + -5.391803384e-02f, -1.177771110e-02f, -2.356496826e-02f, -1.156690866e-01f, + 6.449311972e-02f, 7.050700486e-03f, -1.078594010e-02f, -1.188359037e-01f, + -5.184562877e-02f, -4.692072049e-02f, 5.557058379e-02f, 6.202575937e-02f, + -1.619922817e-01f, -8.546676487e-02f, -1.861434579e-01f, -3.412822494e-03f, + 1.139151752e-01f, 8.032891899e-02f, 4.202806577e-02f, 6.765311211e-02f, + 1.601128839e-03f, 5.682691187e-02f, 3.366215155e-02f, 1.068655476e-01f, + -8.585492522e-02f, 4.327535629e-02f, 3.644179553e-02f, -4.123107716e-02f, + -6.591989100e-02f, 1.197066903e-01f, -1.733000129e-01f, -3.308905289e-02f, + 7.777255028e-02f, -9.516874701e-02f, 5.397415161e-02f, -1.605341136e-01f, + 9.043126553e-02f, 1.007625461e-01f, 1.033671126e-01f, 8.413375914e-02f, + -5.832938012e-03f, 1.326079220e-01f, -1.057069078e-01f, -5.812194571e-02f, + -4.473020881e-02f, -1.557788055e-04f, 1.251473874e-01f, 7.423415780e-02f, + -1.202212088e-02f, 1.525627375e-01f, -1.526037753e-01f, -1.450723130e-02f, + -1.707526669e-02f, 3.096261807e-02f, -6.596932188e-03f, -3.294732422e-02f, + 7.661345601e-02f, 1.253136396e-01f, 8.991840295e-03f, 1.126718707e-02f, + -4.258128256e-02f, -1.091414317e-02f, -3.725793585e-02f, 3.413660824e-02f, + 1.163507253e-02f, 1.025372297e-01f, 1.354422122e-01f, -1.296089292e-01f, + -8.481262624e-02f, -5.314181559e-03f, -4.692419246e-02f, -2.191145904e-02f, + 1.044020206e-01f, -3.302364051e-02f, 6.185168400e-03f, 3.489319608e-02f, + -9.349512309e-02f, -4.849946499e-02f, 9.770392627e-02f, -2.360681072e-02f, + -9.665265679e-02f, -2.772238664e-02f, 1.304925680e-01f, 1.454796642e-01f, + 8.208231628e-02f, 6.042205170e-02f, 1.147538703e-02f, 1.352334619e-01f, + -7.166226953e-02f, -3.525502980e-02f, -1.397299469e-01f, 6.359209772e-03f, + -1.798487157e-01f, -3.802906349e-02f, 9.359933436e-03f, 1.675882004e-02f, + -3.399747610e-02f, -2.266182005e-02f, 1.127706934e-02f, -3.938909993e-02f, + -6.955697387e-02f, 3.992459178e-02f, 1.051514447e-01f, 1.122114528e-02f, + -5.809958093e-03f, -6.659172475e-03f, -1.461967826e-01f, 8.398265392e-02f, + 1.499078721e-01f, -2.955529280e-02f, -4.172674567e-02f, 2.498352677e-01f, + 3.404900432e-02f, -2.993678302e-02f, -1.756853014e-01f, 7.528153807e-02f, + 4.040369391e-02f, -9.428729862e-02f, -9.455195069e-02f, -1.105614826e-01f, + 9.112860076e-03f, -4.873355478e-02f, -2.120588571e-01f, 1.320638210e-01f, + -2.227986753e-01f, -5.028019845e-02f, -8.773407899e-03f, -6.153744832e-02f, + -4.815004766e-02f, 2.066206932e-02f, 9.605705738e-02f, 2.307598107e-02f, + 1.078779250e-02f, 1.892029541e-03f, 2.999604121e-02f, -3.522955254e-02f, + -1.013299748e-01f, 1.374278404e-02f, 8.383496851e-02f, -6.627382338e-02f, + -2.653876692e-02f, 2.671816573e-02f, -2.074419260e-01f, 5.315966532e-02f, + 1.686375961e-02f, 1.516931504e-02f, 4.504899308e-02f, 8.009482175e-02f, + -1.564020663e-02f, 6.235495955e-02f, 2.250786424e-01f, -5.872588605e-02f, + -3.173193336e-02f, -1.249344833e-02f, 8.512797765e-03f, 1.108494475e-01f, + 8.047441393e-02f, 1.146733463e-01f, 1.198879327e-03f, 6.385061145e-02f, + 1.160084978e-01f, -6.501179934e-02f, 7.666566968e-02f, -2.022561580e-01f, + 1.666635126e-01f, 7.272283733e-02f, 3.151976317e-02f, -1.634504348e-01f, + -1.827893555e-01f, 1.381945163e-01f, 6.198863313e-02f, 7.831287384e-02f, + 4.707789049e-03f, 5.734385177e-02f, 5.875322968e-02f, 2.712502331e-02f, + -6.623423845e-02f, 2.496017702e-02f, 1.359743476e-01f, -5.810207874e-02f, + -2.251970917e-01f, 2.080916055e-02f, 1.758993119e-01f, 1.438972950e-01f, + -1.849083975e-02f, -7.519041002e-02f, 4.231791943e-02f, 7.459684461e-02f, + -1.920210719e-01f, 4.329808801e-02f, 5.037491769e-02f, -1.525017023e-01f, + 7.428577542e-02f, -1.939078607e-02f, 9.963749349e-02f, 1.534098834e-01f, + 7.597823441e-02f, 7.509877533e-02f, 7.537048659e-04f, 2.407618426e-02f, + 2.428213321e-02f, 5.414711311e-02f, -5.193678662e-02f, -7.328740507e-02f, + 4.544282705e-02f, 9.604235739e-02f, -1.663045399e-02f, -1.575068831e-01f, + 2.160379142e-01f, 1.785025448e-01f, 2.039933205e-02f, -4.465124384e-02f, + -2.667918056e-02f, 5.663329363e-02f, 8.039510995e-02f, -6.868674606e-02f, + 1.561671197e-01f, -6.004833058e-02f, -7.494829595e-02f, -1.576418579e-01f, + -4.911712930e-02f, -3.980038315e-02f, 1.135089695e-01f, -1.024695635e-01f, + 1.015921775e-02f, -1.161887776e-02f, 5.206425115e-02f, 7.333219051e-02f, + 1.302151359e-03f, -7.402995229e-02f, -2.350535057e-02f, -3.026431426e-03f, + 1.018045768e-01f, 6.729035825e-02f, -1.002063975e-01f, 5.682165921e-02f, + -3.857333958e-02f, 7.813382894e-02f, 4.733780399e-02f, -1.529135043e-03f, + 6.947066635e-02f, -2.177399956e-02f, -1.020532101e-01f, 8.756898344e-03f, + 1.421971917e-01f, -2.482872456e-01f, 2.824643394e-03f, -3.541078791e-02f, + 9.053978138e-03f, -2.216214314e-02f, -8.517113514e-03f, -5.076862872e-04f, + -1.001039706e-02f, -3.676811978e-02f, -5.939251184e-02f, 2.894188277e-02f, + -6.377939880e-02f, -1.760428995e-01f, -2.488250285e-02f, 1.086428612e-01f, + -1.698519476e-02f, 8.088223636e-02f, 2.161356620e-02f, -7.151252776e-02f, + -4.999190196e-02f, -1.608931720e-01f, -1.418215316e-02f, -9.690205008e-02f, + 2.960209362e-02f, -1.269258857e-01f, 6.458416581e-02f, -1.453428268e-01f, + 5.869301502e-03f, 6.270184368e-02f, -4.756191000e-02f, -5.380662903e-02f, + 9.101925045e-02f, 5.931294709e-02f, -3.492927924e-02f, 3.063199855e-02f, + -5.132939294e-02f, -1.064197198e-01f, -1.084800884e-01f, 1.340342313e-01f, + -6.948698312e-02f, 6.343857199e-02f, -1.302288622e-01f, 2.372652665e-02f, + 3.852063790e-02f, 2.116983570e-02f, -1.208072528e-01f, -8.214201080e-04f, + -4.270055518e-02f, 4.876600578e-02f, -1.231132299e-01f, -1.196312159e-01f, + -2.705027461e-01f, -9.316946566e-02f, -8.918244392e-02f, 4.594906792e-02f, + 8.368217945e-02f, 3.832707927e-02f, -1.908674277e-02f, -2.692979015e-02f, + 2.567561157e-02f, -1.099223718e-01f, 5.332383886e-02f, 3.710034862e-02f, + 1.360867769e-01f, 1.263169646e-01f, 7.846261561e-02f, -2.377836257e-01f, + -7.132168859e-02f, -6.799782813e-02f, 1.318155229e-01f, -7.729782909e-02f, + 6.323261769e-04f, 2.081734501e-02f, 1.899791695e-02f, 3.378809988e-02f, + 1.679040194e-01f, -9.802184999e-02f, -6.059216708e-02f, -8.439424634e-02f, + -1.269662101e-02f, 4.435625300e-02f, 4.566869512e-02f, 1.107867993e-02f, + 1.730008423e-02f, -1.389889270e-01f, -3.485674411e-02f, 1.610050201e-01f, + 2.156560682e-02f, 8.295988292e-02f, -7.523591816e-02f, 4.970178008e-02f, + -1.468187571e-02f, -7.333903760e-02f, 4.787519947e-02f, -6.682062894e-02f, + 7.058353722e-02f, -1.718023568e-01f, -5.834660307e-02f, 5.031032488e-02f, + 2.815351635e-02f, 6.023170054e-02f, -7.683897763e-02f, 6.686236244e-03f, + 1.123682130e-02f, -1.376143540e-03f, 7.245746255e-02f, -4.286068678e-02f, + -7.808593661e-02f, -2.855086001e-03f, -5.431142449e-02f, -9.197477996e-02f, + 1.096932739e-01f, -5.195466336e-03f, 3.949660808e-03f, 2.955010161e-03f, + 1.781626232e-02f, 2.883406729e-02f, -7.630158216e-02f, 2.615898475e-02f, + -4.278809205e-02f, 1.276332512e-02f, 7.964020967e-02f, -1.220067684e-02f, + -6.652627606e-03f, -3.438210860e-02f, 1.442193333e-02f, 3.429617267e-03f, + 4.270182922e-02f, -3.501195088e-02f, -2.578392029e-01f, -6.117346138e-02f, + -2.324724942e-02f, 4.451221973e-02f, 8.189089596e-02f, 6.994117796e-02f, + 6.856183708e-02f, -1.987796128e-01f, -3.394986689e-02f, -1.773872375e-01f, + -1.281082630e-01f, 1.771626920e-01f, 2.283893526e-02f, -3.108051419e-02f, + -7.429128140e-02f, 2.514654994e-01f, 1.390453577e-01f, -1.428269744e-01f, + -1.817747951e-02f, 7.487694174e-02f, 8.630977571e-02f, -9.999347478e-02f, + -9.687987715e-02f, -1.190019399e-01f, 2.874731086e-02f, -5.743163824e-02f, + -2.934867889e-02f, 1.188820973e-01f, 1.274187304e-02f, 4.425498843e-02f, + 3.890077025e-02f, 4.082145914e-02f, 9.232262522e-02f, -7.578013092e-02f, + 2.914407291e-03f, 1.021694485e-02f, 1.001254171e-01f, -1.877802610e-01f, + 1.511859801e-02f, 7.147440314e-02f, -1.134817600e-01f, 2.587841358e-03f, + -1.198933944e-01f, 1.134040728e-01f, 8.084455132e-02f, 6.472121924e-02f, + -3.508061543e-02f, 3.588619083e-02f, -6.921134144e-02f, -1.285887230e-02f, + 6.112176459e-03f, 9.362072498e-02f, 1.388698630e-02f, -7.992932200e-02f, + 1.279813051e-01f, 2.876842953e-02f, -7.912566513e-02f, 8.947450668e-02f, + -6.312832236e-03f, 2.574454993e-02f, 3.962412104e-02f, 2.772525139e-02f, + 1.266987622e-01f, -7.519961894e-02f, -1.118814573e-01f, -2.259957194e-01f, + 5.449449271e-02f, -3.890962899e-02f, 3.232949600e-02f, 7.821058854e-03f, + 4.314677045e-02f, -7.200820372e-03f, -1.421039999e-01f, 2.349733934e-02f, + -4.626094550e-02f, 1.502550989e-01f, -1.378927827e-01f, -4.304609075e-02f, + -3.653639928e-02f, 1.141585293e-03f, -1.136953160e-01f, 5.199878290e-02f, + 1.393764913e-01f, -9.524443746e-02f, -5.711019784e-02f, 3.631937504e-02f, + 5.921336263e-02f, 1.066394150e-01f, 2.167833038e-02f, -1.984647959e-01f, + -5.793447793e-02f, -8.598733693e-02f, 1.102719735e-02f, 3.489950299e-02f, + 7.558498532e-02f, -1.596311629e-01f, 1.201510727e-01f, -1.810256205e-02f, + 2.238398045e-02f, -4.252248630e-02f, -3.708901256e-02f, -1.016890407e-01f, + 5.300534889e-02f, -1.686507165e-01f, -1.489430219e-01f, -2.209215052e-02f, + 5.767866969e-04f, 1.312732697e-02f, -4.035222158e-02f, 2.143368125e-02f, + -5.129287019e-02f, -1.193309873e-01f, -8.556451648e-02f, 8.703500964e-03f, + 6.648320705e-02f, 4.579276219e-02f, -4.536400363e-02f, 2.439389005e-02f, + -6.558801234e-02f, -1.877213828e-02f, 6.098920852e-02f, -8.379802853e-02f, + -5.282942578e-02f, 1.173791960e-01f, 7.522987574e-02f, -5.865021050e-02f, + -2.485978603e-02f, -8.169925213e-02f, 3.569507226e-02f, -1.744295098e-02f, + 3.255136311e-02f, -5.448469520e-02f, 2.240243107e-01f, 1.073853672e-01f, + -2.400709130e-02f, 2.804162204e-01f, 2.401094511e-02f, -7.901854068e-02f, + -3.472984582e-02f, 8.906413615e-02f, -2.779428847e-02f, 1.010161936e-01f, + 1.936215535e-02f, -2.020202763e-02f, -9.839908034e-02f, 5.700651184e-02f, + -2.145660855e-02f, -1.810398102e-01f, -1.123323068e-01f, -1.386156678e-01f, + -1.867491193e-02f, 6.188616902e-02f, 9.318431467e-02f, -4.133614525e-02f, + -1.336917132e-01f, 1.185989082e-01f, -1.726245694e-02f, -4.397749901e-02f, + 1.366356853e-02f, 6.099833641e-03f, 2.522479892e-01f, 2.485647611e-02f, + 3.588197380e-02f, -8.000246249e-03f, -1.115638018e-01f, 1.513804197e-01f, + -9.326726943e-02f, -1.956377737e-02f, 5.950265378e-02f, 1.177080255e-02f, + 1.054312140e-01f, 6.451451033e-02f, -1.199680343e-01f, -2.984625846e-02f, + 1.232394204e-01f, 1.744104177e-02f, 3.440140560e-02f, 1.181336045e-01f, + 4.756305832e-03f, 4.556410760e-02f, -7.520100474e-02f, -5.946604162e-02f, + -1.352383643e-01f, 3.283254057e-02f, 4.161272198e-02f, -9.517282248e-02f, + -6.996699423e-02f, 2.083076984e-01f, 1.601843983e-01f, -1.296610236e-01f, + 8.159798384e-02f, -2.496962668e-03f, -3.599202959e-03f, 2.106510289e-02f, + -2.530876175e-02f, -5.846506730e-02f, -6.581106037e-02f, 1.053907946e-01f, + 1.564508379e-01f, 1.423821319e-02f, 6.636966765e-02f, 1.682659611e-02f, + 1.560822278e-01f, 1.142746732e-01f, 2.629919723e-02f, -7.750800252e-02f, + 1.824618876e-01f, 3.605718911e-02f, 2.609694749e-02f, 1.761876196e-01f, + -2.314457148e-01f, 9.310620278e-02f, 3.491282091e-02f, -5.332091078e-02f, + -6.248585135e-02f, 5.769716576e-02f, 8.511509001e-02f, 3.502520546e-02f, + -6.182432547e-02f, 2.548722923e-02f, 1.881591789e-02f, -7.551871240e-02f, + 7.706132531e-02f, -1.462641507e-01f, -2.940482693e-03f, -1.345006377e-02f, + 1.943185553e-02f, -7.217728533e-03f, 1.329456270e-01f, 1.869963855e-02f, + 1.487056315e-01f, -1.640372165e-02f, -2.026587492e-03f, 1.222298741e-01f, + -1.476954073e-01f, 1.315447837e-01f, -8.059946448e-02f, 1.142202541e-01f, + -1.226977557e-01f, -3.793196287e-03f, -8.835334331e-02f, 1.288182884e-01f, + 1.118192002e-01f, -3.861217573e-02f, -1.841804711e-03f, 2.556121722e-02f, + -3.233800083e-02f, -4.921358079e-02f, -1.672540605e-02f, 8.397427201e-02f, + -7.173412293e-02f, 1.334181875e-01f, 1.511260569e-01f, -3.408242390e-02f, + 5.018717796e-02f, 5.821971223e-03f, -7.534758747e-02f, 1.297784895e-01f, + 5.849470571e-02f, 8.887515962e-02f, -7.571317255e-02f, -6.011910364e-02f, + 2.902477048e-02f, 5.071760714e-02f, -9.188563377e-02f, -7.719744742e-02f, + -9.467612207e-02f, -5.809060857e-02f, 2.980992571e-02f, -2.274391614e-02f, + -1.318212152e-01f, 1.496678889e-01f, -7.867517322e-02f, 2.457333356e-02f, + -7.251673937e-02f, -4.562249407e-02f, -4.576136917e-02f, 6.160462648e-02f, + -1.721615717e-02f, 8.462757803e-03f, 2.245301008e-02f, 1.678709537e-01f, + 1.348998025e-02f, -4.464938492e-02f, 3.771733725e-03f, -1.309052259e-01f, + 2.080395818e-02f, 2.375568636e-02f, 5.242266878e-02f, -8.439593017e-02f, + -8.266230673e-02f, 4.835078493e-02f, 2.121070027e-02f, 4.062259942e-02f, + 7.467304170e-02f, 1.384403110e-01f, 1.326834317e-02f, 2.572404742e-01f, + 9.295088798e-02f, -6.587263197e-02f, 3.922199085e-02f, 7.746096700e-02f, + -6.711199880e-02f, -3.872306272e-02f, 8.267008699e-03f, -1.723784655e-01f, + -7.175585628e-02f, -8.334005624e-02f, -1.377272159e-01f, -4.280615598e-02f, + -1.533100307e-01f, 1.468515769e-02f, -7.020506263e-02f, 2.570180409e-02f, + 2.752936073e-02f, -5.137619004e-02f, 8.163626492e-02f, 6.881693006e-02f, + -3.555337712e-02f, 1.111965999e-01f, -1.110543162e-01f, 7.145888358e-02f, + 2.784923837e-02f, 1.263396740e-01f, 3.015996218e-01f, 1.024150476e-01f, + -9.591818089e-04f, -3.881449997e-02f, -5.256918073e-02f, -1.780559309e-02f, + 1.125888750e-01f, -3.295312449e-02f, 3.731927276e-02f, 4.608369246e-02f, + 4.797803238e-02f, -4.024867341e-02f, 9.618885070e-02f, -7.015698403e-02f, + 2.520023845e-02f, -4.632629082e-02f, -2.975897864e-02f, -8.559995145e-02f, + -7.178128511e-02f, -5.427199230e-02f, 3.408533707e-02f, -1.660809815e-01f, + 1.692456156e-01f, 7.780812681e-02f, 1.712174416e-01f, 7.858348638e-02f, + -3.409061953e-02f, 5.465006083e-02f, 1.017858088e-01f, 5.858409405e-02f, + -1.913100928e-01f, 1.169021800e-02f, 1.487131268e-01f, 3.581777215e-02f, + 1.519786753e-02f, 6.838742644e-02f, 8.318727463e-02f, 1.069164090e-02f, + 2.050473168e-02f, 3.038210049e-02f, -3.619640321e-02f, -9.627342224e-02f, + -1.221733987e-01f, -3.280271310e-03f, -5.984091014e-02f, 9.721278399e-02f, + -3.095070645e-02f, -6.955114007e-02f, 1.351083219e-01f, 3.377804300e-03f, + 5.972189456e-02f, 9.671270847e-02f, 5.218967423e-02f, 5.692709982e-02f, + -1.532112360e-01f, -1.631672382e-01f, 1.509545445e-01f, 1.026675627e-01f, + -1.234070286e-01f, 2.877746150e-02f, -5.950314924e-02f, 8.136744797e-02f, + -1.476257592e-01f, 9.412583709e-02f, 3.942915425e-02f, 6.444063783e-02f, + -1.435486078e-01f, 2.523088083e-02f, -3.071555868e-02f, -1.024998445e-02f, + 1.771667302e-01f, -4.719582852e-03f, -1.176832393e-01f, 1.812558323e-01f, + -8.299704641e-02f, 7.263653725e-02f, -1.144028641e-02f, -1.007118896e-01f, + -5.381694064e-02f, 1.758291572e-02f, -3.136768192e-02f, -5.449634790e-02f, + 1.662819237e-01f, -3.896426037e-02f, -2.781949472e-03f, -5.724682007e-03f, + -5.608132854e-02f, -7.768825442e-02f, -3.211520240e-02f, 3.585891426e-02f, + 6.208606809e-02f, -4.728071019e-02f, 1.260882169e-01f, 9.948135167e-02f, + 1.154532563e-02f, 5.884969234e-02f, -5.609327555e-02f, -8.123096824e-02f, + -9.275215864e-02f, -8.709058166e-02f, 1.744101048e-01f, -7.886548527e-03f, + 6.356894970e-02f, 9.016046673e-02f, -9.054033435e-04f, 1.206621677e-01f, + 1.895118691e-02f, 8.098534495e-02f, 7.945426740e-03f, -2.407236584e-02f, + 1.778857782e-02f, -2.046489529e-02f, 9.877665341e-02f, 1.683434248e-01f, + -8.054480702e-02f, 7.583510876e-02f, 2.742330730e-02f, -1.078908890e-01f, + 8.232444525e-02f, 2.182424963e-01f, -2.725888276e-03f, -1.431400701e-02f, + -3.748661373e-03f, 6.107600033e-02f, 4.323843494e-02f, -3.977146000e-02f, + -6.151762977e-02f, -1.441141516e-01f, -6.885409355e-03f, -4.488400370e-02f, + 1.490575820e-01f, -9.847102314e-02f, 1.232630163e-01f, -7.512746006e-02f, + -6.909035891e-02f, 1.095452756e-01f, 4.320224002e-02f, -4.062428325e-02f, + 4.038276151e-02f, 3.660883754e-02f, -1.139904484e-01f, -6.746894121e-02f, + 1.309268624e-01f, 1.584973186e-02f, 7.798062265e-02f, -1.201449800e-02f, + -8.725801110e-02f, -1.320085078e-01f, -4.290686548e-02f, -3.926877305e-02f, + -1.268444657e-01f, -3.762286529e-02f, 4.358916357e-02f, 5.494035408e-02f, + -2.900574915e-02f, 9.259199351e-02f, -5.296694487e-02f, -3.823629022e-02f, + 9.123439342e-02f, -6.041594967e-02f, -7.107499242e-02f, 1.204787195e-01f, + -4.085988179e-02f, -1.887407601e-01f, -1.735737175e-01f, -4.300063103e-02f, + -7.547609508e-02f, -3.832579404e-02f, -5.297611654e-02f, -1.317055225e-01f, + -1.238120124e-01f, 8.095317334e-02f, 8.242288232e-02f, -1.077960730e-01f, + 1.104649305e-01f, 1.542646736e-01f, 1.568884104e-01f, -1.759183593e-02f, + -2.789720148e-02f, 2.728538401e-02f, -1.060246229e-01f, 2.218225971e-02f, + -3.656224534e-02f, -4.604021832e-02f, 1.064179018e-01f, -5.892729387e-02f, + 3.201100603e-02f, -1.053791046e-01f, 4.868031014e-03f, 1.552920640e-01f, + 8.754989132e-03f, -4.866519198e-02f, -3.606709465e-02f, 1.008621678e-01f, + -1.764750667e-02f, 3.689599782e-02f, -9.771272540e-02f, 1.246542484e-01f, + 1.530612856e-01f, 3.864680976e-02f, -3.258896992e-02f, -2.447438240e-02f, + 6.599241495e-02f, 1.137816980e-01f, -1.060629189e-01f, 9.595869482e-02f, + -4.941522609e-03f, -7.304961234e-02f, 7.209485769e-02f, -1.621364802e-01f, + -6.391000748e-02f, -5.657124892e-02f, -1.011614650e-01f, -1.536304951e-01f, + 3.800939536e-03f, -2.878617868e-02f, -7.787763327e-02f, -1.144359335e-01f, + 3.097656742e-02f, 1.229967922e-01f, -2.977139130e-02f, 1.626363844e-01f, + 1.089124568e-02f, 2.015284263e-02f, -1.303142216e-02f, -1.884767115e-01f, + -1.476453617e-02f, 3.911986481e-03f, 8.068389259e-03f, -6.969872117e-02f, + -1.195823178e-01f, 1.795550883e-01f, 1.204299405e-01f, 8.067482710e-02f, + -5.344200134e-02f, 1.342067844e-03f, -5.303750560e-02f, -9.089282155e-02f, + -7.503802329e-02f, -6.099083647e-02f, 1.217132136e-01f, -1.055383310e-02f, + 6.364896428e-03f, -3.156055883e-02f, -7.602901012e-02f, 6.599317491e-02f, + -2.156364545e-02f, 8.439188451e-02f, -7.738376409e-02f, 1.308736205e-01f, + 7.214855403e-02f, -8.970531076e-02f, 3.444806114e-02f, -2.491367981e-02f, + 1.346907169e-01f, -2.310157567e-02f, -5.604251474e-02f, -4.310762510e-02f, + 3.331841156e-02f, -9.591284394e-02f, -4.029703513e-02f, -3.251086920e-02f, + 1.521024946e-02f, -5.993038788e-02f, 4.724084213e-02f, -7.368921489e-02f, + 3.301020712e-02f, -1.501212716e-01f, -5.334240198e-02f, 3.650477901e-02f, + 2.038635127e-02f, 2.817201614e-02f, -5.577417091e-02f, -5.534139648e-02f, + -7.136825472e-02f, -4.487001896e-02f, 1.477442533e-01f, -3.809102252e-02f, + 1.442587227e-01f, -1.028707474e-01f, -8.766654134e-02f, -8.882039040e-02f, + 5.818607658e-02f, -1.569843143e-01f, 7.873728871e-03f, -1.171075925e-01f, + 1.519233733e-01f, -8.201304078e-02f, -1.408972889e-01f, 4.320617765e-02f, + -6.791951507e-02f, -1.871769689e-02f, -1.262041740e-02f, -7.790791988e-02f, + 1.082838178e-01f, 1.157876663e-02f, -7.122831047e-02f, 1.900932342e-01f, + -2.365205251e-02f, 1.819015145e-01f, -1.276678890e-01f, 6.722412258e-02f, + -1.413972117e-02f, -1.429890394e-01f, -3.111750819e-02f, -1.307068318e-01f, + -6.167889759e-02f, 9.877830744e-02f, 1.076382864e-02f, 1.269035339e-01f, + 1.029789727e-02f, -2.176195085e-01f, -2.075394150e-03f, 2.502277121e-02f, + 1.337717660e-02f, 2.057133242e-02f, -1.117544994e-01f, 1.087712646e-01f, + 1.584581216e-03f, -6.481916457e-02f, -8.050222695e-02f, 5.617835000e-02f, + -6.095882505e-02f, 6.290025264e-02f, 5.711597577e-02f, 5.519721657e-02f, + -5.571536347e-02f, 6.739599258e-02f, -1.127146110e-01f, 1.785260439e-01f, + 6.356251426e-03f, 9.814105183e-02f, -2.327392250e-02f, -5.138007924e-02f, + 1.384174079e-01f, 1.210298017e-01f, 1.624004729e-02f, 1.994707733e-01f, + -1.480582952e-01f, 8.616679162e-02f, 2.466039965e-03f, -3.284162283e-02f, + -6.738711894e-02f, -4.610325396e-02f, -4.251129180e-02f, 8.981811255e-02f, + -3.437148407e-02f, 8.766239136e-02f, -1.868829131e-02f, 1.622785926e-01f, + 6.221514568e-02f, -6.943973154e-02f, 3.133332357e-02f, 1.068898961e-01f, + 2.199322134e-01f, -1.329276562e-01f, -1.211859658e-01f, 2.713876776e-02f, + 6.645850092e-02f, -2.308326773e-02f, -1.996910758e-02f, 1.622063965e-01f, + -6.768931448e-02f, 1.237438470e-01f, -3.372435272e-02f, 3.366601421e-03f, + 1.276684254e-01f, 2.075413018e-01f, -9.254092723e-02f, -8.503617346e-02f, + 6.271896511e-02f, -5.595991760e-02f, 8.025013842e-03f, 1.304373443e-01f, + -9.545765817e-02f, -1.983010024e-02f, 1.424630284e-01f, 1.939848065e-02f, + -7.807034254e-02f, -8.917081356e-02f, 1.485574543e-01f, -4.127448425e-02f, + -3.226712346e-02f, 5.571727455e-02f, -5.229920149e-02f, 5.373647809e-02f, + 1.223825738e-01f, 7.060740888e-02f, -7.861801237e-02f, -4.731320590e-02f, + 2.070983313e-02f, -1.266169548e-01f, 3.862218559e-02f, 1.915428974e-02f, + -3.980121762e-02f, 3.762555495e-02f, 9.924375266e-02f, -2.428431064e-01f, + -1.334112138e-01f, -3.188828751e-02f, 1.482348293e-01f, 5.410835892e-02f, + -3.975298256e-02f, -1.051073000e-01f, 8.471176773e-02f, 3.027853742e-02f, + 3.576557338e-02f, -2.895354666e-02f, -6.414967030e-02f, -3.672611713e-02f, + 7.302170992e-02f, -3.057317063e-02f, 5.112917628e-03f, -9.509322792e-02f, + 8.401689678e-02f, 1.329523325e-01f, 9.450856596e-02f, -8.123970032e-02f, + 2.854291350e-02f, -1.075871587e-01f, -4.111465067e-02f, -4.165837169e-02f, + 9.407139570e-02f, -6.679914892e-02f, 6.806491874e-03f, -1.064174101e-01f, + -4.411073774e-02f, 8.566540480e-02f, 1.602799743e-01f, -1.056688372e-02f, + -3.136937320e-02f, 5.572171882e-02f, -5.236341804e-02f, 8.223105222e-02f, + 1.049000304e-02f, -6.929337978e-02f, 1.183628887e-01f, 7.458941638e-02f, + -7.546566427e-02f, 3.368359804e-02f, 1.020942107e-01f, -1.319685131e-01f, + 1.462883651e-01f, -9.852521122e-02f, -2.277315035e-02f, 1.330656111e-01f, + -6.069666779e-05f, -7.388033718e-02f, -3.385983035e-02f, 6.063921750e-02f, + -5.189203843e-02f, 2.392832190e-02f, -1.216688007e-01f, -3.791644424e-02f, + 2.521760203e-02f, -6.062415987e-02f, 6.765257567e-04f, -1.290508956e-01f, + 9.825813770e-02f, 5.330839381e-02f, 3.166658059e-02f, -1.545062512e-01f, + 1.501853317e-01f, 4.429654032e-02f, 3.110211790e-01f, 1.189669818e-01f, + 2.124829777e-02f, -9.660384804e-02f, 1.101810262e-01f, 2.662640251e-02f, + -6.662464235e-03f, -3.789601475e-02f, -1.414613705e-02f, -2.827168629e-02f, + -1.010822579e-01f, -4.560868815e-02f, 1.394798160e-01f, -1.823189668e-02f, + 6.907377392e-02f, 5.121991411e-02f, 3.324800730e-02f, 9.728527814e-02f, + -5.652021989e-02f, -7.667521946e-03f, 1.295777559e-01f, -1.650047451e-01f, + 7.019292563e-02f, 3.583577275e-02f, -1.228924189e-02f, 1.350561082e-01f, + 7.878120989e-03f, -1.464795228e-02f, 2.822310291e-02f, 8.647339791e-02f, + 7.200354012e-04f, 5.551347509e-02f, -2.037962526e-02f, 1.607994139e-01f, + 5.830078200e-02f, 8.863244206e-02f, -1.120831743e-01f, -1.405558456e-02f, + 4.881922528e-02f, -6.512200087e-02f, 1.551456600e-01f, -4.647008330e-02f, + 1.688874094e-03f, -9.565941058e-03f, -9.738264605e-03f, 3.857287765e-02f, + -7.852995396e-02f, -1.146977674e-02f, -1.569161415e-01f, 1.344591975e-01f, + -4.451714829e-02f, -1.360557415e-02f, 8.024601266e-03f, 9.058056027e-02f, + -5.966077745e-02f, 1.257327199e-01f, -9.422806650e-02f, 2.216143347e-02f, + 3.897236194e-03f, -8.467156440e-02f, -4.192351550e-02f, -1.529218070e-02f, + 1.205174103e-01f, -1.527224630e-01f, -3.932849318e-02f, -1.049733385e-01f, + -7.005226612e-02f, -3.224683106e-01f, 1.160733625e-01f, -6.235436071e-03f, + 4.835040122e-02f, -1.049809083e-01f, -8.158802241e-02f, -1.025948301e-01f, + -1.205777749e-01f, -1.270307451e-01f, 7.184362411e-02f, 7.405832410e-02f, + -4.819579050e-02f, 1.071931049e-02f, 1.233814657e-02f, 5.372248963e-02f, + -6.513553113e-02f, 1.328957528e-01f, -5.122878775e-02f, -2.185184741e-03f, + 4.806447402e-02f, -2.389218211e-01f, -9.422083944e-02f, -1.082706638e-02f, + 1.034073234e-01f, 1.702626944e-01f, 5.478158221e-02f, 2.348388173e-02f, + 2.865460142e-02f, -6.311032921e-02f, 3.207843378e-02f, 7.390920818e-02f, + -6.359845400e-02f, -4.769194499e-02f, 2.549937367e-02f, 4.386213049e-02f, + -1.335652620e-01f, -1.818473078e-02f, 3.470191360e-02f, 6.498347223e-02f, + -6.618641317e-02f, 5.690280348e-03f, -1.117639691e-01f, -1.657414287e-01f, + -4.721096903e-02f, -6.506977975e-02f, 1.317597553e-02f, -1.829734594e-01f, + 2.682777494e-02f, -1.598353088e-01f, -1.161528453e-01f, -3.334148973e-02f, + -4.346264154e-02f, 5.536908284e-03f, 1.234487966e-01f, 8.345782012e-02f, + 9.732526541e-02f, 6.428183615e-02f, -9.139904380e-02f, 1.083612517e-01f, + -8.804976940e-02f, -3.461923078e-02f, -1.382288188e-01f, 1.009959728e-01f, + 6.382049527e-03f, -1.283224225e-01f, 2.668424323e-02f, 2.595455945e-02f, + 2.114260346e-01f, -4.623079300e-02f, 6.461226940e-02f, -4.916054383e-02f, + -1.695785299e-02f, 4.630632326e-02f, 8.978410065e-02f, 7.059238106e-02f, + 3.969692439e-02f, 3.974184394e-02f, -1.161864586e-02f, 1.441510916e-01f, + -1.755651385e-01f, 9.542492032e-02f, -5.418173224e-02f, 4.986570776e-02f, + -3.203596175e-02f, 4.059343413e-02f, -5.511875823e-02f, -8.822054369e-04f, + 2.075293660e-02f, -1.739464700e-02f, -1.986310631e-02f, -1.194612309e-02f, + -7.204621565e-03f, -5.875987932e-02f, -6.149504706e-02f, -5.256370455e-02f, + 1.309781671e-01f, -1.454536170e-01f, -5.999602377e-02f, -3.424526006e-02f, + -5.503368564e-03f, 1.100946963e-01f, -1.494381726e-01f, 1.257375032e-01f, + 7.555140555e-02f, -1.097110212e-01f, 8.810557425e-02f, 6.843116134e-02f, + -1.898472942e-02f, 1.393785775e-01f, 1.326887459e-01f, 3.038536198e-02f, + 1.317301020e-02f, -8.198203892e-02f, -1.178434864e-01f, 7.261257619e-02f, + -8.568987250e-02f, -6.423888728e-03f, 1.144613326e-01f, 2.517667040e-02f, + 9.791022539e-02f, 1.970326006e-01f, -1.342518181e-01f, -1.609155722e-02f, + -9.677612036e-02f, 8.758103102e-02f, -1.635548472e-01f, 6.322098523e-02f, + -5.070738867e-02f, 7.381726801e-02f, -1.449203938e-01f, -4.264892545e-03f, + -1.878483146e-01f, 9.055251256e-03f, -1.706387848e-01f, 2.151196077e-02f, + -1.409841701e-02f, 2.662512474e-02f, -1.039088964e-01f, 5.329914019e-02f, + 8.242272586e-02f, 2.934746817e-02f, -1.509493738e-01f, 4.579967633e-02f, + -1.235812716e-02f, -3.534893738e-03f, -1.962491684e-02f, 1.092711911e-01f, + 1.182255074e-01f, -3.788792342e-02f, -6.053376570e-02f, 3.847439960e-02f, + 5.269927904e-02f, -5.409504846e-02f, -5.902396515e-02f, -1.766787609e-03f, + 1.703333706e-01f, -1.383082867e-01f, 8.086503483e-03f, -9.327580221e-03f, + 1.837274805e-02f, -3.530897573e-02f, 1.929394901e-01f, 4.607973620e-02f, + -2.097273804e-02f, 3.846105933e-02f, 2.801717259e-02f, 1.055192426e-01f, + 1.293544378e-02f, -1.214865874e-02f, 9.718187153e-02f, -1.102241315e-02f, + 4.242698848e-02f, 5.795959011e-02f, -5.604531150e-03f, 1.810445264e-02f, + -1.123947725e-01f, -6.181572750e-02f, -1.820413470e-01f, 7.465516776e-02f, + 7.184961438e-02f, -6.441628188e-02f, 7.805779576e-02f, 8.592847735e-02f, + -1.682831943e-01f, 3.512956202e-02f, -6.066207588e-02f, -4.036954418e-02f, + 4.761365242e-03f, -3.733326495e-02f, -9.522521496e-02f, 2.749297209e-02f, + 1.888520420e-01f, -1.670515239e-01f, 2.068462223e-01f, 7.839178666e-03f, + 4.542643577e-02f, -2.200945467e-02f, -9.947828948e-02f, -1.229957445e-03f, + -1.334939152e-01f, 4.599075392e-02f, 5.523058400e-02f, 9.324125946e-02f, + 1.364426911e-01f, 4.014565423e-02f, 1.016086116e-01f, -2.045079134e-02f, + -8.748336136e-02f, 2.778863907e-02f, -7.942480594e-02f, -4.598849267e-02f, + -8.305677027e-02f, -5.214471743e-02f, 1.196009368e-01f, -2.802666835e-02f, + 4.823233560e-02f, -6.745079905e-02f, -1.031252444e-01f, -1.736832433e-03f, + -2.183697373e-02f, 2.502286993e-02f, 6.997293234e-02f, -1.528219283e-01f, + 2.222370803e-01f, -2.508703806e-02f, 1.078877896e-01f, 9.890493006e-02f, + 1.338511556e-01f, 1.032554060e-01f, 8.958830684e-02f, 1.100938171e-01f, + -2.753292769e-02f, 1.695198007e-02f, 1.345333010e-01f, 1.428965479e-01f, + 6.646974012e-03f, 7.029781491e-02f, 1.433541775e-01f, 2.159249969e-02f, + 7.124973834e-02f, -6.000675634e-02f, -1.043569446e-01f, -6.169843953e-03f, + 6.695066392e-02f, 1.386675090e-01f, -8.014751226e-02f, -1.366377473e-01f, + -8.203173429e-02f, 8.928940445e-02f, -3.499179706e-02f, -1.019325107e-02f, + -4.744752869e-02f, -2.261123210e-01f, -9.470074624e-02f, -9.665346146e-02f, + -6.951664388e-02f, 2.370016836e-02f, 1.228606608e-02f, 1.034571137e-02f, + -1.513003022e-03f, 3.988449462e-04f, -3.477220982e-02f, 7.018500566e-02f, + -1.234479994e-01f, 6.941393763e-02f, -3.693063557e-02f, 6.966295093e-02f, + 2.577135526e-02f, -9.476102144e-02f, 1.476474702e-01f, -2.673590183e-02f, + -2.757879160e-02f, 1.288719773e-01f, 8.042603731e-02f, -1.271769851e-01f, + -2.130606323e-01f, 8.659186959e-02f, 5.116786063e-02f, 5.016768724e-02f, + -2.485698275e-02f, 1.012609154e-01f, -1.188940257e-01f, -6.125847250e-02f, + 1.048450693e-01f, 1.233240440e-01f, -1.121352520e-02f, -9.052932262e-02f, + -1.141545027e-01f, 6.496119499e-02f, -1.186716184e-01f, -1.467250194e-02f, + -7.662624866e-02f, 8.558911085e-02f, -6.766150147e-02f, 1.179769561e-01f, + -4.968378320e-02f, -1.324805319e-01f, -8.154359460e-02f, 9.067244083e-02f, + -7.779749483e-02f, -4.174699262e-02f, -3.791204095e-02f, -1.289108843e-01f, + 1.341993809e-01f, -1.126918197e-01f, -1.935332827e-02f, 1.817881875e-02f, + 2.453826740e-02f, -6.290347874e-02f, -5.004286394e-02f, 2.477249689e-02f, + 5.401879549e-02f, -9.931053221e-02f, -7.159918547e-02f, 6.415419281e-02f, + 5.946933851e-02f, 6.360467523e-02f, 1.205497459e-01f, 4.980811477e-02f, + -6.357193738e-02f, 9.907781333e-02f, 1.721447147e-02f, 9.559912235e-02f, + -8.030084521e-02f, 5.849887151e-03f, -1.120824516e-01f, -8.256161213e-02f, + -9.010380507e-02f, 1.963024400e-02f, 9.669652581e-02f, -8.420053869e-02f, + 1.033361256e-01f, -8.549460024e-02f, 1.375508904e-01f, -1.530939043e-01f, + 8.255722001e-03f, -4.345993698e-02f, -3.313219920e-02f, -2.777235582e-02f, + -4.932730924e-03f, 4.340965673e-02f, -1.770588160e-01f, -1.008342505e-01f, + 3.871752322e-02f, -5.224030465e-02f, 3.224911168e-02f, 2.416649275e-02f, + 9.946682304e-02f, -1.364931092e-02f, 9.304141626e-03f, 8.828885853e-02f, + 1.368105859e-01f, -4.836655781e-02f, -7.049266994e-02f, 4.319560528e-02f, + 1.519943923e-01f, -3.176316677e-04f, 4.653917998e-02f, -2.091429979e-01f, + 6.248682365e-02f, 2.515177615e-02f, 1.636555344e-01f, -7.164796442e-02f, + 3.121695668e-02f, 6.446674466e-02f, -8.684659004e-02f, 3.315434558e-03f, + -1.233430300e-02f, 2.564644814e-02f, -1.833615452e-02f, -1.623832583e-01f, + -9.596501477e-03f, -1.384148933e-02f, -4.183403403e-02f, -1.317552477e-01f, + 1.357674133e-02f, -1.524000615e-01f, -1.398576200e-01f, -1.818927228e-01f, + 7.463540137e-02f, 1.533176191e-02f, -1.391662005e-02f, -7.310282439e-02f, + 1.483027190e-01f, 6.494428217e-02f, 3.552044183e-02f, -1.044525653e-01f, + -1.103677750e-01f, 5.136582255e-02f, 4.633574560e-02f, 6.877365708e-02f, + 1.159027871e-02f, -7.080484927e-02f, 9.766162187e-02f, 1.561546978e-02f, + -1.023921743e-01f, 7.665847987e-02f, 4.755532369e-02f, 2.286457084e-02f, + 3.982095420e-02f, 1.802343279e-01f, 8.031895012e-02f, 1.176954899e-02f, + 2.115249038e-01f, 8.750337362e-02f, -5.445720255e-02f, -1.319204718e-01f, + -1.939394474e-01f, -9.001673758e-02f, -9.349551797e-02f, -3.659248352e-03f, + 1.378479302e-01f, 2.454338130e-03f, 2.815621160e-02f, -5.534065515e-02f, + -6.349517498e-03f, 5.668661371e-02f, 1.269110665e-02f, -1.016276553e-01f, + 1.294575930e-01f, 2.858322673e-02f, -1.328041852e-01f, 1.096488759e-01f, + 7.958542556e-02f, -1.318976879e-01f, 4.628741369e-02f, 9.334573150e-02f, + -2.798985131e-02f, -7.639382780e-02f, -3.536139056e-02f, -1.922610998e-01f, + 1.245504990e-02f, 1.434545312e-02f, -6.127111241e-02f, -6.040378660e-02f, + 5.582894012e-02f, 3.939762339e-02f, -5.396530032e-02f, 1.132649034e-01f, + 4.396346956e-02f, 1.252204478e-01f, 1.508691609e-01f, 9.184324741e-02f, + 1.000919417e-01f, -4.226594046e-02f, 6.509302557e-02f, -4.730723053e-02f, + -1.423012931e-02f, -2.582533099e-02f, 6.458248198e-02f, 1.372872889e-01f, + 2.657190152e-02f, -3.616268933e-02f, 1.481744647e-01f, 9.936515987e-02f, + -3.735276312e-02f, -7.506480813e-02f, -5.289977416e-02f, 2.779060788e-02f, + -9.784431010e-02f, -1.785064116e-02f, -1.806659624e-03f, 6.782703567e-03f, + 5.691342056e-02f, -3.685645759e-02f, 3.338003531e-03f, 9.621465206e-02f, + -1.089937403e-03f, -2.716418356e-02f, 2.900820374e-01f, 2.895505913e-02f, + 2.213976905e-02f, -3.328226507e-02f, -3.900553286e-02f, -1.146887615e-02f, + -7.539893687e-02f, -6.624821573e-02f, -1.423691213e-01f, 2.008685768e-01f, + 1.048417110e-02f, -9.282090515e-02f, -1.913759857e-01f, 1.025190800e-01f, + -1.219376251e-01f, 3.604732454e-02f, -8.911991864e-02f, 1.808246076e-01f, + -2.749062888e-02f, 4.735442251e-02f, -5.033747479e-02f, -1.136582345e-01f, + 1.498106271e-01f, 8.109170943e-02f, -8.476124145e-03f, -1.547446698e-01f, + 3.827768937e-02f, 8.296658844e-02f, 3.279892355e-02f, -9.635220468e-02f, + 6.839951873e-02f, 4.972100630e-02f, 2.100924402e-02f, 8.614188433e-02f, + -1.811449649e-03f, 5.211269483e-02f, -1.511856820e-02f, 1.508503258e-01f, + -2.240463533e-02f, -1.423930675e-01f, 2.076820657e-02f, -7.772034407e-02f, + -3.791363537e-02f, -3.556758910e-02f, -2.086428925e-03f, -1.079456285e-01f, + 2.259011194e-02f, 5.598419532e-02f, 1.589878350e-01f, 1.014214475e-02f, + 1.415952742e-01f, 4.878418148e-02f, 3.238070756e-02f, 4.050767049e-02f, + 9.172386676e-02f, -4.314456135e-03f, 8.439255506e-02f, 8.257623017e-02f, + 4.734425992e-02f, 4.163574055e-02f, -7.596366107e-02f, 2.108248174e-01f, + 7.433191687e-02f, -5.960262939e-02f, 1.452692598e-02f, -4.725240916e-02f, + -8.009828627e-02f, -7.508600503e-02f, 1.159504801e-01f, -1.050199419e-01f, + 1.087214351e-01f, 1.593420208e-01f, -1.162473857e-01f, 5.032039434e-02f, + -1.334763914e-01f, 2.791602630e-03f, -8.036974072e-02f, 3.757601604e-02f, + -9.309914708e-02f, -2.902255021e-02f, 1.500027478e-01f, 7.303265482e-02f, + -6.420858949e-02f, -3.950772807e-02f, -3.848397732e-02f, -6.103322655e-02f, + -2.749456652e-02f, 4.536281899e-02f, -1.294340640e-01f, -9.380842000e-02f, + 4.337531328e-02f, 7.771546394e-02f, 1.495766789e-01f, 5.683529004e-02f, + 7.788668573e-02f, -9.632363915e-02f, -1.062263027e-01f, -3.380102338e-03f, + 3.082190081e-02f, -1.113595441e-01f, 1.299213469e-01f, 1.256961375e-02f, + -3.632840514e-02f, -1.275518090e-01f, 3.232099488e-02f, 1.317396462e-01f, + -1.474830359e-01f, -3.986781090e-02f, 1.398429722e-01f, -4.165232182e-02f, + 2.945736283e-03f, -6.289123744e-02f, 2.365452982e-02f, 7.384511828e-02f, + -6.691388041e-02f, -5.094935000e-02f, -3.232410178e-02f, -3.429026902e-02f, + 1.589466631e-02f, 9.446634352e-02f, 5.988910049e-02f, 2.595309913e-02f, + 7.030252367e-02f, 1.829903275e-01f, -1.585459262e-01f, -7.473167777e-02f, + -1.761683449e-02f, -6.344956160e-02f, -1.865499280e-02f, -6.007459387e-02f, + -1.051141471e-01f, -1.281712651e-01f, 1.968174614e-02f, 2.496466786e-02f, + 2.726209536e-02f, 8.614076674e-02f, 2.300411612e-01f, -6.080800202e-03f, + 2.577903122e-02f, -6.530755758e-02f, 9.472613037e-02f, -8.616102487e-02f, + 2.014022693e-02f, 1.201291308e-01f, 1.062105037e-02f, 5.698228627e-02f, + 7.472819090e-02f, -1.208615396e-02f, 6.372442096e-02f, -1.412070096e-01f, + 1.904104836e-02f, 7.345821708e-02f, 3.489671648e-02f, -6.782329828e-02f, + -8.319618553e-02f, 1.031544581e-01f, 4.402136430e-03f, 4.210907221e-02f, + -6.142149493e-02f, -9.487216175e-02f, 3.760522231e-02f, 1.126179248e-01f, + -2.353337035e-02f, -7.961332053e-02f, 5.505586788e-02f, -4.597744346e-02f, + -2.027997561e-02f, -1.462087333e-01f, -7.759924978e-02f, 8.856899105e-03f, + 2.488300018e-02f, 8.768199384e-02f, 5.445763096e-02f, -1.535130385e-02f, + 1.023522094e-01f, 1.295029372e-01f, -1.196897104e-01f, 1.691005542e-03f, + -1.655393466e-02f, -4.793226719e-02f, 3.651841730e-02f, 9.484528005e-02f, + 7.826077938e-02f, -1.767469570e-02f, -1.113903299e-01f, 1.128556356e-01f, + 2.170083821e-01f, 1.671494395e-01f, -1.387735456e-01f, 3.576871753e-02f, + -1.125507504e-01f, -7.859685272e-02f, -1.062384620e-01f, 1.364689879e-02f, + 4.865321890e-02f, 5.634442717e-02f, 1.093714125e-02f, -4.754967242e-02f, + 1.364499703e-02f, -8.969685435e-02f, -1.321139280e-02f, 4.108244553e-02f, + 1.972439736e-01f, 8.866694756e-03f, -3.003896028e-02f, -1.089796722e-01f, + 1.626383513e-02f, -6.337676942e-02f, 1.453780383e-01f, 2.784822322e-02f, + -1.088531017e-01f, 1.014848575e-01f, -1.589982808e-01f, 4.992603138e-02f, + -2.560392022e-02f, -1.564014889e-02f, -8.689865470e-02f, -7.970268838e-03f, + 1.327602565e-01f, 3.507911041e-02f, 3.201217577e-02f, 3.259439394e-02f, + 2.977115847e-02f, -4.006956145e-02f, 2.812393708e-03f, -3.355013579e-02f, + 6.207153201e-02f, -6.351072341e-02f, 9.252828546e-03f, -1.030704007e-01f, + 8.686381392e-03f, -2.348259091e-01f, 6.656880677e-02f, -1.782188714e-01f, + 1.545546763e-02f, -2.201899141e-01f, -7.484232634e-02f, 6.755127688e-04f, + 6.020834297e-02f, -4.697015882e-02f, 2.801147662e-02f, -9.402019531e-02f, + 1.452207714e-01f, -2.672524191e-02f, -2.300251974e-03f, -7.788067311e-02f, + 1.101250648e-01f, -5.687357858e-02f, 7.643660903e-02f, 7.455290109e-02f, + 1.224219725e-01f, -1.938568503e-01f, 1.242459193e-01f, 3.651834268e-04f, + 1.255332083e-01f, -7.620173693e-02f, 6.897822022e-02f, -3.229238838e-02f, + 9.857859462e-02f, -9.565407038e-02f, 9.406177327e-03f, -1.439455003e-01f, + 2.195740491e-02f, -1.533566862e-01f, 1.363254339e-01f, -4.053714126e-02f, + 6.116442382e-02f, 4.280776903e-02f, -1.310198456e-01f, 2.116212621e-02f, + 5.803497136e-02f, 1.792991608e-01f, 1.459785253e-01f, 1.466134489e-01f, + -5.465310067e-02f, 1.221355423e-01f, 9.418229014e-02f, 1.983272284e-01f, + 1.555009782e-01f, 6.207559630e-02f, 1.040444300e-01f, 1.694640145e-02f, + -2.331434004e-02f, 9.834269434e-02f, -1.619077027e-01f, 7.303890586e-02f, + -9.562472999e-02f, 1.638371497e-02f, 8.783917129e-02f, -5.818891525e-02f, + -1.926663704e-02f, -1.246941984e-01f, 1.608158350e-01f, -7.459503412e-02f, + 1.227554213e-02f, 7.297984511e-02f, -7.391846180e-02f, 2.444622107e-02f, + 3.654700518e-02f, 5.130368471e-02f, -2.537775226e-02f, 1.602872610e-01f, + 1.925005205e-02f, -3.277539834e-02f, 7.898853719e-02f, -4.458989576e-02f, + -6.464432925e-02f, 4.683422297e-02f, -6.366206706e-02f, 1.034646034e-01f, + -4.305510316e-03f, -1.141953021e-01f, 4.629936814e-02f, 6.190522760e-02f, + -9.273934364e-02f, 6.185452454e-03f, -1.185343601e-02f, 5.753534660e-02f, + -5.592766404e-02f, -8.586151153e-02f, -1.542821527e-01f, 2.858562954e-02f, + 9.596024454e-02f, -1.564728469e-01f, 1.313566864e-01f, -1.149124578e-01f, + -1.952516101e-02f, 8.830908686e-02f, -2.875407692e-03f, 7.943122089e-02f, + -2.332270518e-02f, 1.256147772e-02f, 2.574769594e-02f, 8.720993251e-02f, + -6.616557389e-02f, 2.032974176e-02f, -3.482196108e-02f, -1.507647932e-01f, + 1.235860065e-01f, 1.347734034e-01f, -6.349515915e-02f, -9.121098369e-02f, + 1.477212757e-01f, -4.508916661e-02f, 8.761910349e-02f, -3.780679405e-02f, + 4.184298590e-02f, -1.182909589e-02f, -1.824499369e-01f, 5.894811824e-02f, + 3.653403744e-02f, 8.171223104e-02f, -4.053257406e-02f, -2.093062922e-02f, + -1.124522462e-01f, 3.506826609e-02f, 4.327252135e-02f, -1.696930453e-02f, + 8.530334383e-02f, -2.337790728e-01f, 1.371934172e-02f, -1.749400236e-02f, + -1.716455370e-01f, 8.002666384e-02f, 9.342699312e-03f, 2.648101188e-03f, + -6.428593397e-02f, -6.080009416e-02f, 6.105120108e-02f, 4.448364303e-02f, + -8.308554441e-02f, -2.254053205e-02f, -3.249148652e-02f, -1.537351031e-02f, + -1.109017581e-01f, 3.770952299e-02f, -1.774207801e-01f, 2.945538610e-02f, + 1.475885324e-02f, 4.722094536e-02f, 2.880240045e-02f, 1.471955776e-01f, + 6.011957675e-02f, 1.489471830e-02f, 5.789553002e-02f, 8.558521420e-02f, + 2.685922757e-02f, 1.202741936e-01f, 1.925768144e-02f, 1.374980360e-01f, + 1.978868805e-02f, -4.558213800e-02f, 1.654850692e-02f, -1.508632209e-02f, + 1.229619756e-01f, -1.104187593e-02f, 1.178628998e-03f, -9.708425030e-03f, + -9.553209879e-03f, -3.034606390e-02f, -8.299864829e-02f, -6.478795316e-03f, + -9.608709067e-02f, -3.493167460e-02f, -2.067155838e-01f, 7.059042901e-02f, + -3.371215612e-02f, -2.179023623e-02f, 3.646315262e-02f, 1.331663877e-02f, + -4.216989130e-02f, -1.056120545e-01f, 3.191531077e-02f, -9.110263735e-02f, + -8.559351787e-03f, 2.934219874e-02f, -4.676463827e-02f, 6.883800030e-02f, + 1.173846200e-01f, -1.202663109e-01f, -1.683707833e-01f, 8.333567530e-02f, + 2.121680789e-02f, 6.924402900e-03f, 1.507228464e-01f, -3.956611827e-02f, + -3.425862268e-02f, -1.563960686e-02f, 3.467125073e-02f, 2.174895108e-01f, + 1.006361246e-01f, -2.534244955e-02f, -1.648355871e-01f, 2.168831229e-02f, + 1.460685395e-02f, 2.646806184e-03f, 4.341755062e-02f, -2.144775726e-02f, + 5.043198168e-02f, -9.262151271e-02f, 9.387315810e-02f, 7.462963462e-02f, + -1.227494981e-02f, 7.488871366e-02f, 3.675405635e-03f, -3.597294167e-02f, + -6.992506236e-02f, 1.575915813e-01f, -1.239055097e-01f, 5.567250773e-03f, + -1.217148080e-01f, -1.630267501e-01f, 1.571892202e-01f, -1.042283233e-02f, + 1.938817054e-01f, -4.292216524e-02f, -1.768679591e-03f, -1.613748223e-01f, + -7.131555676e-02f, -9.088169783e-02f, -4.093884677e-02f, 1.342004538e-01f, + 7.524861395e-02f, -6.807297468e-02f, -6.391502917e-02f, -1.736492664e-01f, + -2.712734975e-03f, 6.219526008e-02f, 6.742259860e-02f, -9.256763011e-02f, + -2.673346102e-01f, -5.502798036e-02f, 4.930275306e-02f, -7.217394561e-02f, + 2.027436160e-02f, 5.882751569e-02f, -2.246540412e-02f, -8.622872829e-02f, + -8.049062639e-02f, -1.876459282e-04f, 2.898711013e-03f, -6.321009994e-02f, + -1.127209067e-01f, 3.771669045e-02f, -6.231447309e-02f, -2.058777809e-01f, + -3.846514970e-02f, -2.847284079e-02f, 2.473092824e-02f, -1.832706854e-02f, + -1.328326464e-01f, -1.164342612e-01f, -9.312159382e-03f, -9.631229937e-02f, + 2.763449401e-02f, -1.715428545e-03f, -3.258199245e-02f, 1.322029680e-01f, + -1.651533763e-03f, -1.069137454e-01f, 1.171852797e-01f, -9.345133440e-04f, + -1.090742126e-01f, -1.462364942e-01f, 1.199939325e-01f, -3.978505731e-02f, + -1.045017019e-01f, 3.925005719e-02f, 7.183644921e-02f, -1.477547288e-01f, + 5.904547498e-02f, -6.140302401e-03f, 4.351578280e-02f, 6.251135468e-02f, + 1.916622221e-01f, -8.005491644e-02f, -5.534536019e-02f, -4.318145290e-02f, + 5.862779170e-02f, -1.198768336e-02f, 1.272286326e-01f, 3.935889155e-02f, + -6.090181693e-02f, 2.964523621e-02f, -1.407485753e-01f, -1.331744622e-02f, + -4.463122413e-02f, -8.510191739e-02f, 1.274358481e-02f, 4.099446815e-03f, + -4.916338623e-02f, 1.234869733e-01f, 5.972379819e-02f, 4.073633999e-02f, + -1.267770976e-01f, -1.366660446e-01f, 5.543169007e-02f, 1.554975659e-01f, + 2.859221213e-02f, -1.004615501e-01f, -1.003881171e-01f, 2.390925586e-02f, + -1.096402481e-01f, 2.269568481e-02f, 7.919346541e-02f, -3.444440290e-02f, + -6.302943826e-02f, 5.694383755e-02f, 5.872554705e-02f, -9.482544661e-02f, + 3.727035969e-02f, 7.543765754e-02f, 1.029830426e-01f, -1.704834029e-02f, + -1.351870149e-01f, 5.478159711e-02f, -3.227809444e-02f, -1.633583196e-02f, + -6.876618415e-02f, 1.659204066e-01f, 1.817969978e-01f, -1.125348732e-01f, + 9.588386863e-02f, 4.625038803e-02f, 3.253902122e-02f, -1.709959842e-02f, + 7.327176630e-02f, -5.509155989e-02f, -9.119971842e-02f, -1.035736352e-01f, + 7.944112271e-02f, 1.057548523e-01f, -5.827718973e-02f, -2.487330511e-02f, + -5.570034962e-03f, 2.423476614e-02f, -6.605374813e-02f, -6.577865034e-02f, + 1.264140606e-01f, 4.187765718e-02f, 1.667224616e-01f, 7.916158438e-02f, + 6.120051071e-02f, -5.645551905e-02f, -1.009036005e-01f, -1.501483470e-01f, + -4.895296413e-03f, 1.001144946e-02f, -1.205115765e-01f, 1.146146730e-01f, + -1.120863110e-01f, 5.072496086e-02f, -3.168615326e-02f, 4.774387181e-02f, + 2.241564356e-02f, 1.004183739e-01f, 3.629450873e-02f, 8.755558729e-02f, + -1.110575125e-01f, 9.444842488e-02f, -2.971714921e-02f, -3.069286421e-02f, + 9.363668412e-02f, 1.237294301e-01f, 6.912176311e-02f, -3.303686529e-02f, + -7.618906349e-02f, 3.142184764e-02f, 1.087335721e-01f, 4.826376587e-02f, + 2.830980532e-02f, -3.042011335e-02f, 1.573743969e-01f, 2.057132572e-01f, + -3.813222051e-02f, 3.672109917e-02f, -7.357738446e-03f, 6.643848959e-03f, + 5.094157532e-02f, -7.831183821e-02f, 4.958139360e-02f, 9.981586784e-02f, + -1.095711291e-01f, 1.106050238e-01f, -1.075383928e-02f, 2.719639242e-02f, + 9.196911007e-02f, 2.504423261e-01f, 7.391842455e-02f, -2.024189569e-02f, + -8.822883666e-02f, 1.065829024e-01f, 1.733426452e-01f, -2.230134793e-02f, + -3.461436555e-02f, -1.218767464e-01f, -1.032973230e-01f, -5.717135221e-02f, + 1.979077160e-01f, -7.715141773e-02f, 3.996619955e-02f, 1.544231642e-02f, + 6.746339798e-02f, 4.719431978e-03f, -1.386074424e-01f, 1.802080125e-01f, + 6.506175548e-02f, -2.839266788e-03f, 1.203258485e-01f, -8.670477569e-02f, + -4.920393974e-02f, 2.860498615e-02f, 1.622354798e-02f, 7.125853002e-02f, + -4.839681834e-02f, 8.539699018e-02f, 1.031439006e-01f, 1.046745926e-01f, + -6.702268869e-02f, 1.812914759e-01f, -8.969344944e-02f, 7.682788372e-02f, + -7.547829300e-02f, -5.680212006e-02f, 1.515396032e-02f, 3.260543942e-02f, + 4.624764621e-02f, -9.713042527e-02f, 2.023312300e-01f, -9.772409499e-02f, + -6.937980652e-02f, 1.261220081e-03f, -7.436572015e-02f, 8.456501365e-02f, + -2.395583242e-01f, -6.807818264e-02f, -5.491777137e-02f, -2.169503644e-02f, + 8.695751429e-02f, -2.655602805e-02f, -5.682540685e-02f, 2.701550722e-01f, + -7.652490586e-02f, 1.186162457e-01f, 8.418493718e-02f, -1.730482578e-01f, + -1.306586117e-01f, -7.079537213e-02f, -1.070731208e-01f, 6.748757511e-02f, + 5.053050118e-04f, 5.191149563e-02f, 7.286037505e-02f, 4.111440852e-02f, + -1.558057964e-02f, 6.043668836e-02f, 5.014793202e-02f, -1.906784251e-02f, + 2.102572471e-02f, -7.915402949e-02f, 6.197890267e-02f, -2.676244825e-03f, + -2.683535684e-03f, 1.246442366e-02f, 1.630183458e-01f, 2.603061683e-02f, + 5.003986135e-02f, 1.079691350e-01f, 4.409389943e-02f, 1.544440165e-02f, + 1.343817078e-02f, -3.707737848e-02f, -1.190996468e-01f, -1.185868010e-01f, + 1.576907374e-02f, 1.455803216e-01f, -6.889203936e-02f, 6.452882290e-02f, + 8.160450310e-02f, 2.809352987e-02f, -3.132367507e-02f, -5.108827353e-02f, + -8.424961567e-02f, 6.411357224e-02f, 4.630013835e-03f, 4.157147184e-02f, + 2.098480463e-01f, 2.222903222e-01f, -6.388818473e-02f, -1.848515719e-01f, + -2.263611741e-02f, -5.749624223e-02f, 7.846444845e-03f, -7.158417255e-02f, + 7.462657243e-02f, -5.665830337e-03f, 5.453730375e-02f, -5.614687130e-02f, + 4.560096934e-02f, 1.394437253e-01f, -3.279777989e-02f, -8.443598449e-02f, + -1.665141061e-02f, -2.388758026e-02f, -1.295031458e-01f, 1.545511559e-02f, + -2.210265584e-02f, -1.866540760e-01f, 9.430143982e-02f, 4.354799911e-02f, + -1.221267134e-01f, -7.954487950e-02f, -1.785008982e-02f, 1.795726866e-01f, + -2.608651482e-02f, -1.378261298e-01f, 9.540093015e-04f, 3.453440964e-02f, + 3.689639270e-02f, 1.699390635e-02f, -3.606914729e-02f, 9.793805331e-02f, + 6.802250445e-02f, 9.217891097e-02f, -4.525490571e-03f, 2.985338308e-02f, + -4.870255664e-02f, 9.418077022e-02f, -2.958756872e-02f, 1.233589873e-01f, + 6.038244441e-02f, -1.103896350e-01f, 4.820284620e-02f, -1.210413990e-03f, + 1.404762268e-01f, -3.373763710e-02f, -4.928067327e-02f, 1.353457570e-01f, + 1.182508767e-01f, 5.340444297e-02f, -4.862589389e-02f, 6.449906528e-02f, + 3.869881621e-03f, 6.724569947e-02f, -5.936804041e-02f, -1.116024703e-01f, + 4.700219631e-02f, -2.109144926e-01f, 7.168118656e-02f, 2.319700317e-03f, + 1.166209802e-01f, -2.188860178e-01f, 1.762927473e-01f, 1.959016733e-02f, + 7.388487458e-02f, -4.781826586e-02f, -8.091286570e-02f, -6.755259633e-02f, + -8.649316616e-03f, -3.768089786e-02f, 1.075818092e-01f, 3.254391253e-02f, + 9.690539539e-02f, 5.754029378e-02f, 4.402080923e-02f, 7.052334398e-02f, + -5.553455278e-02f, -3.858334199e-02f, -8.766327798e-02f, 6.093213335e-02f, + 9.221138060e-02f, -3.516595438e-02f, 6.342997402e-02f, -3.559902683e-02f, + 1.678934991e-01f, -3.260526806e-02f, -1.480658650e-01f, -1.461512893e-01f, + 8.080147207e-02f, 1.000351459e-01f, -2.738127857e-02f, 5.058632046e-02f, + 3.577485308e-02f, -6.180898100e-02f, 1.681624539e-02f, 2.362084202e-02f, + -4.540703446e-02f, 6.798233837e-02f, 4.975767061e-02f, -1.560615450e-01f, + -7.877703756e-02f, -1.551063638e-02f, 2.205227762e-01f, -7.411570847e-02f, + -2.747580037e-02f, -2.177028544e-02f, 2.123716474e-02f, -1.932846308e-01f, + -8.141126484e-02f, 4.227712378e-02f, -1.380669139e-02f, 1.100929230e-01f, + 1.787707210e-01f, 5.422528833e-02f, 6.286011636e-02f, 1.642638445e-02f, + 1.017274894e-02f, 5.209431052e-02f, 5.622903258e-02f, 1.927052997e-02f, + -1.747308373e-01f, 5.564223602e-02f, 1.785176806e-02f, 1.082178950e-02f, + -2.269892767e-02f, -1.141159236e-01f, -1.751330346e-01f, -1.568875462e-01f, + -1.011883691e-01f, 1.076923311e-01f, 1.335375160e-01f, 3.276444227e-02f, + -4.647530150e-03f, 9.390693158e-03f, 1.390267015e-01f, -6.193504483e-02f, + -8.613432199e-02f, 1.237349287e-01f, 7.879131287e-02f, 1.040965319e-01f, + 3.274450079e-02f, 8.758897334e-02f, -1.655209363e-01f, -8.810127527e-02f, + -3.279906884e-02f, 2.342953160e-02f, -1.787287742e-02f, 3.006199747e-02f, + -1.381288916e-01f, 3.246195614e-03f, 1.305780709e-01f, -3.654332832e-02f, + 3.429527953e-02f, 4.638864193e-03f, 7.999840379e-02f, -5.495233834e-02f, + 1.398692373e-02f, 2.360687777e-02f, 9.539750218e-02f, 5.297885276e-03f, + -5.235043168e-02f, 1.305627674e-01f, 9.380174428e-02f, 3.779169545e-02f, + -8.845183998e-02f, 4.604259506e-02f, 1.859471388e-02f, 1.424166560e-01f, + 3.602425754e-02f, 9.805762768e-02f, -6.008096039e-02f, 4.409025237e-02f, + -1.425852627e-01f, -3.042601235e-02f, -2.649836056e-02f, 2.949881554e-02f, + -8.965180255e-03f, 1.886899397e-02f, 5.382404849e-02f, 8.111357689e-02f, + 8.541438729e-02f, 5.131244659e-02f, -8.657200634e-02f, -9.422396310e-03f, + 1.752411830e-03f, -1.392357051e-01f, -1.639012992e-02f, -6.307534873e-02f, + 2.009689994e-02f, -4.334371909e-02f, 6.941148639e-02f, 2.381633967e-01f, + 5.152145401e-02f, 1.895832270e-01f, 4.770755023e-02f, -1.132328343e-02f, + 1.524176262e-02f, -4.334085062e-02f, 5.067200586e-02f, -5.146538839e-02f, + -1.532894820e-01f, -5.184274539e-02f, -4.247955233e-02f, -4.246254452e-03f, + -6.710920483e-02f, -4.658360034e-02f, -6.290307641e-02f, -1.777661890e-01f, + -3.484559804e-02f, 3.355459869e-02f, -9.171605855e-02f, 9.337791055e-02f, + 2.167905495e-02f, 3.941329941e-02f, 9.608506225e-03f, -3.529221937e-02f, + 6.406851858e-02f, 8.394643664e-02f, 2.968052216e-02f, 3.587704152e-02f, + -1.616084874e-01f, 7.698363066e-02f, 5.267723277e-02f, 7.024850696e-02f, + -1.377620846e-01f, 1.440740079e-01f, -1.206888705e-01f, 1.322029531e-02f, + 3.049463034e-02f, 8.413608186e-03f, -7.894235104e-02f, 1.621052856e-03f, + 3.997590020e-02f, 1.188437194e-01f, 3.197009489e-02f, -3.311842307e-02f, + 4.106878862e-02f, 3.350600228e-02f, 3.640164807e-02f, -4.627566785e-02f, + -1.078925505e-01f, 1.550062001e-01f, -1.821926213e-03f, -1.991339475e-01f, + 1.070617363e-01f, 9.627967328e-02f, 7.083659992e-03f, 2.109603398e-02f, + 9.526088834e-02f, 5.479931086e-02f, 1.486235708e-01f, -3.344901139e-03f, + 8.385410905e-02f, 1.170059294e-01f, 1.075702626e-02f, 1.272503585e-01f, + -2.259690315e-01f, 2.180936933e-02f, -1.123167276e-01f, -7.478725910e-02f, + -1.638677567e-01f, -4.369066283e-02f, 3.770051897e-02f, 9.989321232e-03f, + 2.034963481e-02f, -4.508877918e-02f, -1.098247766e-01f, 4.352691025e-02f, + -1.677644998e-01f, -7.504864037e-02f, 2.066428959e-02f, 9.239775687e-02f, + -4.168847576e-02f, -1.137529165e-01f, -9.135589749e-02f, -1.566359997e-01f, + -1.286655068e-01f, -2.989361808e-02f, 4.986388609e-02f, -9.849527478e-02f, + 1.636319421e-02f, -6.570021063e-02f, 3.654633649e-03f, -9.561995417e-02f, + -1.108646616e-01f, 1.387041621e-02f, 2.067311406e-01f, 1.468129605e-01f, + 1.434875280e-01f, -6.567914784e-02f, -3.320398554e-02f, -5.439610034e-02f, + -7.621157914e-02f, 1.195771396e-01f, -2.031944506e-02f, 1.666677147e-01f, + -1.802730560e-02f, -1.589115709e-02f, 4.132458568e-02f, 8.828933537e-02f, + -5.935161188e-02f, -1.685417816e-02f, -4.430146515e-02f, -6.121152267e-02f, + 1.032245532e-02f, -1.799464412e-02f, -2.166530816e-03f, -1.097642258e-02f, + -1.282000989e-01f, -1.057398766e-01f, -1.522016246e-02f, 6.924141943e-02f, + -4.907200858e-02f, 2.836271375e-02f, 2.876939252e-02f, 5.375864357e-02f, + 5.444346368e-02f, -3.773047775e-02f, 4.279747233e-02f, -5.730263423e-03f, + -3.313175961e-02f, 1.382409930e-01f, -6.993342191e-02f, -6.517988443e-02f, + 9.273614734e-02f, 9.427838773e-02f, -5.117652565e-02f, -1.074349731e-01f, + 5.485415086e-02f, 9.585526772e-03f, -1.003918201e-01f, 5.518925190e-02f, + 1.099155284e-02f, 2.311774790e-01f, -5.800427496e-02f, 3.520809859e-02f, + -1.195423976e-01f, -2.386510670e-01f, -1.493378133e-01f, -4.110481963e-02f, + 2.309445292e-02f, -6.637186743e-03f, 3.022437356e-02f, 1.304626763e-01f, + -1.254070997e-01f, -9.224663675e-02f, 6.626935303e-02f, 9.709172696e-02f, + 1.965040863e-01f, -1.911957934e-02f, -1.750396043e-01f, 2.864196151e-02f, + 5.711938441e-02f, -3.925650381e-03f, 1.199680716e-01f, 1.557319332e-02f, + -7.368149608e-02f, -6.062242389e-02f, -5.509738624e-02f, 9.255322814e-02f, + 3.259142488e-02f, -3.170304373e-02f, 2.130468376e-03f, 6.169041246e-02f, + -1.520278156e-01f, 1.697172523e-01f, 1.398360133e-01f, 3.723938426e-04f, + 1.431176662e-01f, -4.546000436e-02f, 4.621840268e-02f, -1.295169294e-01f, + -5.061617494e-02f, 3.577443585e-02f, -1.128196418e-01f, -9.655161202e-02f, + -6.490782648e-02f, 8.571478724e-02f, 4.024447873e-02f, 2.531133592e-01f, + 3.310741484e-02f, -1.632183231e-02f, 4.343104735e-02f, -1.273088306e-01f, + -4.922205210e-02f, 7.445315272e-02f, 6.653885543e-02f, -5.595721304e-02f, + -9.992579371e-02f, 7.504428178e-02f, 1.090313643e-01f, 9.645088017e-02f, + 8.597159386e-02f, -6.763691455e-02f, 8.844138682e-02f, 6.292803586e-02f, + 1.129383668e-01f, -1.337031126e-01f, 1.192071512e-01f, 7.823199034e-02f, + 1.089962572e-01f, -8.926926553e-02f, -1.110392436e-01f, -3.342057765e-02f, + -5.667242408e-02f, -6.569961458e-02f, 5.498687178e-02f, 1.283145547e-01f, + 2.200172655e-02f, -9.167077392e-02f, 1.159428507e-01f, 3.584263846e-02f, + -4.457884654e-02f, -7.491382211e-02f, 1.423441023e-01f, -1.570225693e-02f, + -2.508006431e-02f, 1.019102484e-01f, -2.739849687e-02f, 3.735333309e-02f, + -2.089994028e-02f, 9.307647496e-02f, 1.165850181e-02f, 4.966842756e-02f, + -5.177038535e-02f, -1.416119635e-01f, 1.184245646e-01f, -7.584117353e-02f, + 8.265122771e-02f, -4.095855355e-02f, -1.375539601e-02f, 1.334732473e-01f, + -5.629735067e-02f, -2.449846640e-02f, -3.523558378e-02f, 2.308705449e-02f, + 2.720974684e-01f, -5.087826401e-03f, 1.555807441e-01f, 9.945027530e-02f, + 9.908740968e-02f, -4.750134051e-02f, 2.620559745e-02f, -7.598267496e-02f, + -4.743813723e-02f, -2.064648829e-02f, 4.507830366e-03f, 9.602979757e-03f, + 1.788090169e-01f, -5.238038301e-02f, 8.215337992e-02f, -2.817075886e-02f, + -7.207274437e-03f, 2.477851510e-02f, 8.992721140e-02f, 1.798570603e-01f, + 8.682805113e-03f, -3.885964677e-02f, 9.355814755e-02f, -7.570800930e-02f, + -6.658453494e-02f, 1.349318624e-01f, 1.246700957e-01f, 5.251438171e-02f, + 2.267685486e-03f, -3.964059800e-02f, 6.053492427e-02f, -8.123430610e-02f, + 1.309786886e-01f, 7.158277929e-02f, -2.611129731e-02f, 3.833554313e-02f, + -8.039218932e-02f, 1.338942945e-01f, -1.049045324e-01f, -5.674344301e-02f, + 1.622032560e-02f, 4.255304113e-02f, -2.127231658e-01f, 1.315477397e-02f, + -7.311876863e-02f, 3.283774853e-02f, 6.475627422e-02f, 2.291661501e-02f, + -1.602656674e-03f, -3.355160728e-02f, -2.677238360e-02f, 4.659628496e-02f, + -1.088424698e-01f, -3.119981661e-02f, 5.963748693e-02f, 2.073170803e-02f, + -7.227018476e-02f, -7.965233177e-02f, 2.233621106e-02f, 1.877968907e-01f, + -1.344321370e-01f, -1.444386542e-01f, -1.818332821e-01f, -3.729040921e-02f, + 6.625490636e-02f, 1.794736832e-01f, -7.472188771e-02f, 8.333755657e-03f, + 1.155156922e-02f, 4.535560310e-02f, -1.657235771e-01f, -1.207922846e-01f, + -8.755940199e-02f, 2.101536468e-02f, 1.139882803e-01f, -2.718164586e-02f, + -9.809409827e-02f, 2.574245445e-02f, 1.433489006e-02f, -7.688901573e-02f, + -2.570603043e-02f, -1.974345651e-03f, -1.244912818e-01f, 1.217404194e-02f, + -7.860302925e-02f, -3.280527890e-02f, 2.735786885e-02f, 2.126346156e-02f, + -3.261824325e-02f, 4.310812801e-03f, -5.176649429e-03f, 6.635233015e-02f, + 1.210611612e-01f, 2.537882142e-02f, -1.947798394e-02f, -1.422870159e-02f, + -1.756720841e-01f, 1.563196629e-01f, 1.299454644e-02f, -2.591232397e-02f, + -1.555051506e-01f, -9.627791494e-02f, 9.513835609e-02f, 5.380938202e-02f, + 1.384330094e-01f, -1.383524686e-01f, -1.232810598e-02f, -4.327299446e-02f, + 9.889055043e-02f, -5.245580152e-02f, -1.414933056e-01f, 1.137375012e-01f, + 2.793464251e-02f, 2.611730248e-02f, -2.793795662e-03f, 3.144317074e-03f, + 1.059187874e-01f, -2.225299031e-01f, 2.931619994e-02f, -4.103773460e-02f, + 2.738344669e-02f, -1.372782290e-01f, -1.055091396e-01f, -8.597970009e-02f, + 9.850153700e-03f, -1.325795054e-01f, -6.175922230e-02f, 1.774443313e-02f, + -7.304193079e-02f, 8.161419630e-02f, -5.883253366e-02f, -3.353567049e-02f, + -1.520561278e-01f, 1.245618239e-01f, 4.835539684e-02f, 2.005434781e-01f, + 3.766628727e-02f, 1.266658902e-01f, -1.484432071e-01f, -1.139655337e-01f, + 9.127201140e-02f, -6.154124439e-02f, -6.668763235e-03f, 6.125129759e-02f, + -6.946656853e-03f, -1.863512248e-01f, -1.890418977e-01f, 1.431994140e-01f, + -2.148550190e-02f, 7.353097945e-02f, -1.134608611e-01f, 2.576919459e-02f, + 2.448194474e-02f, -3.224472702e-02f, -1.338548586e-02f, -1.095858142e-01f, + 1.023330763e-01f, -1.185677797e-01f, 8.784814179e-02f, -1.184373125e-01f, + -5.274651945e-02f, 9.307964146e-02f, 9.319528937e-02f, -9.630431980e-02f, + 9.203612059e-02f, 8.038838208e-02f, -1.393110007e-01f, 1.089926139e-01f, + 1.061883662e-02f, -1.549960077e-01f, 1.833252795e-02f, 2.600910328e-02f, + -3.428905085e-02f, -2.800193243e-02f, 8.951342106e-02f, -7.252340764e-02f, + -5.088599771e-02f, -1.736952215e-01f, -1.317271590e-02f, 8.383512497e-03f, + -1.124405302e-03f, 8.493233472e-02f, -1.960348934e-01f, -1.745375223e-03f, + 7.892596722e-02f, -2.069206834e-01f, -4.709262028e-02f, 4.176706134e-04f, + -1.582085527e-02f, -7.926252671e-03f, 6.529231369e-02f, -2.392785810e-02f, + 3.076260351e-02f, 1.275315583e-01f, -8.739767224e-02f, -2.286224663e-01f, + -8.144778013e-02f, -3.811088204e-02f, -3.133317456e-02f, -6.271280348e-02f, + -9.754134715e-02f, -1.663014665e-02f, 1.313492060e-01f, 4.343378916e-02f, + -9.471338242e-02f, 7.251674682e-02f, -7.496304810e-03f, -1.340523511e-01f, + -4.339429736e-02f, 5.924182013e-02f, 9.712775238e-03f, -4.684691504e-02f, + 1.498457510e-02f, 7.849634439e-02f, 4.887088016e-02f, 9.426469356e-02f, + 4.634637386e-03f, -9.737028182e-02f, 7.939072698e-02f, -8.257981390e-02f, + -3.891884163e-02f, -1.407074183e-02f, -7.608398050e-02f, 6.421087682e-02f, + -4.650731012e-02f, 1.380648911e-01f, -3.738736967e-03f, -1.144616008e-01f, + 1.021097600e-01f, -1.852033846e-02f, -7.775826007e-02f, 1.680740155e-02f, + 3.832145035e-02f, 1.894601583e-01f, 9.728892893e-02f, 1.525813062e-02f, + 8.157365024e-02f, -3.608495696e-03f, 2.748724259e-02f, -9.850382060e-02f, + 3.671333892e-03f, 1.852188446e-02f, 1.529665478e-02f, 1.033408344e-01f, + -1.923571713e-02f, -2.183924429e-02f, 8.544070274e-02f, -7.979757339e-02f, + -6.820798665e-02f, -8.302523941e-02f, 7.144569606e-02f, -1.358870231e-02f, + 7.106140256e-02f, 8.053470403e-02f, -1.214277074e-01f, 1.847259998e-01f, + -8.865866810e-03f, -6.456170231e-02f, -7.254394889e-02f, -2.699360810e-02f, + -1.187200919e-01f, -3.597467672e-03f, -5.051648989e-02f, -8.820009977e-02f, + 8.190609515e-02f, 6.736779213e-02f, -3.546725586e-02f, 1.562339067e-01f, + -3.600483527e-03f, -2.136625582e-03f, 6.251283735e-02f, 1.641370356e-01f, + -1.515872180e-01f, 1.563125104e-02f, -1.375827007e-02f, -1.799553484e-01f, + 1.636505127e-01f, 1.569755077e-01f, 6.703381985e-02f, 9.931655601e-03f, + 1.106442660e-01f, -4.427461699e-02f, 1.483979821e-02f, 4.711659625e-02f, + 7.233628631e-02f, 2.439923398e-02f, 5.031075794e-03f, 1.440867484e-01f, + 2.811989514e-03f, 5.438932031e-02f, -3.768396378e-02f, 1.134906411e-01f, + 3.099678829e-02f, 1.554798800e-03f, -1.689719260e-01f, -1.383239478e-01f, + -6.168166175e-02f, 8.912711404e-03f, -1.143673956e-01f, 3.734759614e-02f, + 3.437349573e-02f, -1.108210720e-02f, -3.987202945e-04f, 7.884191722e-02f, + -8.727793396e-02f, 3.495654557e-03f, -5.970407277e-02f, -4.742212221e-02f, + -7.470569760e-02f, 1.963110408e-03f, -1.968779601e-02f, -3.543070343e-04f, + -9.361016750e-02f, -2.050250322e-01f, 2.228040807e-02f, 1.405756325e-01f, + -9.751606733e-02f, 2.382833809e-01f, 5.137151107e-02f, 1.225302462e-03f, + 1.646465436e-02f, 1.002180576e-01f, 3.492547199e-02f, 2.624871582e-02f, + -6.171996146e-02f, -8.399458975e-02f, 7.166560739e-02f, 7.281785458e-02f, + -3.475831077e-02f, -3.268649429e-02f, -3.745605797e-02f, -3.426772729e-02f, + 1.438548714e-01f, -4.315601662e-02f, 7.701081038e-02f, 7.445680443e-03f, + 5.182723328e-02f, -1.672903597e-01f, 6.875853986e-02f, -1.037467942e-01f, + 8.627935499e-02f, 1.196089834e-01f, 2.723255940e-02f, 3.538446873e-02f, + 1.561823883e-03f, -6.378742307e-02f, 3.203844279e-02f, 9.019482881e-02f, + -2.596219257e-02f, -1.020107567e-01f, -8.745939285e-02f, -2.193785086e-02f, + -1.578603685e-01f, 4.726358503e-02f, 4.904116690e-02f, 1.761198640e-01f, + -1.218352914e-01f, -2.153843874e-03f, 7.193781435e-02f, 2.779335156e-02f, + -1.065374911e-01f, 5.800051615e-02f, -1.407063156e-01f, -2.005598880e-02f, + -6.220269948e-02f, -1.082447022e-01f, 5.612926558e-02f, -9.172623046e-03f, + 5.874270946e-02f, 1.503300667e-02f, -1.436105520e-01f, 1.886803098e-02f, + -1.178112030e-01f, -6.194126233e-02f, -4.443935677e-02f, -2.555619180e-01f, + 1.231401190e-01f, 6.263744086e-02f, -2.666192129e-02f, 2.948430553e-02f, + 1.404935122e-01f, 2.323155403e-01f, 3.073669598e-02f, -5.966894329e-02f, + -1.316762567e-01f, 2.316141315e-02f, -1.089062355e-02f, -6.490571424e-03f, + -1.902815104e-01f, -1.359420121e-01f, -3.607302532e-02f, 3.729507327e-02f, + 1.087946445e-01f, -2.600167878e-02f, 3.418620676e-02f, -6.614746153e-02f, + 5.829203501e-02f, 1.251532137e-01f, -7.177095395e-03f, 1.949058287e-02f, + 5.244679749e-02f, 7.653150707e-02f, -4.639247060e-02f, 1.355640739e-01f, + -7.251512259e-02f, -1.645304859e-01f, -4.186473414e-02f, -1.402945817e-01f, + 7.316633314e-02f, 7.709920406e-02f, 8.256941289e-02f, -1.285444349e-01f, + -4.726434872e-02f, 9.692549706e-02f, -1.469644904e-01f, -7.054919004e-02f, + -6.325232238e-02f, -1.537757963e-01f, 5.970641598e-02f, 1.034294292e-01f, + 9.695772827e-02f, 3.533208370e-02f, 1.492833812e-02f, -5.877937004e-02f, + -1.701148227e-02f, 1.059406903e-02f, 1.055910736e-01f, 1.632796526e-01f, + 7.802549005e-02f, 1.067229956e-01f, 1.489722431e-01f, 8.589871228e-02f, + -1.262599826e-01f, 7.057023793e-02f, -4.640027508e-02f, 3.882861510e-02f, + 2.075111717e-01f, 4.272899404e-02f, 3.241799399e-02f, -2.061361074e-02f, + -1.346360613e-02f, -1.753848791e-01f, -5.081689358e-02f, 2.206131816e-02f, + 1.231416687e-01f, 4.005570710e-02f, -1.101628877e-02f, -4.510226101e-02f, + 2.175421827e-02f, 1.163551733e-01f, 1.268129200e-01f, 1.042903215e-01f, + 8.165782690e-02f, 4.424738511e-02f, -1.117403805e-01f, 9.145534784e-02f, + -1.394042075e-01f, -1.038645431e-01f, 2.533197589e-02f, 9.499946982e-02f, + -1.119415835e-01f, -7.927891798e-03f, 8.584656566e-02f, -2.148887701e-02f, + -3.447222337e-02f, 4.820153490e-02f, 6.944069266e-02f, -1.065934822e-01f, + 6.753561646e-02f, 1.835795492e-01f, 6.425122917e-02f, 7.354152855e-03f, + -3.555436432e-02f, -8.429040760e-02f, 7.147254655e-04f, 1.906685717e-02f, + 3.184563667e-02f, 1.099371463e-01f, 8.946207911e-02f, -6.874476094e-03f, + 6.373279728e-03f, -1.554074138e-02f, -1.997395605e-01f, -2.132015303e-02f, + -6.294789165e-02f, -5.480300263e-02f, 2.765015000e-03f, 1.530094445e-01f, + 2.747512795e-02f, -3.240622953e-02f, -5.982623622e-02f, -2.167118527e-02f, + 8.180892095e-03f, -3.112452663e-02f, -1.545355618e-01f, 3.482629731e-02f, + -1.168780476e-01f, -4.670789093e-02f, -2.867280692e-02f, -1.015201956e-01f, + -1.534983423e-02f, 3.200573474e-02f, -1.140889302e-01f, 8.648728835e-04f, + -9.849557281e-02f, -7.813335955e-02f, -1.155755967e-01f, -2.101292647e-02f, + 6.227437407e-02f, -1.284561157e-01f, 5.630644038e-02f, 1.337073743e-01f, + 1.321692318e-01f, -1.445926428e-01f, 1.162281111e-01f, -3.111867607e-02f, + -1.327101141e-01f, -6.741380692e-02f, -1.129890308e-01f, -1.519132126e-02f, + -1.594912261e-02f, -9.654337168e-02f, 3.138604760e-02f, 4.063851014e-02f, + 6.241422147e-03f, -4.943125695e-02f, 7.473425567e-02f, 3.230864555e-02f, + 8.623992652e-02f, 3.345703334e-02f, 2.860102430e-02f, -2.663232014e-02f, + -9.114878625e-02f, -1.020895988e-01f, 2.366112079e-03f, -2.349056676e-02f, + -8.266122639e-02f, -8.013194054e-02f, 1.809550077e-01f, -6.132835895e-02f, + 1.095300242e-01f, -2.322356403e-02f, 1.118985657e-02f, -8.740084246e-03f, + -1.815134883e-01f, 4.576525837e-02f, -9.103917331e-02f, -1.409598887e-01f, + -1.206479818e-01f, 9.036178887e-02f, -1.395139247e-01f, 7.935735583e-02f, + 1.786539257e-01f, -1.699795760e-02f, -2.490729652e-02f, -3.075991012e-02f, + -2.848220430e-02f, -1.064578518e-01f, 6.726527959e-02f, 1.664764434e-01f, + -6.579091400e-02f, -1.257544607e-01f, 2.366247959e-02f, 1.755871251e-02f, + 1.132311150e-01f, -2.973626601e-03f, -1.610270292e-01f, 2.958171442e-02f, + -5.801450834e-02f, 5.281411111e-02f, -4.122023936e-03f, -3.434332088e-02f, + 1.284914464e-02f, 3.600006178e-02f, -1.141430438e-02f, -1.076435149e-01f, + -6.772590429e-02f, -3.834103234e-03f, 2.780067734e-02f, 6.870868802e-02f, + -6.627590954e-02f, -1.634139940e-02f, -1.254800558e-01f, 7.148985565e-02f, + 6.764194369e-02f, 1.666790806e-02f, -9.820482880e-02f, -2.756377310e-02f, + -9.827891737e-02f, 7.504450530e-02f, 9.313972294e-02f, 1.837558746e-01f, + -5.984121189e-02f, -3.204347799e-03f, -2.512856387e-02f, 3.127925843e-02f, + -1.844282448e-01f, 6.835278124e-02f, -2.539799362e-02f, -7.181305904e-03f, + -7.432234287e-02f, -1.623213105e-02f, 6.069047749e-02f, -1.067590639e-01f, + -9.247846901e-02f, 2.984511666e-02f, -7.760435808e-03f, 5.105074495e-02f, + 1.306020319e-01f, -3.087906353e-02f, -7.495283335e-02f, 9.400846809e-02f, + -4.956816509e-02f, 1.131398827e-01f, 6.673775613e-02f, 6.911593676e-02f, + -2.442817837e-01f, -5.754136667e-02f, -9.996905923e-02f, 1.589283645e-01f, + 3.005316295e-02f, -9.669167548e-02f, 1.506447196e-01f, -1.101647094e-01f, + 4.344940558e-02f, -2.199220326e-04f, 1.458337158e-01f, -6.342839450e-02f, + 1.583337598e-02f, -1.546715647e-01f, -9.729145467e-02f, 9.747342765e-02f, + 3.375022486e-02f, 9.656666219e-02f, -3.703100234e-02f, 4.453898966e-02f, + -1.058395021e-02f, -8.959803730e-02f, 1.431920081e-01f, 1.310532819e-02f, + 1.276220530e-01f, -6.330806762e-02f, 1.014722213e-01f, 1.437164992e-01f, + -1.444500983e-01f, -3.134928271e-02f, -6.213347893e-03f, 3.503194544e-03f, + 8.661344647e-02f, -1.054914743e-01f, -1.300399750e-01f, -1.573007554e-01f, + 3.779012710e-02f, -4.149914533e-02f, 1.251528040e-02f, 1.170902103e-01f, + -1.516172141e-01f, 1.190416738e-01f, -7.653336972e-02f, -6.222251430e-02f, + 1.359725744e-01f, 5.747394264e-02f, -5.996855348e-02f, -1.390887704e-02f, + -3.245387599e-02f, 5.465740804e-03f, 4.683070630e-02f, 1.334209591e-01f, + -2.830214240e-02f, 1.345508397e-01f, 3.496216238e-02f, -1.535562128e-01f, + 6.350410637e-03f, -8.767189831e-02f, 8.537196368e-02f, 1.952090301e-02f, + -7.200816274e-02f, 1.714522718e-03f, -2.757625282e-02f, -9.488470852e-02f, + 5.998736620e-02f, 3.293330595e-02f, 1.500556618e-02f, 6.865616143e-02f, + 9.453853965e-02f, 2.451548874e-01f, 6.292860210e-02f, -8.840170503e-02f, + -2.777888067e-02f, 4.601056129e-02f, 8.155745268e-02f, -1.698163450e-01f, + 4.136133566e-02f, -1.349562109e-01f, 1.324145589e-02f, -1.453213692e-01f, + -7.217092812e-02f, -6.707731634e-02f, 1.455131918e-01f, -1.503558457e-01f, + -2.741316799e-03f, 5.618651956e-02f, 5.661490560e-02f, 5.161654949e-02f, + -2.528576180e-02f, -5.148091912e-02f, 7.610239554e-03f, 2.923074737e-02f, + 8.560332656e-02f, -3.440585360e-02f, 6.212803721e-02f, -1.018872559e-01f, + 8.510702848e-02f, -4.423119500e-02f, 4.478158057e-02f, 3.577966988e-02f, + 4.811773077e-02f, 3.958579153e-02f, -8.148079365e-02f, 1.081685945e-01f, + 1.952959038e-02f, 5.851779506e-02f, 2.108205110e-02f, 8.999501169e-02f, + -1.625287980e-01f, 2.286042459e-02f, 1.703678071e-01f, -8.383429050e-02f, + -2.214588821e-01f, -3.035289410e-04f, 6.942078471e-02f, 1.331069469e-01f, + 2.891935967e-02f, 2.711905167e-02f, -7.828173786e-02f, -1.015967950e-01f, + 8.899500966e-02f, 3.387539415e-03f, -4.812451079e-02f, -2.520561963e-02f, + 4.569565132e-02f, 9.998954833e-02f, 6.314024329e-02f, -3.714782000e-02f, + -6.386671681e-03f, 1.601781994e-01f, 1.454921365e-01f, 1.575779021e-01f, + 4.456783831e-02f, -2.744003758e-02f, 8.947433904e-03f, 7.924430072e-02f, + -1.270757057e-02f, 2.471914142e-02f, -6.324313581e-02f, 1.114212498e-01f, + -3.511970397e-03f, -1.271570381e-02f, 2.244289070e-01f, -5.742729455e-02f, + 3.690709826e-03f, 1.794642210e-01f, 7.116319984e-02f, 4.432700947e-02f, + 9.646012634e-02f, -4.944285750e-02f, -5.630677566e-02f, -1.396908313e-01f, + 3.965299949e-02f, -1.225162577e-02f, 1.067982465e-01f, -5.540260579e-03f, + -6.598166376e-02f, -4.886553437e-02f, 6.428979337e-02f, -1.260064542e-01f, + -1.250713877e-02f, 9.052965045e-02f, 7.039084565e-03f, 1.188068241e-01f, + 1.448079348e-01f, 2.721219510e-02f, 1.044173464e-01f, 3.380932659e-02f, + 7.691571862e-02f, -2.432399988e-01f, 5.005067959e-02f, -1.556517333e-01f, + -1.102875452e-02f, 2.853469178e-02f, 4.825155064e-02f, 9.000579268e-02f, + -1.195448413e-01f, -1.308617145e-01f, 6.418172270e-02f, 3.297500685e-02f, + -2.431961298e-01f, 6.533882022e-02f, -1.039547995e-01f, -2.629207633e-02f, + -1.924757063e-01f, -3.424802423e-02f, 1.402626783e-01f, 5.891018361e-02f, + -1.153906733e-01f, -4.913083836e-02f, 1.320643723e-01f, -4.550745338e-02f, + 1.891726442e-02f, -1.584998071e-01f, -3.881186945e-03f, -1.238101199e-01f, + 4.466657713e-02f, -7.075442374e-02f, 1.590225995e-01f, 1.590741426e-02f, + 9.862399101e-02f, -1.743973978e-02f, -1.141204033e-03f, -1.025998779e-02f, + 4.355413839e-03f, -5.553593487e-02f, -8.623052388e-03f, -1.977137625e-01f, + 8.547466248e-02f, -1.609485894e-01f, 5.027826875e-02f, -4.694017768e-02f, + 4.205251485e-02f, -5.460546538e-02f, 5.655135494e-03f, -4.695795104e-02f, + 1.376584452e-02f, -1.820567623e-02f, -1.269277651e-02f, -7.839566469e-02f, + -6.758666039e-02f, 2.229124755e-01f, 6.439378113e-02f, -5.838119239e-02f, + -1.367553622e-01f, 3.037506528e-02f, -3.032579832e-02f, -1.096318886e-01f, + -1.870060861e-01f, -6.344939768e-02f, 6.629051268e-02f, 2.676356770e-02f, + 4.279669002e-02f, -5.225454271e-02f, -1.003530771e-01f, -3.209647536e-02f, + -8.175375313e-02f, -1.678606682e-02f, 3.062945418e-02f, 7.733067870e-02f, + 1.423047781e-01f, -4.586664587e-02f, -8.183748275e-02f, 3.064124659e-02f, + -1.335229278e-01f, -3.281880170e-02f, -9.252160043e-02f, -8.724460751e-02f, + 5.283137411e-02f, 9.231814742e-02f, 9.399908781e-02f, -3.572901338e-02f, + -4.699298367e-02f, 3.677304462e-02f, -3.290251270e-02f, 7.380158454e-02f, + 3.812549170e-03f, -7.307116687e-02f, -2.957064100e-02f, 5.713545159e-02f, + -6.063209847e-03f, 2.535660379e-02f, 2.186637744e-02f, -2.366164327e-02f, + 4.296256229e-02f, 1.388272047e-01f, -1.015537158e-01f, -9.218543023e-02f, + -2.409105375e-02f, 1.377834231e-01f, 2.944479324e-02f, -7.140693814e-02f, + -1.157077309e-02f, -8.686980233e-03f, -4.864872992e-02f, 4.032536224e-02f, + 7.434865460e-03f, -1.004114524e-01f, -1.063343734e-01f, -2.502490021e-02f, + -1.349583417e-01f, 8.015840501e-02f, 9.226080775e-02f, 1.321063656e-02f, + -5.704756826e-03f, 1.435171664e-01f, -1.390428096e-01f, -4.932804778e-02f, + -1.070004888e-02f, -1.077011377e-01f, -1.264662296e-01f, -1.197328977e-02f, + 7.672692835e-02f, 9.941695631e-02f, 5.810540542e-02f, -1.087174937e-02f, + 4.516601935e-02f, -5.130819604e-02f, -1.155925565e-03f, 5.745954067e-02f, + 2.749029733e-02f, 5.627805833e-03f, 1.156278141e-02f, 2.504265634e-03f, + 1.833832264e-01f, 7.471463829e-02f, 8.722586185e-02f, -1.792018116e-01f, + -3.601546865e-03f, 3.366148099e-02f, -8.350117505e-02f, 1.038000435e-01f, + 6.110996008e-02f, -1.172764748e-01f, 1.230136231e-01f, 1.959662512e-02f, + -5.549443886e-02f, 8.068881929e-02f, 7.737583667e-02f, -2.830694057e-02f, + -6.517292932e-03f, 5.229055136e-02f, -9.432541579e-02f, -1.018723994e-01f, + -1.962644905e-01f, 6.823049486e-02f, -5.211874098e-02f, -2.744010277e-02f, + 4.209047928e-02f, -1.407108153e-03f, 1.033034697e-01f, 7.579768449e-02f, + 1.354837138e-02f, -6.152821332e-02f, 3.132020310e-02f, -1.719848216e-01f, + 8.436136879e-03f, -5.220112856e-03f, -7.562945783e-02f, 1.203269288e-01f, + 2.191846259e-02f, 3.136863559e-02f, 1.855136603e-01f, -2.352802642e-02f, + 9.183696471e-03f, -9.276411682e-02f, -9.606836736e-02f, 1.726846695e-01f, + -1.477672607e-01f, 5.094782449e-03f, 7.197944820e-02f, 1.303089708e-01f, + 3.302329779e-02f, 2.908861637e-02f, 9.615302831e-02f, -4.723468423e-02f, + 6.016355380e-02f, 4.113600403e-02f, -5.188885704e-02f, 1.260336488e-01f, + -1.643571258e-01f, -2.146773413e-02f, -6.144186109e-02f, -6.905243546e-02f, + -1.130300835e-01f, 8.523236215e-02f, -1.138721928e-01f, 5.909883231e-02f, + 1.321905851e-01f, 1.233555675e-01f, 4.192848876e-02f, -5.726198852e-02f, + -9.767477214e-02f, -1.542712152e-01f, 7.324367017e-02f, 1.072934419e-01f, + 1.758833230e-02f, -4.926767945e-02f, -2.360482663e-01f, -4.312530905e-02f, + -5.877314880e-02f, -2.463616244e-02f, 7.377609611e-02f, -1.559275240e-01f, + 9.242714942e-02f, 8.942317218e-02f, 6.187660992e-02f, -4.569558427e-02f, + 1.211169641e-02f, -1.778340787e-01f, 5.686629936e-02f, 1.608789265e-01f, + 2.047592960e-02f, 3.861676436e-03f, 1.929400116e-02f, -5.475471541e-02f, + 1.539511681e-01f, 6.454363931e-03f, 1.200187951e-01f, -8.762227744e-02f, + 7.247836143e-02f, 8.584346622e-02f, 1.068513691e-01f, -8.029589057e-02f, + 1.672046185e-01f, -5.805394799e-02f, -1.849770360e-02f, 1.008174941e-02f, + -9.963625669e-02f, 5.897064134e-02f, -4.757521302e-02f, 2.029757202e-02f, + -4.758479074e-02f, -1.903618453e-03f, 1.866955757e-01f, -9.206438810e-02f, + -1.180310845e-01f, 3.540947661e-02f, -2.263469622e-02f, -1.559531987e-01f, + 1.757504046e-01f, -4.665152635e-03f, 1.302930154e-02f, 9.458856285e-02f, + -4.859627411e-02f, -7.072260231e-02f, 8.588189632e-02f, 3.123619407e-02f, + -1.045123860e-01f, -5.611798540e-02f, 3.579746187e-02f, 1.993377507e-01f, + 3.176730871e-02f, 7.552661747e-02f, 6.174662709e-02f, 1.064738072e-02f, + -3.658409044e-02f, -8.896712214e-02f, 1.427229941e-01f, 2.021950483e-01f, + -9.470894188e-02f, -8.549588732e-03f, 4.785490409e-02f, -1.460694820e-01f, + -6.989388168e-02f, 3.279706463e-02f, 9.126722813e-02f, 4.368224740e-02f, + 3.061919101e-02f, 4.112988338e-02f, 7.936081290e-02f, 1.290702447e-02f, + -3.847366944e-02f, 4.006049037e-02f, -8.501982689e-02f, -1.737535149e-01f, + -1.445416659e-01f, -6.379550695e-02f, -3.265136108e-02f, -6.718955189e-02f, + -5.157851800e-02f, -1.341642886e-01f, -7.492688298e-02f, 1.431075782e-01f, + -1.264034510e-01f, -1.712033711e-02f, 1.006245762e-01f, 3.360045701e-02f, + -6.598102394e-03f, 4.382333905e-02f, 2.837326936e-02f, 8.503142744e-02f, + 4.908579960e-02f, -1.777440459e-01f, 8.379964158e-03f, 1.102877706e-01f, + -2.734961733e-02f, -1.064572707e-01f, 3.371793032e-02f, 1.335700043e-03f, + -1.509925127e-01f, 1.635970324e-01f, -4.774907720e-04f, -4.030675814e-02f, + -7.195465267e-02f, 3.344354033e-02f, -1.808687672e-02f, -9.729154408e-03f, + -3.729251772e-02f, 2.694753371e-02f, -1.421611458e-01f, -1.180496812e-02f, + 5.955593660e-02f, 6.782583892e-02f, 2.498591878e-02f, -2.026091889e-02f, + -6.179396808e-02f, -1.054939106e-01f, -9.447328746e-02f, -1.177676246e-01f, + 2.388710529e-01f, 5.275558308e-02f, 9.090559930e-02f, -4.690154642e-02f, + -8.971365541e-02f, -9.200029820e-02f, 2.461111173e-02f, 4.604786634e-02f, + -5.509650335e-02f, -1.504000928e-02f, 5.945112556e-02f, -1.280580610e-01f, + -1.868363172e-01f, -1.979814097e-02f, -6.001844257e-02f, 7.354234904e-02f, + -2.121111192e-02f, -5.940335989e-02f, -1.848406047e-01f, -1.494805235e-02f, + -1.350351274e-01f, 1.974918321e-02f, -2.129492350e-03f, -5.757346749e-02f, + -1.344445497e-01f, -3.984135762e-02f, 7.870973647e-02f, 2.843882889e-02f, + 9.966939688e-02f, -5.539631099e-02f, 9.724875540e-02f, 7.347021997e-02f, + -3.616319597e-02f, 3.401934355e-02f, 1.157071367e-01f, 6.545644253e-03f, + -4.241415486e-02f, 1.061418727e-01f, 3.410112113e-02f, 6.014221534e-02f, + -2.861964703e-02f, -2.677573822e-02f, -9.853215516e-02f, -1.336441189e-01f, + -2.265687585e-01f, 1.705755442e-01f, -1.396910660e-02f, 1.392271072e-01f, + -1.242061108e-01f, 8.664835989e-02f, -3.563616797e-02f, -4.183224868e-03f, + -2.704818361e-02f, 1.082673222e-01f, 7.969771326e-02f, -7.652243227e-02f, + -1.154404059e-01f, -9.576902539e-02f, 1.248166859e-01f, 1.091366038e-01f, + 1.067609042e-01f, -1.309676915e-01f, 1.899505034e-02f, 7.216318697e-02f, + 8.622377366e-02f, -9.423542768e-02f, -4.005489126e-02f, -7.401175797e-03f, + 1.226889994e-02f, -4.390670732e-02f, 4.789321125e-02f, -2.742367983e-02f, + 2.527945116e-02f, 1.182540059e-01f, -1.096314006e-02f, -1.736439648e-03f, + 7.862479240e-02f, -1.833878160e-01f, 5.100321770e-02f, -2.841093540e-01f, + 1.180791948e-02f, 8.506503887e-03f, 8.373966813e-02f, 4.058879334e-03f, + 2.301803557e-03f, 7.052164525e-02f, -3.263771161e-02f, 2.004292905e-01f, + -4.564728588e-02f, 7.223047316e-03f, -5.577845499e-02f, -2.591691352e-02f, + -1.771246493e-01f, -7.506467402e-02f, -7.994232327e-02f, -6.147215143e-03f, + -6.773409247e-02f, -5.820795521e-02f, 6.981461495e-02f, 4.050557315e-02f, + 4.409089684e-02f, -7.444911450e-02f, 1.034117863e-01f, 1.302095801e-01f, + -1.368945930e-02f, -3.977398202e-02f, 8.215246350e-02f, -1.523108315e-02f, + -3.819835559e-02f, -1.055318266e-01f, 1.333127767e-01f, 9.924545884e-04f, + -3.827389330e-02f, 9.721113741e-02f, -1.161760390e-01f, 3.014020808e-02f, + 6.128056720e-02f, 1.581096090e-02f, 1.946204156e-01f, 3.951924294e-02f, + -3.845486091e-03f, 1.089113355e-01f, 1.283376515e-01f, -2.249737084e-02f, + -7.636653632e-02f, -1.197180524e-02f, 7.493296266e-02f, -1.021885313e-02f, + -9.512339719e-03f, 6.783770770e-02f, 1.167974174e-01f, -8.617371321e-02f, + -2.150448039e-02f, 3.751678392e-02f, 6.062479690e-02f, -5.298931897e-02f, + -8.426491171e-02f, -1.856133924e-03f, -1.437187791e-01f, 8.476591110e-02f, + 3.790726513e-02f, -1.747963205e-02f, 2.177931219e-01f, -1.041971371e-01f, + 3.788841888e-02f, 1.138484254e-01f, 1.218220741e-01f, 3.063275246e-03f, + 2.831154270e-03f, -2.640097216e-02f, 1.321447939e-01f, 4.017692059e-02f, + -1.083596796e-01f, -1.349679083e-01f, 6.864857674e-02f, -4.074590281e-02f, + 8.937513828e-02f, 2.260331661e-01f, -1.380716413e-01f, -1.802474144e-03f, + 1.248962879e-01f, -5.958627164e-02f, -7.269511372e-02f, 5.884206668e-02f, + -1.571976766e-02f, -1.058582664e-01f, -2.567517385e-02f, -1.596816629e-02f, + 4.006912932e-02f, 1.425611377e-01f, -1.207713485e-01f, 1.123647317e-01f, + -6.249724329e-02f, -1.646203175e-02f, 7.151290029e-02f, -1.028307248e-02f, + 3.332813829e-02f, 3.443801403e-02f, 1.961877756e-02f, -2.138426527e-02f, + -1.196350753e-01f, -7.588592172e-02f, 4.510672297e-03f, -3.490662202e-02f, + -5.003372207e-02f, -1.327141821e-01f, 1.208849996e-02f, 7.721717656e-02f, + -1.498985197e-02f, -1.460152119e-01f, -1.371591091e-01f, 4.285351932e-02f, + -2.571488917e-01f, -1.671467349e-02f, 1.746997796e-02f, 6.311855465e-02f, + 5.797985196e-02f, 7.954372466e-02f, -1.220986024e-01f, 9.581039101e-02f, + -6.009030342e-02f, -2.121440694e-02f, 7.461945713e-02f, -1.124054864e-01f, + -5.142000504e-03f, 6.622401625e-02f, -1.601612866e-01f, 8.511436731e-02f, + -4.814083874e-02f, 1.236566454e-01f, 1.809087954e-02f, -6.632981449e-02f, + -5.183806270e-02f, 3.356343834e-03f, -7.839463651e-02f, 8.822336793e-03f, + -5.167215690e-02f, 9.904375672e-02f, -1.033838186e-02f, 4.804430529e-02f, + -2.607061528e-02f, -5.414178967e-02f, 1.489776839e-02f, 4.824674502e-02f, + -1.800037175e-02f, 7.093742490e-02f, -1.116147935e-01f, -8.694531024e-02f, + -2.212400287e-01f, -2.259034663e-02f, -7.123947889e-02f, -6.328099221e-02f, + 1.647054963e-02f, -9.553585947e-02f, 3.188548237e-02f, 5.200992897e-02f, + 1.277236789e-01f, -2.563635260e-02f, 5.737138912e-02f, 8.656585217e-02f, + -6.035123393e-02f, 1.626367420e-01f, -9.223546833e-03f, 1.474036183e-02f, + -3.448062018e-02f, 5.917554349e-02f, -1.058417559e-01f, -7.020759583e-02f, + -9.891976416e-02f, -2.717440575e-02f, 1.105971411e-01f, 8.971058764e-03f, + 1.628901623e-02f, 2.681485005e-02f, 4.700686783e-02f, -4.579454288e-02f, + -2.083862945e-02f, 4.347947985e-02f, 1.345145851e-01f, -8.710771054e-02f, + -3.519057110e-02f, 1.186671108e-01f, -2.951748855e-02f, -8.437733352e-02f, + -3.080592118e-02f, 5.408475548e-02f, -1.993059218e-01f, -3.291393444e-02f, + -1.044180170e-01f, 1.208300367e-01f, -4.562387988e-02f, -3.236346692e-02f, + 4.120096192e-02f, 1.890779138e-01f, 1.524344683e-01f, 1.151632071e-01f, + -1.454758495e-01f, -1.513278335e-01f, 1.881312393e-02f, -2.932953648e-02f, + 5.928654969e-02f, -4.362831637e-02f, -2.219367623e-01f, -1.056854352e-01f, + -8.507732302e-02f, 1.390176862e-01f, -3.637096146e-03f, -3.269013017e-02f, + -9.204167128e-02f, -7.640248537e-02f, -9.845992923e-02f, -1.503564715e-01f, + 1.390610337e-01f, -1.187709793e-01f, -2.032518387e-02f, -5.630872399e-02f, + 8.285119385e-02f, 3.459441708e-03f, 1.431392431e-01f, -1.197955087e-01f, + -1.211921945e-01f, -1.523544732e-02f, 9.278954566e-02f, -9.263210744e-02f, + -1.281397510e-02f, 1.147298887e-01f, -1.691362113e-01f, -3.876979277e-02f, + -1.241692081e-01f, -3.296029055e-03f, -1.154235527e-01f, -2.330938354e-02f, + -7.438498735e-02f, -1.831210777e-02f, 7.665658742e-02f, 8.534917980e-02f, + -3.651963919e-02f, 1.038930193e-01f, -1.706656069e-02f, 2.915861271e-02f, + -2.925896272e-02f, -3.907872736e-02f, 8.105518669e-02f, -4.144495726e-02f, + -4.554419219e-02f, -2.918756567e-03f, 8.348540962e-02f, 2.641764842e-02f, + 6.570527703e-02f, 2.514131367e-01f, 8.960834891e-02f, 7.042095065e-02f, + 1.235477850e-01f, 8.386382461e-02f, 1.067416836e-02f, -1.143084466e-01f, + -7.691933215e-02f, 6.747996062e-02f, -1.132566854e-01f, 2.261029184e-02f, + -1.273029745e-01f, 4.727007821e-03f, 3.092540614e-02f, 5.785236135e-04f, + 2.436002716e-02f, -6.615939736e-02f, 2.888039500e-02f, 8.009389788e-02f, + 1.814914346e-01f, -9.109663218e-02f, -4.382328317e-02f, 9.504330158e-02f, + 1.881305873e-02f, 1.082522199e-01f, 1.492933631e-01f, -7.348299026e-02f, + 5.486828741e-03f, -1.478055026e-02f, -4.713464901e-02f, -1.431437582e-01f, + -4.535220191e-02f, 2.099010535e-02f, -3.535003401e-03f, -5.215636268e-02f, + 3.114335239e-02f, -1.389996409e-01f, -1.117330417e-01f, -1.075548530e-01f, + 8.847609907e-02f, 8.106151223e-02f, -8.545424789e-02f, 3.788958862e-02f, + -3.400062770e-02f, -1.969899237e-02f, 1.318969671e-02f, -2.464645728e-02f, + 1.073698606e-02f, 7.841238379e-02f, -1.098108515e-01f, -7.263943553e-02f, + -1.522313952e-01f, 4.758269712e-02f, -1.643891074e-02f, 1.480471939e-01f, + -5.996489897e-02f, 1.400315762e-01f, -8.509632945e-02f, 7.210509479e-02f, + 4.311910272e-02f, -5.891658366e-02f, -9.351653606e-02f, 7.493720204e-02f, + 3.858888149e-02f, -2.080962062e-01f, 2.017531358e-02f, 2.893230319e-01f, + -3.649970889e-02f, 7.207187265e-02f, 3.913231567e-02f, -9.467885643e-02f, + 1.065509096e-01f, -2.487224527e-02f, 4.618439823e-02f, -1.465490554e-02f, + 1.534930058e-02f, 5.670468137e-02f, -1.105049476e-01f, -3.455941007e-02f, + -4.487907514e-02f, 4.292390775e-03f, -1.527959555e-01f, -3.516359255e-02f, + 4.115414247e-02f, 1.233111471e-01f, 2.891009487e-02f, 4.644857347e-02f, + 4.958338570e-03f, 6.985885650e-02f, 8.483488858e-02f, 3.964535519e-02f, + -8.088349551e-02f, 3.240618855e-02f, -2.023174614e-02f, -1.051932294e-02f, + 3.036158904e-02f, -1.603801250e-01f, -5.148994550e-02f, -1.333631426e-01f, + 5.697597750e-03f, 6.887785345e-02f, 2.965503559e-02f, -7.463074476e-02f, + -9.830316156e-02f, 7.703587413e-02f, -8.301565796e-02f, 9.815031290e-02f, + 2.306112647e-01f, 4.599582031e-02f, -2.128912508e-02f, 3.409177065e-02f, + -3.647261485e-02f, 1.056996733e-01f, -8.207152784e-02f, -1.723766923e-01f, + 1.705019735e-02f, 1.224126071e-01f, 3.873399273e-02f, 8.310037665e-03f, + -2.096818946e-02f, 7.793364674e-02f, -2.194738947e-02f, 5.291549116e-02f, + -4.097721726e-02f, 2.274737358e-01f, -2.591028251e-02f, -2.477635443e-02f, + -1.978744194e-02f, 4.421032965e-02f, 6.782370154e-03f, 4.692729935e-02f, + -1.645266414e-01f, -1.967092007e-01f, -9.322712570e-02f, -7.256872207e-02f, + -9.734380245e-02f, -9.510883689e-02f, 1.203983836e-02f, -2.674929565e-03f, + -1.900028810e-02f, 7.414659113e-02f, 4.472004622e-02f, -1.759822965e-01f, + -4.415141791e-02f, 9.814395569e-03f, 7.248455286e-02f, -2.614040859e-03f, + 1.462689787e-02f, -8.429776877e-02f, 5.354470387e-02f, -2.512346581e-02f, + -7.420255244e-02f, 1.543958783e-01f, -1.435339730e-02f, -1.457304507e-02f, + -6.222321838e-02f, -5.454673432e-03f, -1.146080345e-02f, -1.207958013e-01f, + -2.035282254e-01f, 9.113948792e-02f, -1.135502532e-01f, -8.799272776e-02f, + -5.076442659e-02f, -4.612022266e-02f, -8.355715871e-02f, -3.148607910e-02f, + 5.390523374e-02f, 4.676645249e-02f, -1.034131050e-01f, 9.517168254e-02f, + -9.644769132e-02f, 2.089611888e-01f, -7.369077951e-02f, 1.442344487e-01f, + 8.730283380e-02f, 9.472475946e-02f, -7.555679977e-02f, 1.803877950e-02f, + 6.444731355e-02f, -2.061148360e-02f, 2.396114916e-02f, 7.305438071e-02f, + 7.289794832e-02f, 2.195266262e-02f, 9.503977746e-02f, 3.925630450e-02f, + 1.022022739e-01f, -5.557582155e-02f, -6.906145066e-02f, 7.799638808e-02f, + -5.662720650e-02f, 1.358088404e-01f, -2.248392254e-01f, -1.380862445e-01f, + -3.548514470e-02f, 1.382304449e-02f, -4.971221462e-02f, 8.435357362e-03f, + 2.397998236e-02f, 1.267653704e-01f, -1.451169141e-02f, 3.688086569e-02f, + -1.177990809e-02f, 3.576276824e-02f, -1.310129762e-01f, 1.809130609e-01f, + 7.738375664e-02f, -1.989272535e-01f, 3.185793012e-02f, -4.417221528e-03f, + -5.015280913e-04f, -2.208031528e-02f, -1.191031411e-01f, 2.946075238e-02f, + 5.528800189e-02f, -4.573151842e-02f, 4.523035139e-02f, 5.469122436e-03f, + 5.924877152e-02f, -6.374911219e-02f, 1.288391501e-01f, 5.100972578e-02f, + 4.396887124e-02f, -1.217743754e-01f, -9.031045251e-03f, 1.093202084e-01f, + -9.051286429e-02f, -8.486574516e-03f, -2.186529636e-01f, -6.406545639e-02f, + 6.954836845e-02f, -8.197827265e-03f, -5.284234649e-04f, 7.467173785e-02f, + 1.896802336e-03f, 1.095244661e-01f, 3.014498204e-02f, -1.118174642e-01f, + -5.127428472e-02f, -5.233531818e-02f, 1.206718013e-01f, 4.597724974e-02f, + 1.336882412e-01f, -2.368875593e-02f, -1.781344265e-01f, 5.904030800e-02f, + 1.008849125e-02f, 1.175025329e-01f, -1.393309385e-01f, 1.050929725e-01f, + -7.133871317e-02f, 1.117992774e-01f, 4.986555129e-02f, -4.373971373e-02f, + 1.025949791e-01f, 1.484320313e-01f, 4.398097470e-02f, -1.058817804e-01f, + 5.329912901e-02f, -2.645779401e-02f, 1.133094057e-01f, 1.196035147e-01f, + -2.799585089e-02f, 1.156555116e-01f, -6.202765927e-02f, 1.822193712e-02f, + 1.207357123e-01f, -2.607322298e-02f, -1.091314200e-02f, -4.078189377e-03f, + -5.384455994e-02f, 2.766508237e-02f, -1.481945813e-01f, -4.237511009e-02f, + -1.261614561e-01f, 1.347187310e-01f, -1.442205310e-01f, 2.206452936e-02f, + 1.766454875e-01f, -9.886429459e-02f, -8.588096499e-02f, -3.893816471e-02f, + -2.631344541e-04f, -1.742293499e-02f, 5.939702690e-02f, -1.564998180e-01f, + -3.816360980e-02f, -7.652899716e-03f, -5.030115321e-02f, 3.359744325e-02f, + -4.493089020e-02f, -2.781857271e-03f, 1.283520833e-02f, 6.884862483e-02f, + -1.531361639e-01f, 9.603197873e-02f, -1.108723879e-01f, 7.424478978e-02f, + -3.161869943e-02f, -1.549034417e-01f, -2.655031905e-02f, 8.563918620e-02f, + 1.501896083e-01f, 2.215086855e-02f, -2.115392126e-02f, -1.742051691e-01f, + 7.767517865e-02f, -3.890721127e-02f, -1.741861701e-01f, 9.719250351e-02f, + -2.459717542e-02f, -9.554753453e-02f, -7.848173380e-03f, 1.693684161e-01f, + 4.328698665e-02f, 1.535841972e-01f, 2.360341372e-03f, 1.577416211e-01f, + 1.349448264e-01f, 8.890232444e-02f, 3.538942710e-02f, -7.956852205e-03f, + -4.046982527e-02f, -5.525458604e-02f, -2.219253033e-02f, -1.963682175e-01f, + -5.755978823e-02f, -3.213975206e-02f, -1.096764728e-01f, -4.069330916e-02f, + -3.221725114e-03f, 2.700770460e-02f, -6.127074361e-02f, 1.110561863e-01f, + 8.534550667e-02f, 2.215954475e-02f, -3.968215315e-04f, -1.141311526e-01f, + -2.835687436e-02f, -1.020621061e-01f, 1.170236170e-01f, -6.498850882e-03f, + -5.850655586e-02f, 3.568722680e-02f, 4.819479212e-02f, 7.965300232e-02f, + 5.031119287e-02f, -6.482925266e-02f, -1.648433208e-01f, -3.475825116e-02f, + -1.052288115e-01f, -1.966606081e-01f, -5.299283564e-02f, 6.352860481e-02f, + 7.249174267e-02f, -1.201285347e-01f, -4.877025634e-02f, 8.062729985e-02f, + -7.118995488e-02f, -5.266411975e-02f, -8.883078396e-02f, 3.483361378e-02f, + -2.214650810e-02f, -7.139847428e-02f, -1.424919963e-01f, 9.891634434e-02f, + 6.732387841e-02f, 1.291131321e-02f, -7.559813559e-02f, -2.285632677e-02f, + -1.097284630e-01f, -1.821507066e-01f, -8.583596349e-02f, 1.694693789e-02f, + -8.511669189e-02f, 5.650707707e-02f, 1.443123221e-01f, 6.003700942e-02f, + -1.450219899e-01f, -3.509306535e-02f, 1.390861273e-01f, -7.770459354e-02f, + -1.048865095e-01f, 1.349082589e-01f, 9.600748122e-02f, -1.250133216e-01f, + -5.963419750e-02f, -8.636527695e-03f, -4.617951810e-02f, -9.145293385e-02f, + -6.021112576e-02f, 3.230059519e-02f, -8.358982950e-02f, 1.062106565e-01f, + 1.003221497e-01f, -1.405680180e-01f, -1.329897996e-02f, -2.856414393e-02f, + 7.602821290e-02f, -9.559281915e-02f, 7.495709509e-02f, 2.801711112e-02f, + 3.717448935e-02f, 4.749815539e-02f, 9.075815231e-02f, 3.627560660e-02f, + -9.549779445e-02f, -3.836392984e-02f, 4.879617319e-02f, -2.231595479e-02f, + -1.877280697e-02f, -7.367841899e-02f, 3.919940814e-02f, -3.439045325e-02f, + 8.446573466e-02f, -6.169660389e-02f, -9.383939207e-02f, 3.379184380e-02f, + 1.199260587e-03f, 3.197816387e-02f, 7.046937197e-02f, 3.285379708e-02f, + -1.722959429e-02f, -7.685729116e-02f, 1.145571321e-01f, 4.289708287e-02f, + 1.264801435e-02f, 6.017420813e-02f, -3.439779952e-02f, -9.525247663e-02f, + 1.483243406e-01f, -1.749946922e-02f, 1.097292602e-01f, -1.241113171e-01f, + 1.323000491e-01f, 2.353165299e-02f, -6.909432262e-02f, -9.332467616e-02f, + 9.887900949e-02f, -1.727319881e-02f, 7.353328168e-02f, 1.769519150e-01f, + -1.474056244e-01f, -6.743124872e-02f, -1.404321343e-01f, -1.001622826e-01f, + 3.893996775e-02f, 8.882607217e-04f, 4.529135674e-02f, 1.038759127e-01f, + -8.779824525e-02f, -1.586108953e-01f, 1.574647725e-01f, -5.705241859e-02f, + 8.825267106e-02f, 1.904085279e-01f, 7.428116351e-02f, 2.320185304e-01f, + 1.082826033e-01f, 8.041350543e-02f, 4.112202674e-02f, -1.437205821e-02f, + -3.509752825e-02f, -2.655093186e-02f, 5.115417019e-02f, -1.160073876e-01f, + -1.912951469e-02f, -9.194711596e-02f, -3.666774184e-02f, -1.353928894e-01f, + 8.134596795e-02f, 8.451931924e-02f, 1.135965884e-01f, -1.871368885e-01f, + 1.403658539e-01f, 1.177988760e-02f, 1.812454462e-01f, -1.652825857e-03f, + -3.288231045e-02f, 5.346046761e-02f, -1.300310194e-01f, -4.379005358e-02f, + 1.172952726e-01f, 2.138393670e-01f, -6.547407061e-02f, -4.685110226e-02f, + 3.675508499e-02f, -1.055828929e-01f, -4.260579497e-02f, 4.089365900e-02f, + 7.901613414e-02f, -1.078929231e-01f, 1.874703616e-01f, -6.400004774e-02f, + 1.887099072e-02f, 1.421920955e-01f, 3.433711827e-02f, 5.650679767e-02f, + -5.081815273e-02f, 5.316883698e-02f, -8.389003575e-02f, -4.411815107e-02f, + 9.052620083e-02f, 2.236557752e-02f, -9.707225487e-03f, 2.835378610e-02f, + 7.288096100e-02f, 5.928267911e-02f, 5.887055025e-02f, 4.691434652e-02f, + -2.358313277e-02f, 1.147201061e-01f, -7.173029333e-02f, -5.086921528e-02f, + -9.836515784e-02f, 1.117041931e-01f, 8.099053986e-03f, -2.958111651e-02f, + 2.110326849e-02f, 1.234196201e-01f, -6.203144044e-02f, -1.375129540e-02f, + 2.638225071e-02f, -1.625428051e-01f, 7.799864560e-02f, 3.594953194e-02f, + -6.480906159e-02f, 6.578607112e-02f, 8.703804761e-02f, 5.849189311e-02f, + 1.358706504e-01f, 1.861580531e-03f, -4.351614416e-02f, -3.392249718e-02f, + 1.047127694e-02f, 7.486741245e-02f, -1.534596831e-01f, 2.249414474e-02f, + 1.187934261e-02f, -7.220498472e-02f, -1.850788854e-02f, 1.643935032e-02f, + 5.468028039e-02f, 8.245866001e-02f, 2.822503448e-02f, 1.462809145e-01f, + 1.241648793e-01f, -1.909640133e-01f, -1.642469503e-02f, -1.019506827e-01f, + 4.579199106e-02f, 1.974105090e-01f, 7.042359561e-02f, -5.117005855e-02f, + -1.226291582e-01f, 2.500148714e-01f, 3.506936366e-03f, -9.107908607e-02f, + 1.230698079e-01f, 8.568240702e-02f, -4.381092265e-02f, -6.281337142e-02f, + 6.186858751e-03f, 8.552871644e-02f, -9.152282029e-02f, -6.027390435e-02f, + -7.700845599e-04f, -1.088511646e-01f, 7.767348737e-02f, -1.493234038e-01f, + 1.225495338e-02f, 7.997042686e-02f, -4.977810755e-02f, -7.994674146e-03f, + -1.592095569e-02f, 3.897666931e-02f, 5.155787617e-02f, 1.372047067e-01f, + -1.964642294e-02f, -3.810615838e-02f, 3.406805545e-02f, 1.407766938e-01f, + -1.414344609e-01f, 9.213685989e-02f, -3.077572584e-02f, -4.835388064e-02f, + -2.511388808e-02f, -3.166636452e-02f, 3.266292810e-02f, -1.184490100e-01f, + -1.466312557e-01f, -1.741710678e-02f, 1.123822257e-01f, 3.610298783e-02f, + 2.708529867e-02f, -1.197966412e-01f, -1.750025600e-01f, -1.164925396e-01f, + 4.347497597e-02f, -5.455556512e-02f, 6.088977307e-02f, 1.512420177e-01f, + -3.899934515e-02f, 2.213193625e-01f, 1.012411267e-01f, 4.948170111e-02f, + 1.658279151e-01f, -7.008955814e-03f, 1.154728830e-01f, 1.998031735e-01f, + 2.979762619e-03f, -1.729660481e-01f, 1.464711037e-02f, 7.294602692e-02f, + -8.350089192e-02f, 2.938167006e-02f, 4.530756548e-02f, 2.215609103e-01f, + -1.023904793e-02f, -5.565081537e-02f, -7.843169570e-02f, -3.867024556e-02f, + 1.223980933e-01f, 4.682818428e-02f, 1.202944145e-01f, -1.093633994e-01f, + 1.358985007e-01f, -3.384245560e-02f, 1.056837514e-01f, -5.506357923e-02f, + -1.362916976e-01f, 9.100628644e-02f, 3.451230004e-02f, 2.186114527e-02f, + 2.957850322e-02f, -4.146984220e-02f, 3.253015224e-03f, 1.458408087e-01f, + -9.630326182e-02f, -1.257482078e-02f, 1.444483991e-03f, 5.396251753e-02f, + 8.821131289e-02f, 1.354616284e-01f, 5.281541497e-02f, -9.738574177e-02f, + -9.367838502e-02f, -1.725443006e-01f, -1.688797325e-01f, -5.129604787e-02f, + 1.079291105e-01f, 5.195534974e-02f, -6.789381057e-02f, 3.306778520e-02f, + -1.020971388e-01f, -2.697123215e-02f, 1.300699115e-01f, 7.571512368e-03f, + -3.456471488e-02f, -8.980937302e-02f, -5.796855316e-02f, -1.047018468e-01f, + 5.552842468e-02f, 5.928658321e-02f, -1.986239105e-02f, -1.549674869e-01f, + 1.133501306e-01f, 3.036973067e-02f, 7.451078296e-02f, -1.425614231e-03f, + -2.189079300e-02f, 6.788805127e-02f, -8.084186912e-02f, -2.243560739e-02f, + -9.980875999e-02f, -1.071253866e-01f, 6.437963992e-02f, -7.664704323e-02f, + 3.367136419e-02f, 4.305819981e-03f, 1.546476185e-01f, 1.482145675e-02f, + -4.053042084e-02f, -9.282401204e-02f, -9.885510802e-02f, 4.881067201e-02f, + 2.574984916e-02f, 1.074959561e-01f, 3.901559860e-02f, -9.430828504e-03f, + -5.065924302e-02f, -5.656717811e-03f, -4.440632090e-02f, -5.118936300e-02f, + 1.216989309e-01f, 4.312728345e-02f, 1.175222133e-04f, -1.110037640e-01f, + 1.322622895e-01f, -5.904093850e-03f, 1.184862405e-01f, 5.942072719e-02f, + 1.249365360e-01f, -7.080060430e-03f, -3.068250045e-02f, 6.867892295e-02f, + -3.335985169e-02f, 6.996418536e-02f, 1.421831995e-01f, 1.220010873e-02f, + 1.232870519e-01f, 1.151477396e-01f, -7.701876108e-03f, -9.437592700e-03f, + -6.596148014e-02f, -4.522563517e-02f, -2.703206055e-02f, -1.336005777e-01f, + -3.980395198e-02f, -5.514873192e-02f, -1.982515864e-02f, 7.017489523e-02f, + 1.195289493e-01f, -1.128484756e-01f, -7.477245480e-02f, 3.334128857e-02f, + 9.907858819e-02f, -3.204823285e-02f, -6.330861151e-02f, -7.387779653e-02f, + 4.889560118e-02f, 6.366217881e-02f, 8.439605683e-02f, -1.193096042e-01f, + -1.315775961e-01f, 1.212818772e-01f, -2.469860204e-02f, -1.469386071e-01f, + 2.104505450e-01f, -6.423579901e-02f, 8.012031019e-02f, -1.184562743e-01f, + -8.327324688e-02f, -7.944634557e-02f, -8.103623986e-02f, -1.006448641e-01f, + 2.644936182e-02f, -1.502093673e-01f, 1.070183050e-02f, -1.364760101e-02f, + -1.105485037e-01f, -1.127225682e-01f, -1.298905462e-01f, 3.358969092e-02f, + -3.429573029e-02f, -1.191358268e-02f, 1.303654630e-02f, 8.286216110e-02f, + 1.725430251e-03f, -2.046298236e-01f, -1.140646189e-01f, 8.692815900e-02f, + -3.594018146e-02f, -6.384680048e-03f, -5.852465704e-02f, 9.884987958e-03f, + -1.291636825e-01f, 1.775621772e-01f, 5.989360437e-02f, 1.774546206e-01f, + 2.197036892e-02f, -6.101076957e-03f, -7.861164212e-02f, -6.355446577e-02f, + 9.091603756e-02f, -8.709242195e-02f, -6.073208526e-02f, -4.763111100e-02f, + -6.224109791e-03f, 1.292273253e-01f, -2.043717913e-02f, -5.087907985e-02f, + -7.149634883e-03f, 4.217116535e-02f, 6.426074356e-02f, 1.232212633e-01f, + 4.798548296e-02f, -2.230487764e-02f, -1.717505902e-01f, -7.254152000e-02f, + -1.523089260e-01f, -2.820876613e-02f, 2.795960195e-02f, 1.299195085e-02f, + 3.191367537e-02f, 1.730570048e-01f, 1.888178140e-01f, 8.699419908e-03f, + 7.576646656e-02f, 9.992447682e-03f, -3.201900795e-02f, 9.783563763e-02f, + 9.710147046e-03f, -9.717363864e-02f, 5.182871595e-02f, 1.395453364e-01f, + -1.444784552e-02f, -1.102878079e-01f, -2.865375765e-02f, 1.277536601e-01f, + -6.210867316e-03f, -1.196700931e-01f, 6.349904835e-02f, 1.350882053e-01f, + 2.713375911e-02f, -5.524808541e-02f, 1.148708612e-01f, -9.534015507e-02f, + 3.871043772e-02f, 1.240129769e-01f, -1.686876863e-01f, 1.003571376e-01f, + 5.230155960e-02f, -3.820460290e-02f, 4.374023993e-03f, -2.646797337e-02f, + 2.311955579e-02f, 2.204552479e-02f, 9.951583296e-02f, -6.786908954e-02f, + 6.483290344e-02f, 2.879634872e-02f, 2.291561291e-02f, -7.716491073e-02f, + -1.090960875e-01f, 6.735119969e-02f, -4.974724352e-02f, 2.433329122e-03f, + 2.799916081e-02f, -1.237699464e-01f, 1.026139129e-02f, 1.248529404e-01f, + -3.228466958e-02f, -5.202443898e-02f, -1.568997353e-01f, 1.060899440e-02f, + 3.102337942e-02f, 9.040146135e-03f, 1.136427745e-01f, -1.272377521e-01f, + -6.525985897e-02f, 2.260954306e-02f, -1.391197275e-02f, -1.582616419e-01f, + 4.065679386e-02f, 4.582978413e-02f, 3.310893103e-02f, -2.180882841e-01f, + 5.104834959e-02f, 4.219393805e-02f, 1.212054938e-01f, -2.168575972e-01f, + -1.200194936e-02f, -2.418529621e-04f, 1.207175702e-01f, 7.409865409e-02f, + 4.719448742e-03f, 1.199463904e-01f, 1.128241122e-01f, 4.285632446e-02f, + -4.203655198e-02f, -9.015434235e-02f, 4.158278555e-02f, -1.242859941e-02f, + 3.737901896e-02f, 2.516156994e-02f, -1.955329478e-01f, 7.563769072e-02f, + 1.498310734e-02f, -9.466116317e-03f, -5.117245018e-02f, 4.548084736e-02f, + 1.390804201e-01f, -1.307685077e-01f, -3.462024324e-04f, 2.410992607e-02f, + 3.437308222e-02f, -4.555848986e-02f, -1.305792332e-01f, 8.184532821e-02f, + -2.597362734e-02f, -2.436330169e-02f, 2.151771635e-02f, -1.507843286e-01f, + 1.211639270e-01f, -3.176822513e-02f, -7.941690274e-03f, -8.741706610e-02f, + 6.244975608e-03f, -9.806533158e-02f, -8.724574745e-02f, 1.668187417e-02f, + -7.425653934e-02f, 5.900545046e-02f, -3.684846684e-02f, -1.515843421e-01f, + 1.886307262e-02f, 5.897704884e-02f, 5.664583668e-02f, 1.550907828e-02f, + -2.490814775e-02f, 7.064551860e-02f, 2.097794861e-01f, -6.771451980e-02f, + -6.008410081e-02f, -3.809716552e-02f, 1.988324523e-01f, 1.268081218e-01f, + 1.431130990e-02f, -1.677309722e-02f, 4.734658822e-02f, 3.827739134e-02f, + 3.845570236e-02f, 1.247209087e-01f, 1.477557421e-01f, 9.198237956e-02f, + -5.416696146e-02f, 4.135590419e-02f, -3.527541645e-03f, -1.056857705e-01f, + 2.702515721e-01f, 3.862903267e-02f, 5.390003789e-03f, 5.212669447e-02f, + -5.811544135e-02f, 1.351049840e-01f, 7.245282829e-02f, -1.522433013e-01f, + -2.640203387e-02f, -1.336687952e-01f, -1.710491776e-01f, 1.976721920e-02f, + -8.671999723e-02f, -1.203643754e-01f, 1.335179210e-01f, 5.328848213e-02f, + 2.173172310e-02f, 1.519151032e-02f, 5.276677012e-02f, 4.522492737e-02f, + -1.040825341e-02f, 5.030401796e-02f, 1.193927899e-01f, 1.229909807e-02f, + 4.821233451e-02f, -1.783972383e-01f, -6.812971085e-02f, 1.980044693e-01f, + 2.917883173e-02f, 8.898457885e-02f, 4.604060203e-02f, 7.991813868e-02f, + -3.106229380e-02f, -4.399255291e-02f, -1.651830738e-03f, -3.082682937e-02f, + 6.567451358e-02f, -1.073136181e-02f, -5.733856931e-02f, -1.112917513e-01f, + 7.911196351e-02f, -1.739005744e-02f, 5.859799311e-02f, 1.080722827e-02f, + -6.395044271e-03f, -8.366656303e-02f, 5.350962281e-02f, -8.487515152e-02f, + 4.830962978e-03f, 1.280872431e-02f, -7.910075784e-02f, -1.760683022e-02f, + -1.219513174e-02f, 8.037244529e-02f, 4.843002185e-02f, -7.091628760e-02f, + -3.846770525e-02f, 1.057548597e-01f, 1.716943383e-01f, 4.198424518e-03f, + 9.052278101e-02f, 6.981942803e-02f, -1.426135451e-01f, -1.282120794e-01f, + -8.372338861e-02f, 1.287785545e-02f, 3.123397380e-02f, 9.618407488e-02f, + -2.446332127e-01f, -9.919381887e-02f, -1.115116999e-01f, 1.613990404e-02f, + -7.272555679e-02f, -1.190762892e-01f, 2.880593203e-02f, 2.684758976e-02f, + 5.624177679e-02f, -1.224485338e-01f, 3.295990452e-02f, -1.073006690e-01f, + -4.223794118e-02f, 4.442704469e-02f, -1.198507380e-02f, -1.729999296e-02f, + -9.879592806e-02f, -3.743134812e-02f, 2.932859957e-02f, -1.944702268e-01f, + -2.244657464e-02f, -1.514679492e-01f, -6.630612910e-02f, -1.555954963e-01f, + 5.109950900e-02f, -1.434534043e-02f, -2.793146484e-02f, -1.028961036e-02f, + 4.858297762e-03f, -1.449361145e-01f, -4.459712282e-02f, 1.250037253e-01f, + 4.018762335e-02f, 2.449843101e-02f, -9.826093912e-02f, 9.910871834e-02f, + -1.257330775e-01f, -1.686661988e-01f, 8.349891007e-02f, -6.662198156e-02f, + -1.546691656e-01f, -1.615975797e-01f, 2.756201476e-02f, -8.909252286e-02f, + -4.183091223e-02f, 7.368706167e-02f, 4.604851454e-02f, -9.318353981e-02f, + 8.172299713e-04f, 1.805028170e-01f, 8.001868613e-03f, -8.457387984e-02f, + -5.757921934e-02f, -3.268731013e-02f, -8.931501955e-02f, -1.113231480e-01f, + -1.150194462e-02f, -8.734443784e-02f, 5.393001065e-02f, 5.341656506e-02f, + -2.040593512e-02f, -1.068638861e-01f, 1.008464545e-01f, 2.559265122e-02f, + -1.583136618e-01f, -1.496706754e-01f, -2.733937092e-02f, -2.163316868e-02f, + 8.263526112e-02f, -4.985354841e-02f, 5.193412304e-03f, -1.109192520e-01f, + -7.203214616e-02f, 3.240979090e-02f, -5.829036236e-02f, 6.297606230e-02f, + 4.013539851e-02f, 1.947158948e-02f, -3.327488899e-02f, 1.533738971e-01f, + 5.744474009e-02f, 3.615174815e-02f, 3.249989077e-02f, 1.326291561e-01f, + -7.497455925e-02f, 8.193734288e-02f, -7.563412189e-02f, 8.780889958e-02f, + 5.360566452e-02f, -4.849476740e-02f, -5.564142019e-02f, -2.164406329e-01f, + -6.845822185e-02f, -7.952373475e-02f, 9.495833516e-02f, 1.837562025e-02f, + 5.196820945e-02f, -5.621005222e-02f, -1.554930210e-01f, -1.252076179e-01f, + 4.938860610e-02f, -7.710257918e-02f, -3.028756240e-03f, -1.450031698e-01f, + -1.383797973e-01f, -2.026800066e-03f, -2.357444726e-02f, -4.998460785e-02f, + 7.350791246e-02f, -9.731822461e-02f, 1.015710831e-02f, 2.180766016e-01f, + 1.051154546e-02f, -3.595668450e-02f, 4.608718306e-02f, 9.834892303e-02f, + -6.320073456e-02f, 6.470416486e-02f, -7.065483928e-02f, -5.706252065e-03f, + 1.629337519e-01f, 2.390141413e-02f, 4.729678482e-02f, 1.087951958e-01f, + -2.443069369e-01f, 4.317283630e-02f, 1.285422891e-01f, -1.801130772e-01f, + 5.168418586e-02f, -1.087046489e-01f, -1.665554009e-02f, -3.937807679e-02f, + 8.841792494e-02f, 3.949097171e-02f, -4.271214455e-02f, -1.618358493e-01f, + 1.344747096e-01f, -1.022489965e-01f, 1.181067619e-02f, -6.968884170e-02f, + -5.931448936e-02f, -2.390437573e-01f, -8.566264808e-02f, 3.273227811e-02f, + 9.468071163e-02f, 1.434848993e-03f, -9.265470505e-02f, -4.076307639e-02f, + 1.256546080e-01f, -7.371230423e-02f, 6.518506259e-02f, 4.495521635e-02f, + 9.566311538e-02f, 9.028362483e-02f, -1.613536477e-02f, -1.036652401e-01f, + -1.887355372e-02f, 1.458816417e-02f, -1.297749300e-02f, -1.332107633e-01f, + 1.176417321e-01f, 7.969773561e-02f, -8.154140413e-02f, -1.050224435e-02f, + -9.650440514e-02f, 6.306318194e-02f, -3.774948418e-02f, 9.180357307e-02f, + 6.861192733e-02f, 2.652135491e-02f, 1.781183630e-01f, 1.491065472e-01f, + 4.067544639e-02f, -8.079472929e-02f, 9.473185241e-02f, 3.411578014e-02f, + 7.198575186e-04f, -6.479197741e-02f, 4.051968455e-02f, -3.215600550e-02f, + 8.883665502e-02f, 6.025344878e-02f, -4.536867887e-02f, -1.777018160e-01f, + -1.926350221e-02f, -2.814709209e-02f, 3.982837126e-02f, 1.610129327e-02f, + -2.705973759e-02f, 6.256700307e-02f, -1.856927946e-02f, -7.440140843e-02f, + -1.551195532e-01f, -6.922510266e-02f, 6.422951072e-02f, 1.587104499e-01f, + -1.217096969e-01f, 3.236540779e-02f, 1.308501977e-02f, 8.326826245e-02f, + 1.791976765e-02f, 1.365474798e-02f, 8.340181783e-03f, 2.001125365e-02f, + 3.972486407e-02f, -1.026858296e-02f, 3.005211987e-02f, 6.914005429e-02f, + 2.275060862e-02f, -1.129333302e-01f, -1.145028323e-01f, 2.946346626e-02f, + -2.254201099e-02f, 1.179597899e-02f, -2.290817052e-01f, 8.301143534e-03f, + -2.877584472e-02f, 1.096707676e-02f, -4.100043327e-02f, -6.807574630e-02f, + -4.728991166e-02f, 7.055398077e-02f, -2.157737613e-01f, 1.955324262e-01f, + -5.094039813e-02f, -6.751263048e-03f, 1.058760844e-02f, -1.928054169e-02f, + -1.432862948e-03f, 6.238023564e-02f, 6.921932101e-02f, -1.150273383e-01f, + -8.345820010e-02f, 5.489822477e-03f, 1.119098663e-01f, 4.938138276e-02f, +}; diff --git a/ggml/src/ggml-metal/ggml-metal.cpp b/ggml/src/ggml-metal/ggml-metal.cpp index 9382ce53b363..99886b5f5306 100644 --- a/ggml/src/ggml-metal/ggml-metal.cpp +++ b/ggml/src/ggml-metal/ggml-metal.cpp @@ -466,6 +466,86 @@ static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_mapped(int devi return &bufts[device]; } +// host buffer type: shared-storage Metal buffer that also reports is_host=true. +// Tensors allocated through this buft can be operated on by both the Metal +// backend (as a regular MTLBuffer) and the CPU backend (via the host pointer), +// which lets the scheduler fall back to CPU for ops Metal doesn't support +// (e.g. SET_ROWS on TurboQuant types) without losing GPU compute for the rest +// of the graph. + +static const char * ggml_backend_metal_buffer_type_host_get_name(ggml_backend_buffer_type_t buft) { + ggml_backend_metal_buffer_type * ctx = (ggml_backend_metal_buffer_type *)buft->context; + + return ctx->name.c_str(); +} + +static ggml_backend_buffer_t ggml_backend_metal_buffer_type_host_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { + return ggml_backend_metal_buffer_type_alloc_buffer(buft, size, true); +} + +static size_t ggml_backend_metal_buffer_type_host_get_alignment(ggml_backend_buffer_type_t buft) { + return 32; + + GGML_UNUSED(buft); +} + +static size_t ggml_backend_metal_buffer_type_host_get_max_size(ggml_backend_buffer_type_t buft) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)buft->device->context; + + return ggml_metal_device_get_props(ctx_dev)->max_buffer_size; +} + +static size_t ggml_backend_metal_buffer_type_host_get_alloc_size(ggml_backend_buffer_type_t buft, const ggml_tensor * tensor) { + return ggml_backend_metal_buffer_type_get_alloc_size(buft, tensor); +} + +static bool ggml_backend_metal_buffer_type_host_is_host(ggml_backend_buffer_type_t buft) { + return true; + + GGML_UNUSED(buft); +} + +static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_host(int device) { + static std::mutex mutex; + std::lock_guard lock(mutex); + + static std::vector bufts; + static std::vector ctxs; + + static bool initialized = false; + if (!initialized) { + bufts.reserve(g_devices); + ctxs.reserve(g_devices); + + for (int i = 0; i < g_devices; ++i) { + ggml_backend_metal_buffer_type * raw_ctx = new ggml_backend_metal_buffer_type{ + /* .device = */ i, + /* .name = */ GGML_METAL_NAME + std::to_string(i) + "_Host" + }; + ctxs.emplace_back(raw_ctx); + + ggml_backend_buffer_type buft = { + /* .iface = */ { + /* .get_name = */ ggml_backend_metal_buffer_type_host_get_name, + /* .alloc_buffer = */ ggml_backend_metal_buffer_type_host_alloc_buffer, + /* .get_alignment = */ ggml_backend_metal_buffer_type_host_get_alignment, + /* .get_max_size = */ ggml_backend_metal_buffer_type_host_get_max_size, + /* .get_alloc_size = */ ggml_backend_metal_buffer_type_host_get_alloc_size, + /* .is_host = */ ggml_backend_metal_buffer_type_host_is_host, + }, + /* .device = */ ggml_backend_reg_dev_get(ggml_backend_metal_reg(), i), + /* .context = */ raw_ctx, + }; + + bufts.emplace_back(buft); + } + + initialized = true; + } + + return &bufts[device]; +} + // backend static const char * ggml_backend_metal_name(ggml_backend_t backend) { @@ -669,7 +749,7 @@ static void ggml_backend_metal_device_get_props(ggml_backend_dev_t dev, ggml_bac props->caps = { /* .async = */ true, - /* .host_buffer = */ false, + /* .host_buffer = */ true, /* .buffer_from_host_ptr = */ true, /* .events = */ true, }; @@ -708,6 +788,14 @@ static ggml_backend_buffer_type_t ggml_backend_metal_device_get_buffer_type(ggml return props_dev->use_shared_buffers ? ggml_backend_metal_buffer_type_shared(props_dev->device) : ggml_backend_metal_buffer_type_private(props_dev->device); } +static ggml_backend_buffer_type_t ggml_backend_metal_device_get_host_buffer_type(ggml_backend_dev_t dev) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx_dev); + + return ggml_backend_metal_buffer_type_host(props_dev->device); +} + static ggml_backend_buffer_t ggml_backend_metal_device_buffer_mapped(ggml_backend_dev_t dev, void * ptr, size_t size, size_t max_tensor_size) { ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; @@ -729,7 +817,8 @@ static bool ggml_backend_metal_device_supports_buft(ggml_backend_dev_t dev, ggml buft->device == dev && ( buft->iface.get_name == ggml_backend_metal_buffer_type_shared_get_name || buft->iface.get_name == ggml_backend_metal_buffer_type_private_get_name || - buft->iface.get_name == ggml_backend_metal_buffer_type_mapped_get_name); + buft->iface.get_name == ggml_backend_metal_buffer_type_mapped_get_name || + buft->iface.get_name == ggml_backend_metal_buffer_type_host_get_name); GGML_UNUSED(dev); } @@ -793,7 +882,7 @@ static ggml_backend_device_i ggml_backend_metal_device_i = { /* .get_props = */ ggml_backend_metal_device_get_props, /* .init_backend = */ ggml_backend_metal_device_init_backend, /* .get_buffer_type = */ ggml_backend_metal_device_get_buffer_type, - /* .get_host_buffer_type = */ NULL, + /* .get_host_buffer_type = */ ggml_backend_metal_device_get_host_buffer_type, /* .buffer_from_host_ptr = */ ggml_backend_metal_device_buffer_mapped, /* .supports_op = */ ggml_backend_metal_device_supports_op, /* .supports_buft = */ ggml_backend_metal_device_supports_buft, diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 2074211594ce..1b99980b6cec 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -9,6 +9,12 @@ __embed_ggml-common.h__ #include +#if defined(GGML_METAL_EMBED_LIBRARY) +__embed_ggml-metal-turboq-rot.h__ +#else +#include "ggml-metal-turboq-rot.h" +#endif + #ifdef GGML_METAL_HAS_TENSOR #include @@ -7185,6 +7191,181 @@ template [[host_name("kernel_cpy_q5_0_f16")]] kernel cpy_q_f_t kernel_cpy_q_f32< template [[host_name("kernel_cpy_q5_1_f16")]] kernel cpy_q_f_t kernel_cpy_q_f32; template [[host_name("kernel_cpy_q8_0_f16")]] kernel cpy_q_f_t kernel_cpy_q_f32; +// --------------------------------------------------------------------------- +// TurboQuant dequant (TBQ3_0 / TBQ4_0) -> F16 / F32 +// +// Dispatch: one threadgroup per TBQ block, 128 threads per threadgroup. +// tgpig[0] = iw0*ne01 + i01 (iw0 = block index within row) +// tgpig[1] = i02 ; tgpig[2] = i03 +// Per-block: decode codebook indices, apply inverse rotation via +// TURBOQ_QT_128 (Q^T, row-major), norm-correct, write T output. +// --------------------------------------------------------------------------- + +constant float TURBOQ_CB_3BIT[8] = { + -2.1520f, -1.3440f, -0.7560f, -0.2451f, + 0.2451f, 0.7560f, 1.3440f, 2.1520f +}; + +constant float TURBOQ_CB_4BIT[16] = { + -2.7326f, -2.0690f, -1.6180f, -1.2562f, + -0.9424f, -0.6568f, -0.3881f, -0.1284f, + 0.1284f, 0.3881f, 0.6568f, 0.9424f, + 1.2562f, 1.6180f, 2.0690f, 2.7326f +}; + +// scale_down = 1/sqrt(QK_K) = 1/16 +constant float TURBOQ_SCALE_DOWN = 0.0625f; + +template +kernel void kernel_cpy_tbq4_0_t( + constant ggml_metal_kargs_cpy & args, + device const char * src0, + device char * dst, + uint3 tgpig[[threadgroup_position_in_grid]], + ushort tiitg[[thread_index_in_threadgroup]]) { + constexpr short D = 128; + constexpr short QKK = 256; + + const int i03 = tgpig[2]; + const int i02 = tgpig[1]; + const int i01 = tgpig[0] % args.ne01; + const int iw0 = tgpig[0] / args.ne01; + + device const block_tbq4_0 * src_row = + (device const block_tbq4_0 *)(src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01); + device const block_tbq4_0 * blk = src_row + iw0; + + device T * dst_data = (device T *)( + dst + i03*args.nb3 + i02*args.nb2 + i01*args.nb1 + (iw0*QKK)*args.nb0); + + threadgroup float rotated [QKK]; + threadgroup float unit_app[QKK]; + threadgroup float sg_sums[4]; + + const float norm = (float)blk->d; + + // ---- 1. decode 4-bit codebook indices ---- + for (short s = 0; s < 2; ++s) { + const short j = tiitg + s*D; + const uchar byte = blk->qs[j >> 1]; + const uchar idx = (j & 1) ? (byte >> 4) : (byte & 0x0F); + rotated[j] = TURBOQ_CB_4BIT[idx] * TURBOQ_SCALE_DOWN; + } + threadgroup_barrier(mem_flags::mem_threadgroup); + + // ---- 2. inverse rotation per sub-block: unit = Q^T * rotated ---- + // Each thread computes one output element i = tiitg for both sub-blocks. + { + const short i = tiitg; + float acc0 = 0.0f; + float acc1 = 0.0f; + constant float * row = &TURBOQ_QT_128[i*D]; + for (short j = 0; j < D; ++j) { + const float m = row[j]; + acc0 += m * rotated[j]; + acc1 += m * rotated[j + D]; + } + unit_app[i ] = acc0; + unit_app[i + D ] = acc1; + } + threadgroup_barrier(mem_flags::mem_threadgroup); + + // ---- 3. norm correction (re-normalize to unit length, scale by norm) ---- + float part = unit_app[tiitg]*unit_app[tiitg] + unit_app[tiitg+D]*unit_app[tiitg+D]; + float sg_sum = simd_sum(part); + if ((tiitg & 31) == 0) { + sg_sums[tiitg >> 5] = sg_sum; + } + threadgroup_barrier(mem_flags::mem_threadgroup); + float total = sg_sums[0] + sg_sums[1] + sg_sums[2] + sg_sums[3]; + float recon_scale = (total > 1e-20f) ? (norm * rsqrt(total)) : 0.0f; + + // ---- 4. write output ---- + dst_data[tiitg ] = (T)(unit_app[tiitg ] * recon_scale); + dst_data[tiitg + D] = (T)(unit_app[tiitg + D] * recon_scale); +} + +template +kernel void kernel_cpy_tbq3_0_t( + constant ggml_metal_kargs_cpy & args, + device const char * src0, + device char * dst, + uint3 tgpig[[threadgroup_position_in_grid]], + ushort tiitg[[thread_index_in_threadgroup]]) { + constexpr short D = 128; + constexpr short QKK = 256; + + const int i03 = tgpig[2]; + const int i02 = tgpig[1]; + const int i01 = tgpig[0] % args.ne01; + const int iw0 = tgpig[0] / args.ne01; + + device const block_tbq3_0 * src_row = + (device const block_tbq3_0 *)(src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01); + device const block_tbq3_0 * blk = src_row + iw0; + + device T * dst_data = (device T *)( + dst + i03*args.nb3 + i02*args.nb2 + i01*args.nb1 + (iw0*QKK)*args.nb0); + + threadgroup float rotated [QKK]; + threadgroup float unit_app[QKK]; + threadgroup float sg_sums[4]; + + const float norm = (float)blk->d; + + // ---- 1. decode 3-bit codebook indices ---- + // 8 indices packed into 3 bytes (24 bits). For index j, bit offset = j*3. + for (short s = 0; s < 2; ++s) { + const short j = tiitg + s*D; + const int bit = j * 3; + const int byte_idx = bit >> 3; + const int bit_off = bit & 7; + const uint lo = (uint)blk->qs[byte_idx]; + const uint hi = (byte_idx < (QKK*3/8 - 1)) ? (uint)blk->qs[byte_idx + 1] : 0u; + const uint v = lo | (hi << 8); + const uchar idx = (uchar)((v >> bit_off) & 0x7u); + rotated[j] = TURBOQ_CB_3BIT[idx] * TURBOQ_SCALE_DOWN; + } + threadgroup_barrier(mem_flags::mem_threadgroup); + + // ---- 2. inverse rotation ---- + { + const short i = tiitg; + float acc0 = 0.0f; + float acc1 = 0.0f; + constant float * row = &TURBOQ_QT_128[i*D]; + for (short j = 0; j < D; ++j) { + const float m = row[j]; + acc0 += m * rotated[j]; + acc1 += m * rotated[j + D]; + } + unit_app[i ] = acc0; + unit_app[i + D ] = acc1; + } + threadgroup_barrier(mem_flags::mem_threadgroup); + + // ---- 3. norm correction ---- + float part = unit_app[tiitg]*unit_app[tiitg] + unit_app[tiitg+D]*unit_app[tiitg+D]; + float sg_sum = simd_sum(part); + if ((tiitg & 31) == 0) { + sg_sums[tiitg >> 5] = sg_sum; + } + threadgroup_barrier(mem_flags::mem_threadgroup); + float total = sg_sums[0] + sg_sums[1] + sg_sums[2] + sg_sums[3]; + float recon_scale = (total > 1e-20f) ? (norm * rsqrt(total)) : 0.0f; + + // ---- 4. write output ---- + dst_data[tiitg ] = (T)(unit_app[tiitg ] * recon_scale); + dst_data[tiitg + D] = (T)(unit_app[tiitg + D] * recon_scale); +} + +typedef decltype(kernel_cpy_tbq4_0_t) cpy_tbq_t; + +template [[host_name("kernel_cpy_tbq4_0_f16")]] kernel cpy_tbq_t kernel_cpy_tbq4_0_t; +template [[host_name("kernel_cpy_tbq4_0_f32")]] kernel cpy_tbq_t kernel_cpy_tbq4_0_t; +template [[host_name("kernel_cpy_tbq3_0_f16")]] kernel cpy_tbq_t kernel_cpy_tbq3_0_t; +template [[host_name("kernel_cpy_tbq3_0_f32")]] kernel cpy_tbq_t kernel_cpy_tbq3_0_t; + kernel void kernel_concat( constant ggml_metal_kargs_concat & args, device const char * src0, diff --git a/ggml/src/ggml-turboq.c b/ggml/src/ggml-turboq.c index 87865d63fb02..af41ce72f224 100644 --- a/ggml/src/ggml-turboq.c +++ b/ggml/src/ggml-turboq.c @@ -200,6 +200,54 @@ static const float * turboq_get_rotation(int64_t d, uint64_t seed) { } } + // One-shot dump for Metal shader embedding. Set TURBOQ_DUMP_Q= in + // the environment to dump the Q matrix (and its transpose in row-major + // form, which is the layout the Metal dequant kernel consumes) to a C + // header. This lets us bake Q into the shader as a `constant` array and + // avoid per-dispatch buffer binding. Safe to leave in; only fires when + // the env var is set and the dimension matches TURBOQ_KV_DIM. + if (d == 128) { + const char * dump_path = getenv("TURBOQ_DUMP_Q"); + if (dump_path != NULL && dump_path[0] != '\0') { + FILE * f = fopen(dump_path, "w"); + if (f != NULL) { + fprintf(f, "// Auto-generated by ggml-turboq.c (TURBOQ_DUMP_Q=1).\n"); + fprintf(f, "// TurboQuant 128x128 rotation matrices, baked for Metal shaders.\n"); + fprintf(f, "// Seed: 0x%016llx\n\n", (unsigned long long)seed); + fprintf(f, "#pragma once\n\n"); + // M = Q^T in row-major: M[i*d + j] = Q[j,i]. In the CPU's + // column-major tl_Q layout, Q[j,i] lives at tl_Q[j + i*d], + // so M[i*d + j] = tl_Q[j + i*d]. Also note this layout gives + // each Metal thread i a contiguous d-float row to dot against + // `rotated` for the inverse-rotation step. + fprintf(f, "constant float TURBOQ_QT_128[128 * 128] = {\n"); + for (int64_t i = 0; i < d; i++) { + for (int64_t j = 0; j < d; j++) { + float v = tl_Q[j + i * d]; + fprintf(f, " %.9ef,", v); + if ((j & 3) == 3) fprintf(f, "\n"); + } + } + fprintf(f, "};\n\n"); + // Also emit the forward (Q row-major) matrix for SET_ROWS, so + // Stage 2 can reuse the same header. + fprintf(f, "constant float TURBOQ_Q_128[128 * 128] = {\n"); + for (int64_t i = 0; i < d; i++) { + for (int64_t j = 0; j < d; j++) { + float v = tl_Q_row[i * d + j]; + fprintf(f, " %.9ef,", v); + if ((j & 3) == 3) fprintf(f, "\n"); + } + } + fprintf(f, "};\n"); + fclose(f); + fprintf(stderr, "turboq: dumped rotation matrices to %s\n", dump_path); + } else { + fprintf(stderr, "turboq: TURBOQ_DUMP_Q set but fopen failed\n"); + } + } + } + free(A); return tl_Q; } diff --git a/src/llama-kv-cache.cpp b/src/llama-kv-cache.cpp index aa9375f1fb80..bca0131ab094 100644 --- a/src/llama-kv-cache.cpp +++ b/src/llama-kv-cache.cpp @@ -189,7 +189,26 @@ llama_kv_cache::llama_kv_cache( ggml_backend_buffer_type_t buft = ggml_backend_cpu_buffer_type(); - if (offload) { + // TurboQuant (TBQ*) KV types have no Metal SET_ROWS kernel yet. + // If the device exposes a host buffer type (e.g. Metal unified memory + // on Apple Silicon), allocate the KV cache there: tensors live in a + // shared-storage MTLBuffer that is both a real device buffer (so the + // Metal backend can claim the TBQ -> F16 dequant cpy) and host-visible + // (so the CPU backend can claim SET_ROWS, which is F32 -> TBQ quantize). + // If no host buffer type is available, fall back to CPU buffer, keeping + // the whole KV path on CPU. + const bool tbq_kv = + type_k == GGML_TYPE_TBQ3_0 || type_k == GGML_TYPE_TBQ4_0 || + type_v == GGML_TYPE_TBQ3_0 || type_v == GGML_TYPE_TBQ4_0; + + if (tbq_kv) { + auto * dev = model.dev_layer(il); + ggml_backend_buffer_type_t host_buft = ggml_backend_dev_host_buffer_type(dev); + if (host_buft != nullptr) { + buft = host_buft; + dev_name = ggml_backend_dev_name(dev); + } + } else if (offload) { auto * dev = model.dev_layer(il); buft = ggml_backend_dev_buffer_type(dev);